iPlug2 Forum

Mismatch between reported channel layouts and reported numChannels

Hey guys

--------------------------------------------------
FORMAT TESTS:

Reported Channel Capabilities (explicit):
      [2, 1]  [3, 1]  [3, 2]  [3, 1]  [3, 2]  [2, 2]  [4, 2]  

Input/Output Channel Handling:
1-1   1-2   1-4   1-5   1-6   1-7   1-8   2-2   2-4   2-5   2-6   2-7   2-8   4-4   4-5   5-5   6-6   7-7   8-8
                                          X                                                                       

# # AudioChannelLayouts (2), Input Scope:
ChannelLayout is Writable: T
The Unit publishes the following Channel Layouts:
  0x640001, 0x650002, 

Is Audio Channel Layout Available:
Mono    Stereo  Binau.  AU_4    Ambi.   AU_5    AU_5_0  AU_6    AU_6_0  AU_7_0  AU_7_0F AU_8    AU_5_1  AU_6_1  AU_7_1  AU_7_1F 
X       X                                                                                                                       
ERROR: Mismatch between reported channel layouts and reported numChannels
ERROR: 4099 IN CALL Problem with initial Channel layout state

* * FAIL
#define PLUG_CHANNEL_IO "\
1-1 \. <- one mono input bus, one mono output bus (no sidechain)
1.1-1 \ <- two mono input buses, mono output (mono sidechain)
1.2-1 \  <- two input buses, mono output (stereo sidechain)
1.2-2 \ <- two input buses, stereo output (stereo sidechain)
2.1-1 \ <- two input buses, mono output (stereo sidechain)
2.1-2 \ <- two input buses, mono output (stereo sidechain)
2-2 \ <- one stereo input bus, one stereo output bus (no sidechain)
2.2-2" <- two stereo input buses, one stereo output bus (stereo sidechain)

How can I fix this?

It is logical if I can have:

1-1 -> one mono input bus, one mono output bus (no sidechain)
1.1.1 ->  two mono input buses, two mono outputs (mono sidechain) ??

I have two separate lanes, like L /R + M/S (mono, dual mono, stereo) + sidechain
Is this problem related to this problem?

@olilarkin

  1. #define PLUG_CHANNEL_IO “. ← validation - OK, but doesnt work mono/dual mono
    1-1
    1.1-1
    1.1-1.1
    1.2-1
    1.2-1.2
    1.2-2
    2.1-1
    2.1-2
    2-2
    2.2-2
    2.2-2.2”

  2. Validation failed

#define PLUG_CHANNEL_IO "\
1-1 \. <- one mono input bus, one mono output bus (no sidechain)
1.1-1 \ <- two mono input buses, mono output (mono sidechain)
1.2-1 \  <- two input buses, mono output (stereo sidechain)
1.2-2 \ <- two input buses, stereo output (stereo sidechain)
2.1-1 \ <- two input buses, mono output (stereo sidechain)
2.1-2 \ <- two input buses, mono output (stereo sidechain)
2-2 \ <- one stereo input bus, one stereo output bus (no sidechain)
2.2-2" <- two stereo input buses, one stereo output bus (stereo sidechain)

Could you explain why, please?
Donated :slight_smile:

Hello, thanks for the donation. Are you talking about making plug-ins work in Logic’s Dual-mono mode? This is something I haven’t tried, but I would imagine that the correct IO for that is 1-1 (e.g. mono in mono out). Logic will then create two copies of the plug-in on the stereo track with the parameters synced. If it works the same as ProTools that is.

1 Like

sometimes in Logic if you make changes to the channel configurations you need to increase the plugin’s version number for the changes to take effect

    double gain1 = pow(10.0, GetParam(kIn1)->Value() / 20.0);
    double gain2 = pow(10.0, GetParam(kIn2)->Value() / 20.0);
    double gain3 = pow(10.0, GetParam(kOut1)->Value() / 20.0);
    double gain4 = pow(10.0, GetParam(kOut2)->Value() / 20.0);
    double mix = GetParam(kMix)->Value() / 100.0;
    double* in1 = inputs[0];
    double* in2 = inputs[1];
    double* in3 = (IsChannelConnected(ERoute::kInput, 2) ? inputs[2] : inputs[0]);
    double* in4 = (IsChannelConnected(ERoute::kInput, 3) ? inputs[3] : inputs[1]);
    double* out1 = outputs[0];
    double* out2 = outputs[1];

here, in theory, everything is correct

for (int s = 0; s < nFrames; ++s, ++in1, ++in2, ++in3, ++in4, ++out1, ++out2)

maybe this will clarify the picture?

#define PLUG_CHANNEL_IO "\
1-1 \
1.1-1 \
1.1-2 \
1.1-1.1 \
1.1-1.2 \
1.2-1 \
1.2-1.1 \
1.2-1.2 \
1.2-2 \
1.2-2.1 \
1.2-2.2 \
2.1-1 \
2.1-1.1 \
2.1-2 \
2.1-2.1 \
2-2 \
2.2-2 \
2.2-2.1 \
2.2-2.2"

I just took and described all the possible cases of cases )___

Mono: ok
Dual mono: ok
Stereo: ok