Re: Garageband 3/audio units odd behaviour
Re: Garageband 3/audio units odd behaviour
- Subject: Re: Garageband 3/audio units odd behaviour
- From: Rick Sustek <email@hidden>
- Date: Wed, 7 Feb 2007 13:07:00 -0800
Understood, but that design makes an assumption that the host knows
better
than the AU when audio might need to be rendered.
Well, not so much an assumption, but more of a defined role.
The defined role of the plugin, is to hook into an audio stream and
do something useful with it. The fact that a plugin can exhibit a GUI
at all, is really just fluff, to make it easier to modify the
parameters of the processing.
The fact is, a plugin is simply a code extension to some other
running process. As such, it can be compiled against any of the
application libraries and frameworks, and do almost anything it
wants. For example, it could create more threads and even create new
windows, instead of using the window provided by the hosting app.
It is certainly arguable that your feature of providing "browsing and
previewing" is outside the established role of what an audio plugin
should do, but let's not! ;-)
So to get your feature, there is nothing stopping you from launching
a new thread, and opening your own instance of the chosen audio
output device, and playing out some sound. With a few tricks, you
could even run the sound through the processing code of your plugin,
so that the preview would be modified accordingly. What you would not
be able to do, is to also hear the effect of any plugins that were
down stream from yours, since their processing is associated to the
host's thread, not yours.
BTW, you mention AU Lab as a host that doesn't exhibit the problem.
But, if you click on the little waving icon, you can stop the audio
processing thread, and indeed see the same problem there!
Have fun,
-Rick
_______________________________________________
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