How to enable 9.1.4 channel layout?

I am trying to test an AU convolution plugin in APH for a 9.1.4 channel layout. But the layout does not appear:

APH and convolution plugin compiled with JUCE 8.0.3 using CMake and VSCode 1.94.2 on Mac mini M1 Sonoma 14.1.2

What am I missing to enable this channel layout? Thanks.

Thanks, that should be fixed by this commit:

1 Like

Does this bug only affect AudioPluginHost’s ability to enumerate the missing layouts, or also a plugin’s ability to report them?

I believe this issue only affected the AudioPluginHost.

Thanks @reuk I gave it a try and still not showing up. I can see your commit in the code I downloaded from develop just to make sure.

Some anecdotal testing and maybe there is another issue or my code is incorrect. In my plugins isBusesLayoutSupported I have:

bool outputMatchesInput = layouts.getMainInputChannelSet() == layouts.getMainOutputChannelSet();
    return ((! layouts.getMainInputChannelSet() .isDiscreteLayout())
             && (! layouts.getMainOutputChannelSet().isDiscreteLayout())
             && (outputMatchesInput)
             && (! layouts.getMainInputChannelSet().isDisabled()))

This results in the APH channel layout shown in the first post.

If I load the same AU plugin in a host program called Ground Control Sphere, it also states the 9.1.4 layout is missing:

If I recompile the plugin with isBusesLayoutSupported return true;
then in Ground Control Sphere, the 9.1.4 channel layout does appear (and did appear before your latest commit):

In APH, I get everything except the 9.1.4 layout (menu snippet):

Thoughts?

I just did some debugging around that and noticed that APH doesn’t even try to enumerate 9.1.4, but lots of other “Unknown” formats with all kinds of speaker arrangements.

Then it dawned on me: look at the AudioChannelSet documentation for (e.g.) create9point1point4() and you’ll notice that there’s no channel layout tag given for AU.

See here for reference:

AU simple doesn’t know that something like 9.1.4 exists. This applies to some other of the JUCE-defined layouts. OTOH, AU defines lots of obscure channel layouts (like ITU 3.2.1) that JUCE doesn’t explicitly define.

Just to check, did you definitely recompile the AudioPluginHost from the develop branch? In case it wasn’t clear, the problem was on the hosting side, rather than the plugin side, so the host will need to be recompiled in order for the new layouts to show up.

1 Like

Hi @reuk I thought I did, but Doh!

Recompiled and the 9.1.4 layout does showup when isBusesLayoutSupported return true; in my plugin.

But does not show up when isBusesLayoutSupported

    return ((! layouts.getMainInputChannelSet() .isDiscreteLayout())
             && (! layouts.getMainOutputChannelSet().isDiscreteLayout())
             && (outputMatchesInput)
             && (! layouts.getMainInputChannelSet().isDisabled()))

Thank you, now I can test the 9.1.4 FIR filters in convolution.

Is that for AU or VST3?