Rebuild for More Outputs in my current build.
-
@Chazrox this is an issue with the standalone HISE version. You need to hardcide your routing in the script by getting g a routing matrix reference to your main matrix (the one at the very top of youe module list that has the same name as the xml) and connect the channels with the methods from the routing matrix API
-
@d-healey I have tried with only 2 & 3 stereo pairs using the same logic but it doesnt translate in DAW. The channels appear properly in Abelton, but only first stereo pair is active. I cant tell what im doing wrong. The snippet you gave me doesnt work by default, it only activates the other stereo pairs when I move the knob but if the knob isnt moved, the current value isnt even active yet until I choose an output with the knob. I want to be able to do this without giving the end user an option for changing the routing and be set on OnInit. Shouldnt I be able to do this without any of those knobs or buttons? Is hardcoding the way to go here?
-
@aaronventure I'll give this a try. Thank You sir.
-
// hardcoding Master Routing because the standalone app always defaults this to stereo, unlike the plugin const var MasterRouting = Synth.getRoutingMatrix("main"); for(i=0; i<24; i++) { MasterRouting.addConnection(i,i); // 1 to 1 channel routing //Console.print(i); //check for correct channel numbers }
Replace "main" with whatever's the name of your main matrix. E.g.
-
@aaronventure Sweet. Thanks! I was just reading doc on this and scratchin my head about it. lol.
To be clear, this sets all channels to 'active' state on OnInit by default and thats they way it stays? This is all I have to add?
Does this produce a single stereo output if the end user doesnt expand the outputs to separate mix channels in DAW?
-
@Chazrox this will route all input channels to corresponding output channels. I'm talking about input channels of the matrix, not the plugin. The output channels of the master matrix are the outputs of the plugin.
HISE Standalone output only shows 2, so you cannot do this via the GUI. This will be ran every time you recompile, including at init of your plugin in a DAW, to make sure the routing is correct.
If all you want to do is have your plugin output audio the way it's doing in the HISE standalone, then yes, this code is all you need.
It's frankly silly that this is so obscure, I remember scratching my head about this too and finding info on this here on the forum. So I'm just paying it forward.
-
@aaronventure Thanks! Obscure yes, Im a music producer by profession so I can atLEAST deduce a signal chain, i thought...lol I assumed by setting the routing in the matrix section of the plugin would suffice but thats obviously redundant. Head scratcher for sure! Appreciate the help! Im gonna read up on this more so I can get this right once and for all.
-
Results:
Got it working. Thank You brotha! I think im gonna add routing options after all for end user. Thanks again!
-
@Chazrox @aaronventure I find the routing quite a bit obscure too. Perhaps we could have a clearer general routing window for this, with less limitations, and where all connections can be seen at once. Also thinking about the sends limited to one per channel among other difficulties to understand what is really connected to where, name and colour the channels, etc...
-
@ustk I think some type of window showing all modules and routing options would be great.
-
@ustk Wait till you find out that you can already do wonders if you create an empty ScriptFX and use the processBlock function.
Channel Routing with a Few Lines of Code
The routing matrix won't let you do anything you want elegantly (like Reaper, for example) and iterating big routings in Scriptnode can get messy. Set your d...
Forum (forum.hise.audio)
Also you can do a decent amount in ScriptNode. You have to hardcode the master matrix output, but you can use either of the two mentioned workflows to have flexible routing done in the last FX before the output.
-
@aaronventure Woah...
-
@aaronventure Oh cool, I wonder why I haven't thought about this simple "copy blocks to the next ones" solution, especially since I am already doing things in the
processBlock
... -
C Chazrox has marked this topic as solved
-
Ended figuring out some routing matrix api's finally and made this. Appreciate the help!