We’ve recently updated to 4.2.3 because of the fix for graphics on El Capitan.
However since the update (We’ve tracked it down, the last 4.1 build didn’t have this problem, the first 4.2.3 build does), the AAX wrapper does not seem to have the channel order right.
We’re adding a sidechain input in the processor’s constructor:
busArrangement.inputBuses.add(AudioProcessorBus("Sidechain", AudioChannelSet::mono()));
if(wrapperType == wrapperType_VST)
busArrangement.outputBuses.add(AudioProcessorBus("Sidechain", AudioChannelSet::mono()));
And we’ve overidden setPreferredBusArrangement() in our processor:
bool PluginProcessor::setPreferredBusArrangement(bool isInputBus, int busIndex, const AudioChannelSet& preferredSet)
{
DBG(String("setPreferredBusArrangement: ") + ((isInputBus)? "input" : "output") + String(busIndex) + " = " + String(preferredSet.getSpeakerArrangementAsString()));
if(busIndex) //sidechain input
{
if(wrapperType == wrapperType_VST && preferredSet != AudioChannelSet::mono())
return false; //VST2 sidechain always mono and enabled
DBG(String(preferredSet.size()) + " sidechain channels");
}
else //main input/output
{
if(preferredSet == AudioChannelSet::mono())
{
DBG(String("mono ") + ((isInputBus)? "input" : "output"));
}
else if(preferredSet == AudioChannelSet::stereo())
{
DBG(String("stereo ") + ((isInputBus)? "input" : "output"));
}
else
{
return false;
}
}
//when accepting a layout, always fall through to the base class
return AudioProcessor::setPreferredBusArrangement(isInputBus, busIndex, preferredSet);
}
As it appears to us, the AAX wrapper now seems to interpret our channel config as “left, center (mono), right” instead of “left, right and sidechain” which causes our stereo effect plug-in to ‘mute’ the right channel.
Can you confirm that this is a bug in the 4.2.3 wrapper?