• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: AUGraphInitialize in audio thread
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AUGraphInitialize in audio thread


  • Subject: Re: AUGraphInitialize in audio thread
  • From: Brian Willoughby <email@hidden>
  • Date: Wed, 16 Apr 2003 18:52:15 -0700

Hello,

Just to be clear, when I mentioned "breaking the paradigm" I wasn't talking
about literally breaking specific functionality. I was referring to standard
coding practices for units similar to AudioUnits. It's a really good idea to
not go outside the constraints of the AudioUnit API. This is a bit vague,
since I suppose it wasn't specifically written that you aren't supposed to pop
up an alert panel inside your DSP code.

AudioUnits have a clear separation between the UI half and the DSP half.
Therefore, the DSP half should not do anything with UI, including alert panels.

As far as what functionality besides UI might break, it really depends upon
what you're attempting, and what context your code is in. See the CoreAudio
AudioUnits documentation for more information. I believe the documentation is
being improved as these new issues come up.

Brian Willoughby
Sound Consulting


Begin forwarded message:

Date: Thu, 10 Apr 2003 12:31:58 +0100
From: "Angus F. Hewlett" <email@hidden>
Subject: Re: AUGraphInitialize in audio thread

At 02:30 PM 4/9/2003 -0700, Brian Willoughby wrote:

>Considering your needs - to alert the user about insufficient licensing -
>perhaps CoreAudio should allow for an exception to be raised, or add a
unique
>return code to indicate licensing restrictions. It would be up to the
host app
>to display the text of the exception, or to interpret the return code.
>
>It's a very common and powerful design principle to create code units which
>have no UI. This technique allows them to be used in many more ways than
>initially predicted. Breaking the paradigm by popping up alert panels is
>probably something that will restrict the flexibility of AudioUnits.

I must say, I have some reservations about this. Specifically, what other
classes of functionality besides UI might break or be unsafe in these other
uses? Or is it -only- UI that's affected?

Also, is this restricted to Initialize(), or does it apply to constructors
as well?

Finally, with regard to error messages, how about a Property for "last
error message". So, whenever the plug returns an error, it can set the
contents of a text buffer (or even a more detailed structure) internally,
which the host can receive via a GetProperty() call.

Regards,
Angus.
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.

  • Follow-Ups:
    • Re: AUGraphInitialize in audio thread
      • From: "Angus F. Hewlett" <email@hidden>
References: 
 >Re: AUGraphInitialize in audio thread (From: "Angus F. Hewlett" <email@hidden>)

  • Prev by Date: MuscPlayerPreroll and MacOS 10.2.5
  • Next by Date: Re: Cocoa View Info?
  • Previous by thread: Re: AUGraphInitialize in audio thread
  • Next by thread: Re: AUGraphInitialize in audio thread
  • Index(es):
    • Date
    • Thread