HISE Logo Forum
    • Categories
    • Register
    • Login

    Few questions from a newbie

    Scheduled Pinned Locked Moved Solved Newbie League
    drums samplerprogrammingroutingdesignervirtual drums
    39 Posts 4 Posters 2.5k 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.
    • S
      ScreamingWaves @d.healey
      last edited by

      @d-healey

      Hi! i watched your 101 scripting in hise video, some js tutorials and i finally understand something about scripting and so i was finally able to program all the purge buttons!

      I added more gain, pan, saturation and compression knobs, peak meters and all is working fine so far!

      now I'm wondering: is there a way to split the output channels of the plugin and use some as mono and some as stereo?

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

        @ScreamingWaves Can you tell me more about what the goal is?

        Free HISE Bootcamp Full Course for beginners.
        YouTube Channel - Public HISE tutorials
        My Patreon - HISE tutorials

        S 1 Reply Last reply Reply Quote 0
        • S
          ScreamingWaves @d.healey
          last edited by

          @d-healey

          if that's possible i'd like to send the kick, snare, tom, floor, wurst mic, hihat, ride and crashes to their own mono outputs and save the left over outputs lfor stereo room and OH, so when the end user will convert the virtual instrument to audio tracks they will have all the tracks separated.

          If that is not possible i can route the cymbals close mics to the overhead output to blend in, but the first option would be more flexible

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

            @ScreamingWaves All outputs from HISE are stereo pairs, so I don't think you can have true mono outputs. You'd need to use individual left and rights of a stereo out.

            The routing is pretty straight forward, didn't I demonstrate this in one of the mic mixer videos? - I haven't seen them in a while so can't recall.

            Free HISE Bootcamp Full Course for beginners.
            YouTube Channel - Public HISE tutorials
            My Patreon - HISE tutorials

            S 1 Reply Last reply Reply Quote 0
            • S
              ScreamingWaves @d.healey
              last edited by

              @d-healey

              yes the routing is easy. but it theres no way to use individual channels to then pan them mono, that's why i asked if maybe it was possible to split them with scripts. if not it's not a big deal.
              Thank you so much for your replies!

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

                @ScreamingWaves You can use simple gain modules (or a script FX) to pan a stereo signal to one side.

                Free HISE Bootcamp Full Course for beginners.
                YouTube Channel - Public HISE tutorials
                My Patreon - HISE tutorials

                S 1 Reply Last reply Reply Quote 0
                • S
                  ScreamingWaves @d.healey
                  last edited by

                  @d-healey

                  i tried that, but the signal will be either left or right if the outputs are designed to be stereo. It would be an option (for the end user) to print into audio and then split L &R to have 2 mono channels. did you mean that?

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

                    @ScreamingWaves I'm not following. If it's a mono signal then it cannot be panned, it's only going to come out of one side. I think I'm missing something simple.

                    Free HISE Bootcamp Full Course for beginners.
                    YouTube Channel - Public HISE tutorials
                    My Patreon - HISE tutorials

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      ScreamingWaves @d.healey
                      last edited by

                      @d-healey

                      you meant to send for example kick to out 1, and snare to out 2, right? doing that i use 2 outputs instead of 4, and i could save some outs the cymbals. But the outputs of the plugin are designed to be stereo, so when the user will bounce the tracks on the daw, he will get anyway out 1 and 2 as stereo track that can be split and panned in the center in a daw it's a workaround, but not so practical

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

                        @ScreamingWaves Ah I see what you're saying. Yes from the user's pov they'll get a single stereo track with different drums on each channel. If it was me I would just use stereo outs for everything.

                        Free HISE Bootcamp Full Course for beginners.
                        YouTube Channel - Public HISE tutorials
                        My Patreon - HISE tutorials

                        S 2 Replies Last reply Reply Quote 0
                        • S
                          ScreamingWaves @d.healey
                          last edited by

                          This post is deleted!
                          1 Reply Last reply Reply Quote 0
                          • S
                            ScreamingWaves @d.healey
                            last edited by

                            @d-healey
                            yes that's what im going for now, it's not a big deal.

                            anyway I'd have another question haha
                            i just set up mute and solo buttons bull all the channels (from your Take 2 video) and everything works fine, but when i use the gain knob with mute on, the signal comes again and the mute button stays pressed, not so elegant. did i write something wrong or is is supposed to act like that?

                            i thought (as a newbie) that maybe with an "if" the mute button is on (1), the gain knob could be not available for use OR if one uses the gain knob the mute button could move to off (0).
                            that could be possible right?

                            Synth.deferCallbacks(true);
                            
                            const NUM_CHANNELS = 8;
                            
                            const soloState = [];
                            
                            // Gather components and fx
                            const out = [];
                            const knbVolOut = [];
                            const btnMute = [];
                            const btnSolo = [];
                            
                            for (i = 0; i < NUM_CHANNELS; i++)
                            {
                            out.push(Synth.getEffect("out" +i ));
                            
                            knbVolOut.push(Content.getComponent("knbVolOut" + i ));
                            knbVolOut[i].setControlCallback(onknbVolOutControl);
                            
                            btnMute.push(Content.getComponent("btnMute" + i ));
                            btnMute[i].setControlCallback(onbtnMuteControl);
                            
                            btnSolo.push(Content.getComponent("btnSolo" + i ));
                            btnSolo[i].setControlCallback(onbtnSoloControl);
                            }
                            
                            // knbVolOut
                            inline function onknbVolOutControl(component, value)
                            {
                            local index = knbVolOut.indexOf(component);
                            
                            if ((!btnMute[index].getValue() && !soloState.contains(1)) || btnSolo[index].getValue())
                            	out[index].setAttribute(out[index].Gain, value);
                            }
                            
                            // btnMute
                            inline function onbtnMuteControl(component, value)
                            {
                            soloMuteProcess();
                            }
                            
                            // btnSolo
                            inline function onbtnSoloControl(component, value)
                            {
                            local index = btnSolo.indexOf(component);
                            
                            soloState[index] = value;
                            
                            soloMuteProcess();
                            }
                            
                            // Functions
                            
                            inline function soloMuteProcess()
                            {
                            for (i = 0; i < NUM_CHANNELS; i++)
                            {
                            if ((!soloState.contains(1) || btnSolo[i].getValue()) && (!btnMute[i].getValue() || btnSolo[i].getValue()))
                            out[i].setAttribute(out[i].Gain, knbVolOut[i].getValue());
                            else
                            out[i].setAttribute(out[i].Gain, -100);
                            }
                            }```
                            
                            d.healeyD 1 Reply Last reply Reply Quote 0
                            • d.healeyD
                              d.healey @ScreamingWaves
                              last edited by

                              @ScreamingWaves Can you put that into a snippet?

                              Free HISE Bootcamp Full Course for beginners.
                              YouTube Channel - Public HISE tutorials
                              My Patreon - HISE tutorials

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                ScreamingWaves @d.healey
                                last edited by

                                @d-healey
                                how do i do that? export as compressed script?

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

                                  @ScreamingWaves Make a mini project that includes only what's needed to demonstrate the issue. Then go to Export > Export as HISE Snippet. Paste the result here in code tags.

                                  Snippets don't include images or samples, so use waveform generators instead of samplers

                                  Free HISE Bootcamp Full Course for beginners.
                                  YouTube Channel - Public HISE tutorials
                                  My Patreon - HISE tutorials

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    ScreamingWaves @d.healey
                                    last edited by

                                    @d-healey

                                    On the snippet it works. My bad, on my project i left the knobs linked to the gainFX with the processor ID, that's why it was not working properly

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

                                      @ScreamingWaves Mini projects are a great way of debugging issues like this :)

                                      Free HISE Bootcamp Full Course for beginners.
                                      YouTube Channel - Public HISE tutorials
                                      My Patreon - HISE tutorials

                                      1 Reply Last reply Reply Quote 0
                                      • S ScreamingWaves has marked this topic as solved
                                      • First post
                                        Last post

                                      20

                                      Online

                                      2.0k

                                      Users

                                      12.8k

                                      Topics

                                      111.0k

                                      Posts