[SOLVED] Plugin buses layout assertion failure

My instrument plugin is crashing in AudioProcessor::setBusesLayout with

    jassert (arr.inputBuses. size() == getBusCount (true)
          && arr.outputBuses.size() == getBusCount (false));

The input buses are 0 while the getBusCount (true) is 1.

I have {0,2} in Projucer Plugin Channel Configuration if that’s relevant, and i’m not overriding isBusesLayoutSupported. Everything has worked for years, but with JUCE 7 this is happening in both Reaper and Cubase and only in Windows VST3.

What has changed and how should i try to fix this? Any help greatly appreciated.

1 Like

This looks like a small bug in the VST3 wrapper, which happens because the JUCE AudioProcessor has a zero-channel input bus, but the VST3 itself doesn’t expose empty buses.

That should be fixed here:

Ok, thanks for the quick fix!

Is this something that happens only with the Projucer {0,2} style channel configuration and could be avoided by overriding isBusesLayoutSupported?

1 Like