Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AU Val and AU's with UI



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:
http://lists.apple.com/mailman/options/coreaudio-api/email@hidden

This email sent to email@hidden


Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.