HISE Logo Forum
    • Categories
    • Register
    • Login

    FR: Better display of large channel counts

    Scheduled Pinned Locked Moved Feature Requests
    15 Posts 4 Posters 568 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.
    • 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

      OrvillainO 1 Reply Last reply Reply Quote 0
      • OrvillainO
        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

          OrvillainO 1 Reply Last reply Reply Quote 0
          • OrvillainO
            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.

                OrvillainO 1 Reply Last reply Reply Quote 0
                • OrvillainO
                  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.

                    OrvillainO 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

                      OrvillainO 1 Reply Last reply Reply Quote 0
                      • OrvillainO
                        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
                        • OrvillainO
                          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.

                            OrvillainO 1 Reply Last reply Reply Quote 0
                            • OrvillainO
                              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

                                18

                                Online

                                1.8k

                                Users

                                12.1k

                                Topics

                                105.5k

                                Posts