Logic X - AU - Channel list incorrect

Sure, you could create a static function which returns a BusesProperties instance, and then adjust the returned value based on the host.

// In your constructor
: AudioProcessor (getBusesProperties()),
  ...

// This is the function which returns the properties
static BusesProperties getBusesProperties()
{
    static const PluginHostType hostType;
    
    if (hostType.isLogic())
        return BusesProperties().withInput (...).withOutput (...);

    return BusesProperties().withOutput (...);
}
1 Like

Thanks.

This worked for me too (eventually). Required a version change, clean build, possibly a reboot, possibly a rescan too.

Screenshot 2021-03-09 at 10.42.31

This won’t work on M1 Macs, as the hosting is done by a new process that seems to be shared between MainStage, Garageband & Logic. The current host detection will NOT detect Logic on an M1.

Just linking the bug report for PluginHostType that was lingering the last two months:

So far no response from juce…

1 Like

It indeed seems to work when setting up all busses with same number of channels on each bus, there however seems to be issues with setting up a mix of stereo and mono output busses. We want logic to report 4xStereo, 10xMono. But, setting it up like below results in logic reporting 14xStereo and also not being able to actually load the plugin. It passes in auval though.

: AudioProcessor (BusesProperties()
                       .withOutput ("Output #1",  AudioChannelSet::stereo(), true)
                       .withOutput ("Output #2",  AudioChannelSet::mono(), false)
                       .withOutput ("Output #3",  AudioChannelSet::mono(), false)
                       .withOutput ("Output #4",  AudioChannelSet::mono(), false)
                       .withOutput ("Output #5",  AudioChannelSet::mono(), false)
                       .withOutput ("Output #6",  AudioChannelSet::mono(), false)
                       .withOutput ("Output #7",  AudioChannelSet::mono(), false)
                       .withOutput ("Output #8",  AudioChannelSet::mono(), false)
                       .withOutput ("Output #9",  AudioChannelSet::mono(), false)
                       .withOutput ("Output #10", AudioChannelSet::mono(), false)
                       .withOutput ("Output #11", AudioChannelSet::mono(), false)
                       .withOutput ("Output #12”, AudioChannelSet::stereo(), false)
                       .withOutput ("Output #13”, AudioChannelSet::stereo(), false)
                       .withOutput ("Output #14”, AudioChannelSet::stereo(), false))

Any hints on how to create this mixed mono and stereo multi out channel setup?
The only thing that seems to fix the issue for us is to comment out the SupportedNumChannels() call in the au wrapper.

Tested on logic version 10.4.7 and 10.5.1.