Multi output not working
-
Hi
I have an instrument that uses three samplers, each with three mic channels. I want to be able to route the samplers as separate outs to allow per-sampler processing in DAW and have a switch that routes the 6 outs as 1:1 for linked operation or breaks them out into three pairs for multi-out operation. My top level container has 6 channels.
In HISE, I can see the switching happening and the signal flow changing as expected; obviously it still bounces down to stereo at the output.
When I build the plugin versions, the AU doesn't give a multi-out option in Logic (only stereo) and the VST3 shows that it has 6 possible outputs but switching the routing state has no effect when the outputs are activated.
I've tried the multi-channel tutorial to see if I can spot any obvious differences but can't. When I build the tutorial as a plugin, the routing works as expected as both AU and VST3.
I'm probably missing something obvious but have gone code blind
-
Putting aside the mechanics of the routing does anyone have any idea why, despite having a master container with 6 channels, Logic is failing to see a multi-channel option?
Force Stereo Output is not checked in Preferences so I'm stuck as to why it's not working.
-
I think you need to add this preprocessor definition
ENABLE_ALL_PEAK_METERS=1
-
@d-healey I've already tried that and it's still the same.
-
Does it work in Reaper? You can test both the AU and VST3 in Reaper.
-
@d-healey I've tried the AU in Reaper, Logic and Ableton and the VST3 in Nuendo, Reaper and Ableton. Same behaviour everywhere, it seems to be building as a stereo only plugin regardless of format.
-
I've come across something similar.
Here's my FX plugin displayed in the Element host (handy for working out these kind of routing issues) compiled back in March.
The AU is on the left, VST on the right. Green dots represent audio inputs on the top, outputs on the bottom. As you can see, the AU only has a stereo in and out.
The same plugin, compiled today.
The only significant differences between the March build and todays are:
- HISE build was updated (currently dev version dated 25/04)
- A Faust node was disabled and all references to it removed
- New Mac. OS is the same (14.4), Xcode might be newer (15.3).
You could also try running your project in the HISE plugin, that's another good way of tracking down these kinds of issues. If multi channel works with the HISE plugin then that should rule out a problem with your project.
-
@modularsamples In Element, I do see six outputs but audio is only being routed to the first pair. In all of the DAWs I've tried (and I have most of them) the AU only appears with a stereo option and VST3s show six outputs but only route to the first pair regardless of the routing settings in the plugin.
Oddly, when I first started working on this plugin at the end of last year, it would show a multi-out option for the AU.
Currently running the latest HISE build from the dev branch on an M2 Mac.
The plugin version of HISE also only shows up as a stereo version so it doesn't really help.
-
@M_Holloway Odd. Not sure what could be causing that. I take it you have HISE_NUM_PLUGIN_CHANNELS=X specified in your preprocessor definitions?
You need to specify multichannel in Xcode when building the HISE plugin (as you would with your own project), From the product menu, select scheme then edit scheme. The select one of the Multichannel options from Build Configuration menu.
-
@modularsamples said in Multi output not working:
HISE_NUM_PLUGIN_CHANNELS=X
This one shouldn't be needed any more.
-
Further investigation has not yielded a solution but has thrown up another issue...
As mentioned above, I have three samplers, each with three mic channels, so the routing sampler matrices are six channel. By default these map 1:1 but can be set to output all three mics to one stereo pair. The issue is that every time the code is compiled, they reset to a 1:1 configuration. Is there any way to get the set routing to persist so Sampler0 routes to 1-2 (0, 1), Sampler1 to 3-4 and Sampler2 to 5-6?
In other news, I made a test project with the same basic setup of three samplers and that complied successfully to a multi-out plugin so still scratching my head as to why my actual project insists on compiling to stereo only.
-
@M_Holloway said in Multi output not working:
Is there any way to get the set routing to persist so Sampler0 routes to 1-2 (0, 1), Sampler1 to 3-4 and Sampler2 to 5-6?
I'm assuming you have some controls on your UI that allow the user to assign which sampler goes to which output? Do these controls have saveInPreset enabled?
-
@d-healey No, I want them to be fixed but that gives me an idea...
I just want two states (controlled by a button that doesn't save in preset), all to stereo or each to a pair so I can solve this bit by building that into the routine that maps the main output
-
@M_Holloway said in Multi output not working:
I want them to be fixed
Most DAWs will give the user the choice of the number of stereo pairs so it might cause issues if they select more than 1 but less than the max.
-
Update: Routing issues are now all fixed, the AU and VST3 work as expected in various DAWs but for some reason, Logic still refuses to see it as a multi-output instrument.
Rescanning the plugin in Logic gives the following result:
"Reported Channel Capabilities (explicit):
[0, 2] [0, 6]WARNING: Source AU supports multi-channel output but does not provide a channel layout"
So the last part of that gives an answer, I just don't know how to correct it :confused_face:
EDIT: Just tried my test project and it throws the same warning on a rescan but shows up fine as a multi-out plugin...
-
Not sure why but it's all fixed now... plugin shows as multi-output in Logic. I'd had a few other issues and reset a bunch of things following the recent HISE updates, one of them seems to have cured the issues but no idea which.
-