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 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.
-
@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!

-
D daniloprates has marked this topic as solved
-
This post is deleted! -
@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.
-
Thanks @dannytaurus, it worked indeed! However, when I add the plugin as Stereo instead of Multi-output, the other 4 instruments, routed to outputs 3-10, are mute. Do you know how to make it work also on Stereo?
-
@daniloprates You could add a toggle switch to the UI that allows the user to select whether the instruments go to separate outputs or force them all to go through the main stereo output.
You might also be able to detect in the code how many outputs are available and set it automatically, but I'm not sure off the top of my head how to do that.
-
@daniloprates Looks like you can use
Engine.getNumPluginChannels()to get the output channels. If it's 2, route all instruments to outputs 1/2, if it's more than 2 then route all instruments to their own outputs.EDIT: actually, maybe not. I think for a multi-output enabled plugin it will always return the max outputs, even if the plugin is loaded as a stereo version.
-
EDIT: actually, maybe not. I think for a multi-output enabled plugin it will always return the max outputs, even if the plugin is loaded as a stereo version.
You're right, @dannytaurus, it always returns the max outputs. I think the UI toggle will be the only viable way.
Thanks a lot for the help!
-
D daniloprates referenced this topic
-
D daniloprates has marked this topic as solved