Re: Audio Units - newbie questions
Re: Audio Units - newbie questions
- Subject: Re: Audio Units - newbie questions
- From: William Stewart <email@hidden>
- Date: Mon, 10 Oct 2005 12:54:03 -0700
On 10/10/2005, at 9:38 AM, Muon Software Ltd - Dave wrote:
Dear list,
I'm currently working on porting four of our VST instruments to AU
format
from VSTi. I've managed to make significant headway - got a pretty
much
functioning audio unit running in Garageband for example - but
there are
some gaps in my understanding of AU's in general that are stopping
my code
from passing auval.
1. My AU (a software synth, derived from MusicDeviceBase) can use a
mono
channel, a stereo channel or four stereo pairs as outputs. How
should I
specify my supported configurations?
Presuming you have no inputs:
{ 0, 1 } { 0, 2 }
I'd probably just create the AU with the 4 outputs, all stereo, and
leave it at that. You should then also accept a mono or stereo output
on any of the outputs.
2. auval doesn't appear to call Initialize() at any point - I
understand
that I shouldn't do heavyweight initialisation during the
constructor, so I
assumed it should go in Initialize(). Should I override
PostConstructor()
instead?
That's incorrect - it calls Initialize everywhere - You can easily
see this if you use the DebugDispatcher AU in the SDK and run it
through auval.
3. Is there a list of mandatory property IDs I should explicitly
support in
GetPropertyInfo()? so far I've only got
kAudioUnitProperty_ParameterValueName
That's not mandatory. In fact, all of the mandatory properties are
fully supported in AUBase, so subclasses are only required to
support the features that they want to add.
4. I'm confused as to the purpose of
overriding ::GetParameterValueStrings()
as opposed to implementing kAudioUnitProperty_ParameterValueName in
GetProperty - do they do different things? it certainly seems like
it as the
function appears to return an array of strings in response to a
single input
parameter ID...
Two different target usage - and some archeological layers.
GetParameterValueStrings is designed to provide support for indexed
parameters where each param value is a string - in a generic view
this allows the parameter to be represented as a menu list.
Then we added generic values/strings services - that would also allow
just some specific values to have strings, otherwise its a literal
translation - for instance, a dB parameter where values below -120dB
should be presented as -inf
5. Is supporting slice based rendering and scheduled parameters
mandatory or
optional?
optional
Bill
Thanks for any help!
Kind regards
Dave Waugh
Muon Software Ltd
www.muon-software.com
_______________________________________________
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
--
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
________________________________________________________________________
__
_______________________________________________
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