Dealing with Channel Order in my Effect AudioUnits
Dealing with Channel Order in my Effect AudioUnits
- Subject: Dealing with Channel Order in my Effect AudioUnits
- From: Motti Shneor <email@hidden>
- Date: Tue, 19 Aug 2008 16:59:18 +0300
Hello all.
I'm new to AudioUnits, so please pardon my first introductory questions.
I'm enhancing a set of AudioUnit Effect plugins to support
Multichannel-Surround processing within the Logic Audio Host.
Our AudioUnits are implemented so that a single channel-configuration
is supported by one component. For the same processing core, we
create different 'thng's for
Mono->Mono
Mono->Stereo
Mono->5.1
Stereo->5.1
Mono->5.1
5.1->5.1
etc.
All Our AudioUnits derive from the AUMIDIEffectBase SDK class, but
overrides several AUBase methods as well.
The Surround-processing DSP code within out audio units NEEDS TO KNOW
the channel order and labels, meaning, LFE is processed differently
than Ls, and there are inter-channel influences which take into
account the specific channel label.
My first question is general.
1. In the CoreAudio system, should an effect unit publish its
preferred input and output channel order, or should it cope with
arbitrary channel order in the input and output ?
Now - depending on the answer to that,
2 If I can "demand" a specific channel order (or one of several
supported channel orders), How do I specify it? And is it the role of
the host to provide me the right channel order?
3 If I need to cope with arbitrary channel order in the input an output,
3.1 How do I inspect the channel order in my input and output
elements? I've seen several interchanging specification ways -
via ChannelBitmap, via AudioChannelLayoutTag Constants such as
kAudioChannelLayoutTag_Binaural, kAudioChannelLayoutTag_MPEG_5_0_C
kAudioChannelLayoutTag_ITU_1_0 etc. and via the channel labels that
should be in the Element Info structures.
3.2 Can the channel order change between calls for processing, or is
it set once when initializing the AU (in other words, do I need to
map input/output channels every time I'm called to render audio, or
should I do my mapping only once in the initialization.
Thanks a lot!
Motti Shneor
Senior Software Engineer
-----------------------------------
Waves Audio Ltd
Tel: +972 3 608 4155
www.waves.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