AU Val and AU's with UI
AU Val and AU's with UI
- Subject: AU Val and AU's with UI
- From: William Stewart <email@hidden>
- Date: Wed, 9 Feb 2005 18:07:37 -0800
First some background.
auval was deliberately built as a command line utility to emphasise the
fact that we expect AU implementations to have no direct dependency on
UI frameworks - this has been an intrinsic part of the AU specification
from day 1, with a completely separate body of code for UI. This has of
course been discussed many times on this list - the importance of
sharing this pointers, etc...
One of the problems that was encountered by the Logic team as they
integrated auval within their application was the fact that some AU's
will directly invoke UI code when they are either opened or
initialized. In some cases this is ok, but in other cases where the UI
is a modal dialog (a standard alert for instance), it can be deadly as
the auval process will just stall, and because auval is a command line
utility, not a UI app, there is no way for a user to click through a
dismiss the dialog.
Typically, the kind of dialog being displayed has to do with copy
protection. So, we can understand both the necessity for handling this
issue as well as the fact that this might escape in-house testing (at
least by engineers writing the code, as they likely don't run against a
copy protected version).
We are loathe to change auval - and would reinforce with AU developers
that we continue to want to see no UI frameworks/dependencies in the
actual AU itself. We also understand that we are hopeless idealists,
don quixote's, but we will continue to dream.
An approach we'd like to encourage companies to consider when they have
to provide visual feedback to the user is:
(1) Have the AU fall into a silent mode - it does nothing, but it does
open (unless of course there is something fatally wrong)
(2) We're more than happy to describe some expected host behaviours for
the kAudioUnitErr_Unauthorised
- for instance, this could be returned from Initialize - the host
knows the AU can't be used to render, but it also knows that it should
present the UI to the user so that:
(3) Have the AU's UI components be the only place where an AU presents
UI to the user.
I believe for compatibility reasons that Logic will continue to provide
a workaround as it does today so that existing AU's will continue to
work during its launch process - and thus allows users to click through
and dismiss alert panels as needed.
auval as a tool, will continue also to exist as it does today - please
test against this with the actual install options where you might have
copy protection info, etc to communicate.
Thanks - interested in comments and thoughts on this matter.
Bill
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden