I noticed that the setSpeakerArrangement method is never called in the AAX wrapper. Wouldn't it make sense to parse the stem formats and call this method in the preparePlugin method? I wrote the following method to create a VST style speaker arrangement string from the stem format definition in the AAX SDK:
String getSpeakerArrangementString (AAX_EStemFormat stemFormat)
{
switch(stemFormat) {
case AAX_eStemFormat_Mono:
return "M";
case AAX_eStemFormat_Stereo:
return "L R";
case AAX_eStemFormat_LCR:
return "L C R";
case AAX_eStemFormat_LCRS:
return "L C R S";
case AAX_eStemFormat_Quad:
return "L R Ls Rs";
case AAX_eStemFormat_5_0:
return "L C R Ls Rs";
case AAX_eStemFormat_5_1:
return "L C R Ls Rs LFE";
case AAX_eStemFormat_6_0:
return "L C R Ls Cs Rs";
case AAX_eStemFormat_6_1:
return "L C R Ls Cs Rs LFE";
case AAX_eStemFormat_7_0_SDDS:
return "L Lc C Rc R Ls Rs";
case AAX_eStemFormat_7_1_SDDS:
return "L Lc C Rc R Ls Rs LFE";
case AAX_eStemFormat_7_0_DTS:
return "L C R Lss Rss Lsr Rsr";
case AAX_eStemFormat_7_1_DTS:
return "L C R Lss Rss Lsr Rsr LFE";
default:
return "";
}
}
I then added this line in the preparePlugIn method of the AAX wrapper:
audioProcessor.setSpeakerArrangement (getSpeakerArrangementString (inputStemFormat), getSpeakerArrangementString (outputStemFormat));
Stian