checkBusFormatsAreNotDiscrete should return true when buses are disabled


#1

I get a jassert failed when testing my VST3 plugin in Dorico, on this line:

// VST-3 requires your default layout to be non-discrete!
// For example, your default layout must be mono, stereo, quadrophonic
// and not AudioChannelSet::discreteChannels (2) etc.
jassert (checkBusFormatsAreNotDiscrete());

It turns out some buses are disabled by Dorico and have their number of channels set to zero.

Replacing

if (pluginInstance->getChannelLayoutOfBus (false, i).isDiscreteLayout())

with

if (pluginInstance->getChannelLayoutOfBus (false, i).isDiscreteLayout() && !pluginInstance->getChannelLayoutOfBus (true, i).isDisabled())

fixes the jassert.


#2

Yup, well spotted. This is now fixed on develop with commit a426feb.