Hi all,
Having an issue where logic is “forcing” me to have a sidechain input, even though I don’t want one.
My code is as follows:
bool EuropaPluginProcessor::isBusesLayoutSupported(const BusesLayout& layouts) const
{
if (layouts.getMainInputChannels() > 2 || layouts.getMainOutputChannels() > 2)
{
return false;
}
// no suport for stereo to mono
if (layouts.getMainInputChannels() == 2 && layouts.getMainOutputChannels() == 1)
{
return false;
}
const bool kOutput = false;
// All additional output buses need to be mono
for (int bus = 1; bus < layouts.outputBuses.size(); ++bus)
{
if (layouts.getChannelSet(kOutput, bus).size() != 1)
{
return false;
}
}
// LOOK HERE!!!!!!
if (layouts.inputBuses.size() != 1)
{
return false;
}
return true;
}
// setting up the initial bus properties
AudioProcessor::BusesProperties PassthroughBlock::getBusLayout()
{
BusesProperties buses{};
// Add main buses
bool defaultActivation = true;
// TODO: This should determine its I/O topology from the submodules.
buses.addBus(true, "Input", AudioChannelSet::stereo(), defaultActivation);
buses.addBus(false, "Output", AudioChannelSet::stereo(), defaultActivation);
return buses;
}
When I comment out the “LOOK HERE” section. The plugin is able to load in logic in all bus formats, with the sidechain combo box visible.
When I leave that in, the plugin is unable to load and fails with the error text:
" Failed to load Audio Unit “Europa Demo”, please contact the manufacturer for an updated version or further assistance.”
and the logs of my project say:
ca_require: ValidFormat(inScope, inElement, newDesc) InvalidFormat /Users/cjappl/Documents/Code/cjappl_europa_main/contrib/JUCE-5.4.2/modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.cpp:870
I went in to the NoiseGate example (which has a sidechain input). And all it took was removing that input and re-scanning and the sidechain combo box was gone.
Any thoughts?