Enable Multi Output in Logic
-
I'm trying my plugin to have a multi-output option.
I've built HISE with these Preprocessor Definitions:
NUM_MAX_CHANNELS = 10 HISE_NUM_PLUGIN_CHANNELS = 10I can see the multiple outputs in HISE:

But when I export the plugin, Logic only shows the Stereo options.

Does anyone know what else I need to do to enable multi-output options?
-
@daniloprates You have to load the plugin as a multi-output version.
If you don't see the Multi-Output option, that likely means Logic doesn't think your plugin has multiple outputs.
The basic stuff I'm building in HISE only shows up as Stereo in Logic so there must be a step missing to get Logic to see the other outputs.
Have you tried it in other DAWs?
Are you using your own build of HISE, compiled from the latest commit of the dev branch?
https://support.apple.com/en-gb/guide/logicpro/lgcp4ff5d47e/mac

-
@daniloprates Couple of posts you might find useful:
This one seems to have solved itself, but worth checking all the steps they did:
https://forum.hise.audio/topic/9787/multi-output-not-working/16?_=1766750980618This is a full guide from Jan this year, so should be fairly up to date:
https://forum.hise.audio/topic/11553/multi-output-tutorial -
Thanks @dannytaurus.
It worked well on Reaper, but not in Logic.
Somehow, Logic needs to be told the output options it should offer. I've tried to use these posts you've mentioned with ChatGPT, but after trying many different things, I still couldn't figure it out. -
D daniloprates marked this topic as a question
-
It worked!


This is what I changed in
JUCE/modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm- #ifdef JucePlugin_PreferredChannelConfigurations + // HISE multi-output AU support: Advertise specific supported configurations + #if defined(HISE_NUM_PLUGIN_CHANNELS) && HISE_NUM_PLUGIN_CHANNELS > 2 + { + AUChannelInfo info; + + // Advertise stereo configuration (main bus only) + info.inChannels = 0; + info.outChannels = 2; + channelInfo.add (info); + + // Advertise full multi-output configuration (all buses) + // This shows in Logic as "Multi-Output" option + info.outChannels = -HISE_NUM_PLUGIN_CHANNELS; + channelInfo.add (info); + } + #elif defined(JucePlugin_PreferredChannelConfigurations)To enable only the stereo options, like in the picture:
+ info.outChannels = HISE_NUM_PLUGIN_CHANNELS; -
D daniloprates has marked this topic as solved
-
Here's an extensive report on how to achieve this:
-
@daniloprates You don't need to patch the JUCE source code to get multiple outputs working in Logic.
I would recommend against patching the JUCE code at all.
You just need to compile HISE and set up your project for multiple outputs and it'll work fine in Logic.
-
@dannytaurus I've tried a lot, with no result. The only thing that worked was changing
juce_AU_Wrapper.mm. Would you have a guide on how to achieve that without changing HISE's source code? -
@daniloprates The guide I linked to above has all the info.
You need to compile HISE with 2 preprocessor definitions added to the Projucer, under Extra Preprocessor Definitions:
NUM_MAX_CHANNELS=16 HISE_NUM_PLUGIN_CHANNELS=16Then in your HISE plugin project settings, under Extra Definitions Windows & OSX:
HISE_NUM_PLUGIN_CHANNELS=16This will give you 16 internal routing channels in your plugin, and expose 16 outputs to your host/DAW.