# How to enable 9.1.4 channel layout?

**URL:** <https://forum.juce.com/t/how-to-enable-9-1-4-channel-layout/63957>\
**Category:** General JUCE discussion\
**Created:** [October 27, 2024, 6:14pm UTC](https://forum.juce.com/t/how-to-enable-9-1-4-channel-layout/63957 "2024-10-27T18:14:33Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mitchco](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/mitchco/32/9972_2.png) [@Mitchco](https://forum.juce.com/u/Mitchco)\
**Post date:** [October 27, 2024, 6:14pm UTC](https://forum.juce.com/t/how-to-enable-9-1-4-channel-layout/63957/1 "2024-10-27T18:14:33Z")

</div>

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

 ![APC_HLC_9p1p4](https://us1.discourse-cdn.com/flex026/uploads/juce/original/3X/d/2/d2288367f650ca2fb9b7a538f4b13c7dee2b38b0.jpeg)

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.

---

<div class="post-metadata">

**Author:** ![reuk](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/reuk/32/21494_2.png) [@reuk](https://forum.juce.com/u/reuk)\
**Post date:** [October 29, 2024, 10:47pm UTC](https://forum.juce.com/t/how-to-enable-9-1-4-channel-layout/63957/2 "2024-10-29T22:47:04Z")

</div>

Thanks, that should be fixed by this commit:

> <https://github.com/juce-framework/JUCE/commit/a901b55b0be469151f82000f81eec852fb8ed861>

---

<div class="post-metadata">

**Author:** ![hugoderwolf](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/hugoderwolf/32/14039_2.png) [@hugoderwolf](https://forum.juce.com/u/hugoderwolf)\
**Post date:** [October 30, 2024, 7:54am UTC](https://forum.juce.com/t/how-to-enable-9-1-4-channel-layout/63957/3 "2024-10-30T07:54:51Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![reuk](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/reuk/32/21494_2.png) [@reuk](https://forum.juce.com/u/reuk)\
**Post date:** [October 30, 2024, 9:55am UTC](https://forum.juce.com/t/how-to-enable-9-1-4-channel-layout/63957/4 "2024-10-30T09:55:07Z")

</div>

I believe this issue only affected the AudioPluginHost.

---

<div class="post-metadata">

**Author:** ![Mitchco](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/mitchco/32/9972_2.png) [@Mitchco](https://forum.juce.com/u/Mitchco)\
**Post date:** [October 30, 2024, 9:44pm UTC](https://forum.juce.com/t/how-to-enable-9-1-4-channel-layout/63957/5 "2024-10-30T21:44:21Z")

</div>

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:

```auto
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:

 ![GCS_with_9p1p4_mismatch](https://us1.discourse-cdn.com/flex026/uploads/juce/original/3X/0/a/0a88d5d66bbc9de3e73277536c966f0a00b1b691.jpeg)

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):

 ![GCS_with_9p1p4](https://us1.discourse-cdn.com/flex026/uploads/juce/original/3X/3/0/30bc9af8757b8b52cadf2de1ff7cc68a77500a32.jpeg)

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

 ![APH_ChannelLayout_Snippet](https://us1.discourse-cdn.com/flex026/uploads/juce/original/3X/c/7/c748ecb8ecca13811daf515863819dcf5e4744d9.jpeg)

Thoughts?

---

<div class="post-metadata">

**Author:** ![hugoderwolf](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/hugoderwolf/32/14039_2.png) [@hugoderwolf](https://forum.juce.com/u/hugoderwolf)\
**Post date:** [October 31, 2024, 9:32am UTC](https://forum.juce.com/t/how-to-enable-9-1-4-channel-layout/63957/6 "2024-10-31T09:32:56Z")

</div>

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:

> **[Audio Channel Layout Tags | Apple Developer Documentation](https://developer.apple.com/documentation/coreaudiotypes/audio-channel-layout-tags)**
>
> The identifiers that represent audio channel layouts.

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.

---

<div class="post-metadata">

**Author:** ![reuk](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/reuk/32/21494_2.png) [@reuk](https://forum.juce.com/u/reuk)\
**Post date:** [October 31, 2024, 1:48pm UTC](https://forum.juce.com/t/how-to-enable-9-1-4-channel-layout/63957/7 "2024-10-31T13:48:09Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Mitchco](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/mitchco/32/9972_2.png) [@Mitchco](https://forum.juce.com/u/Mitchco)\
**Post date:** [October 31, 2024, 4:25pm UTC](https://forum.juce.com/t/how-to-enable-9-1-4-channel-layout/63957/8 "2024-10-31T16:25:13Z")

</div>

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`

```bool
    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.

---

<div class="post-metadata">

**Author:** ![hugoderwolf](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/hugoderwolf/32/14039_2.png) [@hugoderwolf](https://forum.juce.com/u/hugoderwolf)\
**Post date:** [November 1, 2024, 9:38am UTC](https://forum.juce.com/t/how-to-enable-9-1-4-channel-layout/63957/9 "2024-11-01T09:38:02Z")

</div>

Is that for AU or VST3?
