HISE Logo Forum
    • Categories
    • Register
    • Login

    Rebuild for More Outputs in my current build.

    Scheduled Pinned Locked Moved Solved General Questions
    25 Posts 4 Posters 331 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ChazroxC
      Chazrox @d.healey
      last edited by

      @d-healey
      unlocked. 🙏

      Screenshot 2025-04-08 at 8.50.39 AM.png

      Lessgooo!

      1 Reply Last reply Reply Quote 1
      • ChazroxC Chazrox marked this topic as a question on
      • ChazroxC Chazrox has marked this topic as solved on
      • ChazroxC
        Chazrox @d.healey
        last edited by

        @d-healey I have everything routed. In Abelton all my channels show up but Audio is only coming out of the first stereo channel.

        Screenshot 2025-04-08 at 10.07.25 AM.png

        Do I have to disconnect these before compiling and the DAWs will assume the outputs?

        Screenshot 2025-04-08 at 9.51.08 AM.png

        d.healeyD 1 Reply Last reply Reply Quote 0
        • ChazroxC Chazrox has marked this topic as unsolved on
        • d.healeyD
          d.healey @Chazrox
          last edited by

          @Chazrox Start with 3 stereo outputs instead of 24. Once you figure that out you can scale up.

          Here's an example I made for someone the other day, should be useful for you too.

          Use the knobs to choose which stereo pair each sinewave gen is routed to.
          Use the buttons to enable/bypass each sinewave gen to make it easier to follow the flow.

          HiseSnippet 1606.3oc6Z01aaaCDlJNJsVscXcnXXeZPMXevtu3JYmD2gfgl26LZSSPbZ2.ZGJXjniIhDolDUZ71JP+CNf8So+C1NJIGSaq353l1AjZ+IQd7t643c7tiRd2PtCIJhGhzL1uS.Aocc8lcXh1q2FSYnFafz9Vc+XOA897Xw8EjHw8spXUwFsVm.bTDwEooU3wx0pUbVTxu2+n0vdXlCo2THzK3TGxSo9TQuY2ckmP871B6R1m5qr5EVogCmsN2iGC3pftEJ.6bD9PxyvxkMiN5mwQsQZ2QeI2V3kbqunkMo1CcqW0t9h+3B0Wxxpk6CsqeP8CpgcwKU2BoM2ltTAOro.C1.RSeMtamls4ugkpfWPinG3QjCrQMAMmN8VbOWoIJmcmiIgGSIuo2bVHz5sodt61cSLBARd2daoER2Ruk91TW5oy2aq8qSHX1iC0MUsY5GxE5Cx1pP1RAx4.IMEHMaJjtodSmPZfnGEIdtldClfD1BC9NUnjtVzL3Y0WmCqfIp3iOhrUHL3TNJAa62yrlkU4kMLdvCL2iyEl9XQH8DCvcFILCgYRL9Ftl+jYRXVkCIhFtOkFIJMuTz.QR37keo0usrBSamHEUd1ChForCSITRQvYJOYgoZGruLQEImrgaTdJuInXyeAeLw7wD.BXXie9xKqx3of3k.1LZwCMKchIkcpTKaTTYcUBhiZW5Lv6IkSg4sMOhwOnK7RdFje2sXfsU87Vm6GvYv3nRy+DXEu5UtRfo.fD9.seRkHhPxbH2acrm2AvglRbljorYk7QYdRSsULyQP4Ly9VPImtZ6dlGi8hIkM9SihdbGrGnIWhz7STWkjQ6zpGCRYWLNvEBV2IVDDKQBijninRIqtqHW13sYV+VYfHZHTMVBpG1NFvUxbl2wr5xFEMJ1KroB10smHJYYdWyTwHWaYPVkSXHUPQwNxyCf3NSAXOj.fIrSEhLrm.dASA2DBHAd7LsuaUoWxAGQL4sLwLSRXHOznHskYoamoPv8AFy4.0xSYiX8CAxD.9Vi2ZHgogh2+YbXelUJYyDHaNHoVsxkVV.iGILWxxD5gihwRrX+CHgptR4BgDTiJQs8Ykn1I8LixB4rFLpXm.R13gyKhxNnAYHmKCUvREI4G+pr7iM8ntjPDERCdEc4AEKTBfUKsgFalsGj42+nwm4pCo4UNSlWKVH3rDlKpmN37.7bX29ii8p4v9yarAVfk0mxbDfyIfDJnR+t1FjigT2oUqJpuAI5HAOHwSkkvA1W9f9pSf.HsuGzUG4C2Bdvm555Q1kGQkwipdhHAInI8O.ApqaWwB4iOYf85wVw1oJ9u+rq3poJ9uztnU7biQ7kByarRmSG7tWtRP2ScMbk8SlSsVanEuPn6NnWhFIBcSFFNl6hNefvVADu6nyKHpdw.hpp6DcNufn1YBhg6hC5ej6F6IYSsoRY63YDjdb0N4jcqwfHgNpwAC1o4riWmlpMGmS10wDt2TeWpvoc93clbvKjv3SMdy5a+F5a1pETPsGXmUeqecjMoegCkqdF2J655m1t7ExcwBF66hoUXTl7XcUpbtixU9TcsoOqAySO6cY5r2WkBkqkjlN47W1KDI2BXpac8eH7et3ODtii.T+9gXVT.OpOA2j3S2GJVEoN4yifaqS988jdY04WmiCykz6ezVfQlKOMwh3vjvkU84wLQegGEFaex4H4vrSSNbA9JfJ1EiMo9AdjMYGS7fFuSv32.cZ2BG6I5Na+EW1ly3As4LpipSeOBbCzCOjDph8bMnUEBryQ8l4VqrGwifUCf+gUdJD3gCg8IxDtWXetecX45u9N8T3ZJOLZd4HodguLSp22qeCttyyh8aB4RcHYujF4KZPaFY9vzwVxwoISYtIC9W3WFQa4XsLh1cINoENpNsvwzBGWBKbTcZgioEN9xrvwLipvQgKpBG0lV3XZgiKgENpMsvwzBGeYV3X1QU3PenBGCniajqNl6i5VMYDqpVVq5.DqoVVq1.DWP0tVX.hKpZWK9+kcgFkcoMJ6BMJ6RaH6xG6DxesS5WMUlW3pIy.wPrj+XSE02VN1Lmu0pOTg40NN8KpgXr5jxXsIkwElTFWbRYboIkw5SJiO7CynrAfUiEb+zzeHz16tYxG2VSq6muCxzf9OUnnmQA
          

          If you want to visualise the routing in HISE, then change

          const rootChainId = Synth.getIdList("Container")[0];

          to

          const rootChainId = Synth.getIdList("Container")[1];

          And look at Container1's routing matrix. Remember to change it back before exporting.

          Libre Wave - Freedom respecting instruments and effects
          My Patreon - HISE tutorials
          YouTube Channel - Public HISE tutorials

          ChazroxC 2 Replies Last reply Reply Quote 1
          • ChazroxC
            Chazrox @d.healey
            last edited by

            @d-healey I jumped in on the deep end for sure. lol Thanks! I'll check that out now.

            1 Reply Last reply Reply Quote 0
            • ChazroxC
              Chazrox @d.healey
              last edited by

              @d-healey from what I can tell I had the routing done right but its not showing up in my DAW properly. I did export your snippet as a plugin and it worked properly but I cant tell what im doing differently/wrong. Does routing have to be scripted in any way?

              This is me mashing all keys so all channels show that all samplers are independently routed.
              Screenshot 2025-04-08 at 11.26.34 AM.png

              d.healeyD A 2 Replies Last reply Reply Quote 0
              • d.healeyD
                d.healey @Chazrox
                last edited by

                @Chazrox said in Rebuild for More Outputs in my current build.:

                Does routing have to be scripted in any way?

                I don't think so. Have you tried with just 3 stereo pairs?

                Libre Wave - Freedom respecting instruments and effects
                My Patreon - HISE tutorials
                YouTube Channel - Public HISE tutorials

                ChazroxC 1 Reply Last reply Reply Quote 0
                • A
                  aaronventure @Chazrox
                  last edited by

                  @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

                  ChazroxC 1 Reply Last reply Reply Quote 1
                  • ChazroxC
                    Chazrox @d.healey
                    last edited by

                    @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?

                    1 Reply Last reply Reply Quote 0
                    • ChazroxC
                      Chazrox @aaronventure
                      last edited by

                      @aaronventure I'll give this a try. Thank You sir.

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        aaronventure @Chazrox
                        last edited by

                        @Chazrox

                        // 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.

                        d8520b9e-3967-481d-a3a9-70141555de8f-image.png

                        ChazroxC 1 Reply Last reply Reply Quote 1
                        • ChazroxC
                          Chazrox @aaronventure
                          last edited by Chazrox

                          @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?

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            aaronventure @Chazrox
                            last edited by

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

                            ChazroxC 2 Replies Last reply Reply Quote 0
                            • ChazroxC
                              Chazrox @aaronventure
                              last edited by Chazrox

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

                              1 Reply Last reply Reply Quote 0
                              • ChazroxC
                                Chazrox @aaronventure
                                last edited by

                                @aaronventure

                                Results:

                                Got it working. Thank You brotha! I think im gonna add routing options after all for end user. Thanks again!

                                Screenshot 2025-04-08 at 8.10.33 PM.png

                                ustkU 1 Reply Last reply Reply Quote 0
                                • ustkU
                                  ustk @Chazrox
                                  last edited by

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

                                  Can't help pressing F5 in the forum...

                                  ChazroxC A 2 Replies Last reply Reply Quote 1
                                  • ChazroxC
                                    Chazrox @ustk
                                    last edited by

                                    @ustk I think some type of window showing all modules and routing options would be great.

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      aaronventure @ustk
                                      last edited by

                                      @ustk Wait till you find out that you can already do wonders if you create an empty ScriptFX and use the processBlock function.

                                      Link Preview Image
                                      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...

                                      favicon

                                      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.

                                      ChazroxC ustkU 2 Replies Last reply Reply Quote 3
                                      • ChazroxC
                                        Chazrox @aaronventure
                                        last edited by

                                        @aaronventure Woah...🔥

                                        1 Reply Last reply Reply Quote 0
                                        • ustkU
                                          ustk @aaronventure
                                          last edited by ustk

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

                                          Can't help pressing F5 in the forum...

                                          1 Reply Last reply Reply Quote 0
                                          • ChazroxC Chazrox has marked this topic as solved on
                                          • ChazroxC
                                            Chazrox
                                            last edited by

                                            Ended figuring out some routing matrix api's finally and made this. Appreciate the help!

                                            Screenshot 2025-04-09 at 1.38.58 AM.png

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            40

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            102.1k

                                            Posts