Unable to load AU plugin as 7.1 (3/4.1)

For some reason I’m unable to load and run a JUCE generated AU plugin in 7.1 (3/4.1) surround format. Logic keeps complaining that it can’t load the plugin with the message:

Failed to load Audio Unit “SurroundPlu”, please contact the manufacturer for an updated version or further assistance.

(Yes, it truncates the plugin name)

I’m using JUCE’s SurroundPluginDemo.h as test project which has a fairly simple isBusesLayoutSupported method:

bool isBusesLayoutSupported (const BusesLayout& layouts) const override
{
	return ((! layouts.getMainInputChannelSet() .isDiscreteLayout())
		 && (! layouts.getMainOutputChannelSet().isDiscreteLayout())
		 && (layouts.getMainInputChannelSet() == layouts.getMainOutputChannelSet())
		 && (! layouts.getMainInputChannelSet().isDisabled()));
}

But even with this simple test the plugin cannot be loaded as 7.1 (3/4.1).

Also, both auval and pluginval strongly suggest that the plugin should be ok. Both test reports are attached to this post.

Does anybody know what might be going on here?

SurroundPluginDemo_AUVAL.txt (18.9 KB)
SurroundPluginDemo_PLUGINVAL.txt (7.9 KB)

EDIT: I should add that loading the plugin as 7.1SDDS works without any problems.

Have you tried just enabling a simple <= 8 in/out IO config for AU? It can be a little picky.

if(wrapperType == AudioProcessor::wrapperType_AudioUnit)
{
    if(layouts.getNumChannels(false, 0) <= 8 && layouts.getNumChannels(true, 0) <= 8)
    {
        if(layouts.getNumChannels(false, 0) == layouts.getNumChannels(true, 0))
            return true;
        else
            return false; 
    }
}

Thanks for your reply. Yes, I tried a similar thing already and to be sure tested with your suggestion, unfortunately this doesn’t work.

Even returning true doesn’t work:

bool isBusesLayoutSupported (const BusesLayout& layouts) const override
{
	return true;
}