HISE Logo Forum
    • Categories
    • Register
    • Login

    FR: Better display of large channel counts

    Scheduled Pinned Locked Moved Feature Requests
    15 Posts 4 Posters 562 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.
    • O
      Orvillain
      last edited by

      Working on this plugin layout. It needs 94 channels right through until the master output which merges them all down to stereo.

      This is what I see in the module tree:

      363954c5-9686-49c3-b2f2-788ab0638c0b-image.png

      Each one of these blue blocks is a SimpleGain, attached to a particular stereo pair. The button to open the interface is no longer accessible. The name label is no longer visible.

      Would be nice to fix those things. I'd even settle for limiting the displayed amount of I/O so that you clip it to just N that are visible, and if you want more you open the I/O routing matrix panel.

      d.healeyD 1 Reply Last reply Reply Quote 0
      • d.healeyD
        d.healey @Orvillain
        last edited by

        @Orvillain Why 94?

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

        O 1 Reply Last reply Reply Quote 0
        • O
          Orvillain @d.healey
          last edited by

          @d-healey said in FR: Better display of large channel counts:

          @Orvillain Why 94?

          Very large multichannel multi-instrument plugin.

          d.healeyD 1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey @Orvillain
            last edited by

            @Orvillain Seems impractical and a resource eater. Is there any reason you couldn't premix some of these channels down?

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

            O 1 Reply Last reply Reply Quote 0
            • O
              Orvillain @d.healey
              last edited by

              @d-healey said in FR: Better display of large channel counts:

              @Orvillain Seems impractical and a resource eater. Is there any reason you couldn't premix some of these channels down?

              In the RAW audio samples you mean??? No, absolutely can't do that.

              I want to provide a mixing interface, and this set of instruments does have a total of 94 audio channels. They will be mixed down to busses inside the plugin for sure. But each microphone pair needs its own gain and pan control.

              d.healeyD 1 Reply Last reply Reply Quote 0
              • d.healeyD
                d.healey @Orvillain
                last edited by

                @Orvillain That means for each key press you'll be using at least 94 voices! Not to mention the RAM and CPU usage. Have you done some tests on the resource usage to make sure it will be usable? Are you sure people want to be playing around with 94 channels in a virtual instrument?

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

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

                  Unless you're using something that really needs to make use of the autobypass-when-not-in-use feature (like the convolution module), you should do it in scriptnode. Better overview, easier to navigate, easier to reference (one reference to rule them all), and if you still need auto bypass, you can script it yourself with the timers and on-note resets.

                  But even so, you won't be able to see the name, true. The sidebar really needs to be width scalable, and past some channel count should just display the total number of channels, as well as channels in use, with more info available on click.

                  O 1 Reply Last reply Reply Quote 0
                  • O
                    Orvillain @aaronventure
                    last edited by

                    @aaronventure
                    I'm not sure I follow - do you mean the audio bussing??

                    Christoph HartC A 2 Replies Last reply Reply Quote 0
                    • Christoph HartC
                      Christoph Hart @Orvillain
                      last edited by

                      @Orvillain do you have a sample with 94 channels or multiple drum types with sum up to 94 channels? If it‘s the latter then just use sub containers for mixing the drum types and then use as many channels as you have mic positions in the master container.

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

                        @Orvillain actually you can do it with any effect, by right clicking the channel icon and selecting all channels to stereo

                        20cc413b-a89e-45ee-84bb-50f05f29eb78-image.png

                        Definitely read the HISE_NUM_PLUGIN_CHANNELS preprocessor description here otherwise your compiled plugin won't process the channels.
                        https://docs.google.com/spreadsheets/d/1crdLOkfyebQZefBQBJEXMisHs2qPkUafBtBjgVM-ir4/edit?gid=1018116899#gid=1018116899

                        Also, you might wanna hardcode the matrix

                        // 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<32; i++) 
                        {
                        	MasterRouting.addConnection(i,i); // 1 to 1 channel routing
                        	//Console.print(i); //check for correct channel numbers
                        }
                        

                        the "main" here is the topmost icon in the module bay, likely named just like your preset, unless you changed the name

                        1b787747-aa67-44f6-88f6-8a1be9a7b833-image.png

                        O 1 Reply Last reply Reply Quote 0
                        • O
                          Orvillain @aaronventure
                          last edited by

                          @aaronventure said in FR: Better display of large channel counts:

                          @Orvillain actually you can do it with any effect, by right clicking the channel icon and selecting all channels to stereo

                          20cc413b-a89e-45ee-84bb-50f05f29eb78-image.png

                          Definitely read the HISE_NUM_PLUGIN_CHANNELS preprocessor description here otherwise your compiled plugin won't process the channels.
                          https://docs.google.com/spreadsheets/d/1crdLOkfyebQZefBQBJEXMisHs2qPkUafBtBjgVM-ir4/edit?gid=1018116899#gid=1018116899

                          Also, you might wanna hardcode the matrix

                          // 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<32; i++) 
                          {
                          	MasterRouting.addConnection(i,i); // 1 to 1 channel routing
                          	//Console.print(i); //check for correct channel numbers
                          }
                          

                          the "main" here is the topmost icon in the module bay, likely named just like your preset, unless you changed the name

                          1b787747-aa67-44f6-88f6-8a1be9a7b833-image.png

                          But doing that would not give me the individual gain+pain controls for each channel that I am looking for ????

                          A 1 Reply Last reply Reply Quote 0
                          • O
                            Orvillain @Christoph Hart
                            last edited by

                            @Christoph-Hart said in FR: Better display of large channel counts:

                            @Orvillain do you have a sample with 94 channels or multiple drum types with sum up to 94 channels? If it‘s the latter then just use sub containers for mixing the drum types and then use as many channels as you have mic positions in the master container.

                            One drum could potentially have 94 channels, if I wanted to support 100% bleed.

                            Christoph HartC 1 Reply Last reply Reply Quote 0
                            • Christoph HartC
                              Christoph Hart @Orvillain
                              last edited by

                              @Orvillain so every voice would stream 94 stereo channels? That‘s super inefficient and the narrow width of the patch browser will be the last of your problems.

                              O 1 Reply Last reply Reply Quote 0
                              • O
                                Orvillain @Christoph Hart
                                last edited by

                                @Christoph-Hart said in FR: Better display of large channel counts:

                                @Orvillain so every voice would stream 94 stereo channels? That‘s super inefficient and the narrow width of the patch browser will be the last of your problems.

                                I actually sent you an email via info@ about exactly this, if you've got time to check.

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

                                  @Orvillain if you put it into scriptnode it would.

                                  Pretty sure you could just do it with code in the processBlock (it's undocumented; print the channel obj to see what you can access) by referring to a global array where you set the gain and pan data.

                                  But it will definitely work in scriptnode. Maybe you can just do a gain node and a clone node, then access each gain's parameters directly without creating 94nnetwork parameters and connecting them, but Chris is sitting on the API as its unfinished so you'd have to ask him.

                                  If each of these is a separate voice, it's more efficient to do a gain modulator and just set the gain and pan in on voice start by adding a script voice start modulator.

                                  Then you can just send the gain and pan data with the new globalcable methods alongside the note id (even though sending 0 doesn't work in scriptnode at the moment).

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

                                  31

                                  Online

                                  1.8k

                                  Users

                                  12.0k

                                  Topics

                                  104.7k

                                  Posts