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

                            32

                            Online

                            1.8k

                            Users

                            12.0k

                            Topics

                            104.6k

                            Posts