Writing an AudioUnit (was: Simple VST to AU)
Writing an AudioUnit (was: Simple VST to AU)
- Subject: Writing an AudioUnit (was: Simple VST to AU)
- From: Bill Stewart <email@hidden>
- Date: Sat, 1 Mar 2003 18:21:12 -0800
You should be able to sort this out using the SampleEffectUnit in the
CoreAudio SDK
Even though - and I'm going to say this to *anyone* who has VST
plugins:) - you might have more background with VST, I think the
SampleEffectUnit is both simple and complete enough to understand what
is needed to bring your DSP up as an AU.
If its not and there are things we can add to make it easier - please
let us know.
Then - testing it is even easier!
Run your AU in AudioUnitHosting - it will automatically use the
GenericUI that we ship with the OS, if you don't provide your own. That
tells you if you've published your parameters correctly.
AUHosting (and PlayEffect) *also* will give you events correctly, and
both also show you the code involved in hosting an AU if you are
interested or have a need to look at it from the outside...
AUHosting can also be configured to host a MusicDevice type of AU (and
in that case it will take either/both MIDI files AND MIDI input from
MIDIEndpoints)
The PlayEffect code in the SDK is also very similar to AUHosting -
there the emphasis is on processing audio input only...
Now - we consider those two apps a reasonable validation that your AU
is behaving correctly. (both the AU itself and if you provide it a
custom UI component)
If there are discrepancies between how your audio unit behaves in
AUHosting or PlayEffect and *any* other hosting app, then our first
inclination will be to consider that a problem or idiosyncracy (like my
spelling) IN THE HOSTING APP! Something, you might decide to work
around, or might not!
We've been going through some clarification on some subtleties on AU
hosting, and will have a revised SDK out soon that is more consistent
in the application of those practices than previous releases (but those
previous releases are pretty reasonable)... As we find issues we will
of course address them.
I want to be clear here - it is our intention that these SDK examples
become a means for you to validate that your AU is "correct"... and our
other aim of course, is to make this as clear and concise with working
code about what is expected from hosts.
Oh - whilst on this topic, seeing you mentioned it anyway, I'll have
more to say about AU and Cocoa UIs soon - stay tuned:)
Bill
On Saturday, March 1, 2003, at 09:07 AM, Jeff DuMonthier wrote:
I have a 'simple' VST plugin effect I would like to make into an AU.
The DSP is not really simple, but the interface is. It consists of a
C++ DSP engine with a VST 'wrapper' class around it that uses only the
default VST interface. There is no custom GUI. I am wondering if it
would be better to write a 'simple' AU wrapper around the engine or to
use the Emagic VST porting SDK to put an AU wrapper around the VST
wrapper. One key factor is whether or not there is a default user
interface for AU's like there is for VST. There was a rather lively
discussion here about Carbon vs. Cocoa and the inability to use a
Cocoa interface with an AU. I have not done Mac UI programming since
the days of the Think class library. I don't know Cocoa or Carbon,
but if I need to learn one or the other it is going to be Cocoa. If
even a simple AU requires writing a Carbon UI then my question becomes
how can I get the Emagic porting SDK? If not, then I guess I should
try wading through the AU documentation again. Hopefully the correct
version was installed with the latest version of the developer tools.
-Jeff DuMonthier
_______________________________________________
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.
--
mailto:email@hidden
tel: +1 408 974 4056
________________________________________________________________________
__
"Much human ingenuity has gone into finding the ultimate Before.
The current state of knowledge can be summarized thus:
In the beginning, there was nothing, which exploded" - Terry Pratchett
________________________________________________________________________
__
_______________________________________________
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.