AAX Instrument - right channel configuration?

Hi there
I’ve set the bus configuration on my instrument project to {0,2} which works with vst, vst3 and au in any DAW that i’ve tried.
But in pro tools (12.5) it doesn’t show up unless i add {2,2}. Why doesn’t it work with 0 inputs? And is there something i can add to avoid changing the main channel configuration which works for other formats? Or should i just use {2,2} because no extra processing and resources will be wasted anyways?
Hope this wasn’t too bad of a question.

It seems for instruments Pro Tools wants the {2,2} channel config. But that doesn’t work for logic pro x.
Other than making a separate build, is there a way to set or override the bus configuration for AAX alone?

yes, it seems that {0, 2} for aax isn’t working since quite a while: AAX instrument and supported layouts

If you only have stereo output for your instrument, overriding isBusesLayoutSupported() like that should (hopefully) work for every plugin format and hosts :

    bool isBusesLayoutSupported (const BusesLayout& layouts) const override
        int numOutputs = layouts.getMainOutputChannelSet().size();
        int numInputs = layouts.getMainInputChannelSet().size();
        return (numOutputs == 2 && numInputs <= 2);
1 Like

Doing that, vst3 loads in FL studio but the output is not active by default! So you get {0,0} unless you check the activate button on the wrapper settings which is weird.
Logic Pro doesn’t have any problems with {0,2} or {2,2} separately, or the code above (checks {1,2},{2,2}), but giving it a {0,2},{2,2} layout fails the validation which is also weird.

My abilities are limited but i’m sure someone here has a better insight and maybe can add a fix so AAX always gets correct inputs even if you have set a {0,2} bus layout.

Meanwhile using {2,2} seems to be working for all of them, but i feel like some resources being wasted with 2 unused channels.

See the last post in [FR] createPluginFilter (bool)


1 Like

See the last post in [FR] createPluginFilter (bool)

Thank you Rail, that was really interesting and helpful.

If I set #define JucePlugin_PreferredChannelConfigurations {0, 2} and call the default constructor of AudioPluginInstance then in ProTools then my synth doesn’t show up.

However, if I call AudioProcessor ( BusesProperties ().withOutput ( "Output", AudioChannelSet::stereo (), true ) ) then it shows up in Pro Tools.

Shouldn’t those two options be equivalent?