I’m aware there are several similar topics running, but none are quite what I’m seeing:
Some surround formats of my AU plugin are not available in Logic, despite being allowed by my isBusesLayoutSupported(). Basically, the “add plugin” menu only shows multi-mono in some cases.
Using JUCE 6.1.3 I found that logic would “see” my 5.1 and Quad versions, but not the 7.1 or 7.1.2. Using the current JUCE develop branch (2022-04-21), Logic now sees the 7.1.2 version, but still not the 7.1.
Testing in Logic is incredibly slow and painful due to their caching and fussy validation nonsense, so it’s been really difficult to figure out why it’s failing. To make matters worse, the validation tool reports are inconsistent with the formats I specified in my plugin, inconsistent with what is available in Logic, different between juice 6.1.3 and ‘develop’, and difficult to actually read.
Here’s my isBusesLayoutSupported and the auval reports when using 6.1.3 and current develop:
bool SLJAudioProcessor::isBusesLayoutSupported (const AudioProcessor::BusesLayout& layouts) const
{
const AudioChannelSet& mainInput = layouts.getMainInputChannelSet();
const AudioChannelSet& mainOutput = layouts.getMainOutputChannelSet();
if (mainInput.isDisabled()) { return false; } // do not allow disabling the main buses
auto isFormatSupported = [](const AudioChannelSet& fmt)
{
if( fmt == AudioChannelSet::mono()
|| fmt == AudioChannelSet::stereo()
|| fmt == AudioChannelSet::createLCR()
|| fmt == AudioChannelSet::quadraphonic()
|| fmt == AudioChannelSet::create5point0()
|| fmt == AudioChannelSet::create5point1()
|| fmt == AudioChannelSet::create7point0()
|| fmt == AudioChannelSet::create7point1()
|| fmt == AudioChannelSet::create7point0point2()
|| fmt == AudioChannelSet::create7point1point2()
) { return true; }
else { return false; }
};
return isFormatSupported(mainInput) && isFormatSupported(mainOutput);
}
SlapperValidationComparison.zip (5.5 KB)