VST3 Bus Layout Issue

Hi there,

I am currently trying to port VST2 plug-ins to VST3. I am using JUCE and I test with REAPER.

The plug-ins are Ambisonic plug-ins up to 7th order (64 channels of audio), and one of them also supports encoding up to 64 audio signals into Ambisonics. So what I did with VST was creating a bus layout ‘discreteChannels(64)’ for both input and output, as there is not yet a 7th order Ambisonic layout defined in VST3.

There are now two problems when I create a VST3 plug-in with it:

  1. the default channel layout must not be a discrete layout, at least, that’s what JUCE tells me with an assertion
  2. REAPER will only give 24 channels of audio, despite of 64 channels bus width. Seems to me that this is a 22.2 loudspeaker layout.

I am not sure if this is an issue with the VST3 standard, JUCE’s wrappers, or in this case REAPER. However, in MAX8 I get 32 channels, not more.

When I add another input or output bus to my plug-in, I get 48 channels in REAPER: 2 * 24.

So my questions:
How would I set up the plug-in’s supported channel layout to support up to 64 channels for each input and output? The inputs are indeed discrete channels, as they don’t have to be a standard layout.
Is this something I can’t do with VST3 as the standard layouts are somehow important to use? (see JUCE assertion). Or is this just a problem with JUCE and/or REAPER?

It worked very well with VST2 by the way. Reaper giving me up to 64 channels, no problem with discrete layouts. I am having quite a hard time figuring out what the actual problem is, if it’s the SDK, my code, JUCE or simply the DAWs not yet fully supporting VST3?


hi daniel

see this… VST3 HOA Support > 3rd order - VST 3 SDK - Steinberg Forums

I really hope this gets fixed… even more urgent now VST2 is killed off.