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 1.3k 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 @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

                            22

                            Online

                            2.0k

                            Users

                            12.6k

                            Topics

                            109.6k

                            Posts