Implementing side-chain on my MidiEffect
Implementing side-chain on my MidiEffect
- Subject: Implementing side-chain on my MidiEffect
- From: Motti Shneor <email@hidden>
- Date: Sun, 28 Sep 2008 16:35:40 +0300
Hello everyone.
I'm trying to extend our AU MidiEffect Plugin to support side-chains.
Our plugins can have one or two side-chain input busses, each
containing one mono channel of audio, at the same format as the main-
input audio bus.
I have created the right number of buses, and gave each the right
Format and AudioChannelLayout. Here's an excerpt from the auVal test
of my plugin.
VERIFYING DEFAULT SCOPE FORMATS:
Input Scope Bus Configuration:
Default Bus Count:3
Bus Name: Main Input Bus
Format Bus 0: AudioStreamBasicDescription: 2 ch, 44100 Hz,
'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Bus Name: Side Chain 1
Format Bus 1: AudioStreamBasicDescription: 1 ch, 44100 Hz,
'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Bus Name: Side Chain 2
Format Bus 2: AudioStreamBasicDescription: 1 ch, 44100 Hz,
'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Bus 0, Has Channel Layouts: 0x650002 0x660002 0x6A0002
Default Layout (bus 0):
Tag=0x650002, Num Chan Descs=2
Label=-1, Flags=0x0, [az=0.000000,el=0.000000,dist=0.000000]
Label=-1, Flags=0x0, [az=0.000000,el=0.000000,dist=0.000000]
Bus 1, Has Channel Layouts: 0x640001
Default Layout (bus 1):
Tag=0x640001, Num Chan Descs=1
Label=-1, Flags=0x0, [az=0.000000,el=0.000000,dist=0.000000]
Bus 2, Has Channel Layouts: 0x640001
Default Layout (bus 2):
Tag=0x640001, Num Chan Descs=1
Label=-1, Flags=0x0, [az=0.000000,el=0.000000,dist=0.000000]
Output Scope Bus Configuration:
Default Bus Count:1
Bus Name: Main Output Bus
Default Format: AudioStreamBasicDescription: 2 ch, 44100 Hz,
'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Has Channel Layouts: 0x650002 0x660002 0x6A0002
Default Layout:
Tag=0x650002, Num Chan Descs=2
Label=-1, Flags=0x0, [az=0.000000,el=0.000000,dist=0.000000]
Label=-1, Flags=0x0, [az=0.000000,el=0.000000,dist=0.000000]
* * PASS
--------------------------------------------------
(stereo in, stereo out, 2 mono side-chain inputs).
However I encounter 2 problems:
1. I cannot figure out what to do in my
OSStatus CWSAU::ProcessBufferLists(
AudioUnitRenderActionFlags & ioActionFlags,
const AudioBufferList & inBuffer,
AudioBufferList & outBuffer,
UInt32 inFramesToProcess)
override of AUEffectBase::ProcessBufferList() method. When I get
there while auval is testing me (rendering audio), I get
inBuffer = {mNumberBuffers = 2, mBuffers = {{mNumberChannels = 1,
mDataByteSize = 2048, mData = 0x18e7400}}}
outBuffer = {mNumberBuffers = 2, mBuffers = {{mNumberChannels = 1,
mDataByteSize = 2048, mData = 0x34000}}}
which means I only get 2 channels of input audio --- where have the
side-chain inputs dissapear?
2. When I use the plugin in a LogicAudio session, I don't get the
menu that allows selection of input busses. What Did I miss in my
implementation?
thanks a lot!
Motti Shneor
Waves Audio
_______________________________________________
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