HISE Logo Forum
    • Categories
    • Register
    • Login

    MIDI keyboard range script?

    Scheduled Pinned Locked Moved General Questions
    19 Posts 6 Posters 1.1k 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.
    • meyerkeysM
      meyerkeys
      last edited by

      Hi guys,
      I would like to make UI with 2 flexible split points (for tenor / soprano / piccolo instruments) and on first sight your bit of code is exactly what I was looking for.
      It works great when I replace lower_range and upper_range with numbers, but when assigning a slider to set the ranges from the UI they become just on/off switches (range 0-1 switches at 0.5 ; 0-127 at 1).

      Obviously I would like to set a value between 0 and 127 with a slider in the UI. Any Idea how to make that happen?

      thanks!!

      ustkU 1 Reply Last reply Reply Quote 0
      • ustkU
        ustk @meyerkeys
        last edited by ustk

        @meyerkeys Hi
        You can set the slider ranges in the property editor of your sliders (0-127) (don't forget to set the stepSize to 1)

        Then first solution:

        • Create the slider's Script Reference in the onInit callback.
        • Then in the noteOn callback, you can replace the lower_range variable with myLowRangeSlider.getValue()

        Second solution:

        • Keep the const var lower_range variable
        • Create a callback for your slider in the onInit
        • In the callback, place lower_range = value;

        Can't help pressing F5 in the forum...

        LindonL 1 Reply Last reply Reply Quote 1
        • LindonL
          Lindon @ustk
          last edited by

          @ustk said in MIDI keyboard range script?:

          @meyerkeys Hi
          You can set the slider ranges in the property editor of your sliders (0-127) (don't forget to set the stepSize to 1)

          Then first solution:

          • Create the slider's Script Reference in the onInit callback.
          • Then in the noteOn callback, you can replace the lower_range variable with myLowRangeSlider.getValue()

          Second solution:

          • Keep the const var lower_range variable
          • Create a callback for your slider in the onInit
          • In the callback, place lower_range = value;

          'cept it couldnt be

          const var lower_range

          it would need to be

          var lower_range

          HISE Development for hire.
          www.channelrobot.com

          1 Reply Last reply Reply Quote 1
          • ustkU
            ustk
            last edited by

            @Lindon Oups sorry, you're right const shouldn't be here...

            Can't help pressing F5 in the forum...

            1 Reply Last reply Reply Quote 0
            • meyerkeysM
              meyerkeys
              last edited by

              Many thanks guys!

              I wondered about "const" as well but I got it working with both versions.

              Cheers!

              LindonL 1 Reply Last reply Reply Quote 0
              • LindonL
                Lindon @meyerkeys
                last edited by

                @meyerkeys yes the first solution @ustk offered may well work but the second wont as:

                lower_range = value;

                means you are assigning a value to a constant - and that wont work. constants get set and can never be changed - theyre, huh, constant...:-)

                HISE Development for hire.
                www.channelrobot.com

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

                  If the constant is an object you can change the object's contents.

                  const var foo = [1, 2, 3];
                  
                  foo[1] = 10;
                  
                  Console.print(foo[1]);
                  

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

                  1 Reply Last reply Reply Quote 1
                  • meyerkeysM
                    meyerkeys
                    last edited by

                    Thank you guys for staying on this.
                    I kind of wondered about the const or const var thing anyway as David is using const var mostly in his great videos. Can't thank you enough for those btw. 👍
                    So your last post clarifies again. Got it.

                    ustkU 1 Reply Last reply Reply Quote 0
                    • ustkU
                      ustk @meyerkeys
                      last edited by

                      @meyerkeys You can find more information in the doc about the different variables in Hise
                      https://docs.hise.audio/scripting/scripting-in-hise/additions-in-hise.html#const-variables

                      Can't help pressing F5 in the forum...

                      B 1 Reply Last reply Reply Quote 0
                      • B
                        Ben Catman @ustk
                        last edited by

                        Guys sorry for reviving this old topic,

                        I have two Sampler, and one Synth Group, and with the script above i can set the note range for all of them. No problem here - but how can i control my samplers seperately. So that i can set a range for Sampler1, 2 and my Synth Group?

                        Thanks so much
                        best
                        Ben

                        LindonL 1 Reply Last reply Reply Quote 0
                        • LindonL
                          Lindon @Ben Catman
                          last edited by

                          @Ben-Catman put the script in three separate script processors one in each sound source.

                          HISE Development for hire.
                          www.channelrobot.com

                          B 1 Reply Last reply Reply Quote 0
                          • B
                            Ben Catman @Lindon
                            last edited by Ben Catman

                            @Lindon

                            so you mean i move everything, including the oninit part to the script processor? because in the script processor it cant get my slider value. so how can i cross reference that?

                            LindonL 1 Reply Last reply Reply Quote 0
                            • LindonL
                              Lindon @Ben Catman
                              last edited by Lindon

                              @Ben-Catman create a slider in your script processor and change that from your UI

                              start like this in the script processor on init

                               const var LowRange = Content.addKnob("LowRange", 10, 0);
                               LowRange.setRange(0, 126, 1);
                               const var HighRange= Content.addKnob("HighRange",180, 0);
                               HighRange.setRange(1, 127, 1);
                              

                              HISE Development for hire.
                              www.channelrobot.com

                              B 1 Reply Last reply Reply Quote 0
                              • B
                                Ben Catman @Lindon
                                last edited by

                                @Lindon
                                Got it, got it.

                                Guys, you are AMAZING!

                                Thx so much!!!!

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

                                6

                                Online

                                1.7k

                                Users

                                11.8k

                                Topics

                                103.0k

                                Posts