First you'd need to set up a sequence so that the master audio track is multichannel:
Then, in an exporter, use the latest version of the Sequence Audio Suite (currently that's version 2, added in CC 2015). The MakeAudioRenderer() call takes an inNumChannels value, and a PrAudioChannelLabel parameter. So if the exporter parameter UI shows a 7.1 option, and the user selects that, then set inNumChannels = 8 and pass in the same sized array of PrAudioChannelLabels.
> MakeAudioRenderer() call takes an inNumChannels value, and a PrAudioChannelLabel parameter
Can I use this for stereo and 5.1 too, then, so there is only one code path?
What are the labels? Are those input or output parameters?
Yes, you can use it for stereo and 5.1 too.
The labels are input parameters.
> The labels are input parameters.
So, "Front Left", "Front Right", etc? Is there a way to query the names, if I don't care and just want the linear order of the tracks in the master Multichannel track?
Oh, also, is there a way to get the count of tracks in the master multichannel track, so I can offer a reasonable default?
Yes, you can call PrSDKExportInfoSuite->GetExportSourceInfo() with kExportInfo_NumAudioChannels
I don't think there is a query for the names.
> I don't think there is a query for the names.
How do I get them then? Do I have to ask the user to supply matching names for the up-to 32 input channels???
> The PrAudioChannelLabels are input parameters.
Are there numeric input channel labels? I just want to be able to export up to the 32-bit tracks that they might have in a sequence - the ones beyond 7.1 could be anything? Or are the label names in the audiochannellabel enum in audio track order? Basically, say they have 32-audio channels, how do I pull all of those out?
It looks like if I pass an array of 32 values of kPrAudioChannelLabel_Discrete, I get the 32 individual channels - is this correct?