JUCE develop VST 3.7.8 unexpected AudioChannelSet for high-order Ambisonics

I’m updating my plugins to take advantage of the new 4th - 7th order Ambisonics speaker arrangements in VST 3.7.8 (currently implemented on develop branch). But, there appears to be an issue with how the VST3 SpeakerArrangements are converted into AudioChannelSets.

This is a simplified version of the bus layout check in my processor:

bool MyAudioProcessor::isBusesLayoutSupported (const BusesLayout& layouts) const
{
     const auto inChannelSet = layouts.getMainInputChannelSet();
     return inChannelSet == AudioChannelSet::ambisonic(5);
}

However, when the plugin host attempts to call setBusArrangements() with kAmbi5thOrderACN, the above comparison for the Ambisonics channel set fails. Instead, the AudioChannelSet I am seeing is a discrete layout with 36 channels.

I’m seeing this behavior when testing with the JUCE plugin host.

Is this a bug or am I misunderstanding something?

Thanks for reporting, this was indeed a bug. It should be fixed here:

1 Like

Thanks for the quick fix -appears to work as expected on my end.