Hi!
I am observing a discrepancy between the channel configurations I allow using isBusesLayoutSupported and the channel layouts reported by auval.
I started with a blank audio plugin project for investigating the issues I’m having. The plugin is a synth with MIDI input, I’m using JUCE 5.1.1.
I want to have one output bus which supports only Quadraphonic or 5.1. auval reports more/different configurations though, and I can’t figure out why.
Processor c’tor:
ChannelConfigTestPluginAudioProcessor::ChannelConfigTestPluginAudioProcessor()
: AudioProcessor (BusesProperties().withOutput ("Output", AudioChannelSet::quadraphonic(), true))
{
}
isBusesLayoutSupported:
bool ChannelConfigTestPluginAudioProcessor::isBusesLayoutSupported (const BusesLayout& layouts) const
{
if ( layouts.getMainOutputChannelSet() != AudioChannelSet::quadraphonic()
&& layouts.getMainOutputChannelSet() != AudioChannelSet::create5point1())
return false;
return true;
}
auval output (excerpt - everything passes):
FORMAT TESTS:
Reported Channel Capabilities (explicit):
[0, 4] [0, 6]
No Input, Output Chans:
0-1 0-2 0-4 0-5 0-6 0-7 0-8
X X
# # AudioChannelLayouts (6), Output Scope:
ChannelLayout is Writable: T
The Unit publishes the following Channel Layouts:
0x790006, 0x6C0004, 0x7A0006, 0x7B0006, 0x7C0006, 0x840004,
Is Audio Channel Layout Available:
Mono Stereo Binau. AU_4 Ambi. AU_5 AU_5_0 AU_6 AU_6_0 AU_7_0 AU_7_0F AU_8 AU_5_1 AU_6_1 AU_7_1 AU_7_1F
X X X X
So, auval is telling me that Ambisonics, 6.1 and 7.1 are supported. Quad is correct. No checkmark at 5.1.
I also observed that when I try to instantiate the plugin using aulab on a 5.1 track, it only offers me the 4 channel configuration.
As a sanity check I tested with the old channel config API as well (providing a list of possible in/outs in projucer). This works as expected, but lacks the speaker configuration info, so I’d really prefer to use the new API.
Maybe anyone here can shed some light on that?
Thanks!
PS: Great Job on JUCE 5.1.1