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.
    • musictopM
      musictop @d.healey
      last edited by

      @d-healey thank you so much David.

      my website: https://musictop69.wixsite.com/ilirbajri
      https://musictop69.wixsite.com/creatools
      https://musictop69.wixsite.com/orchestools

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

                                  15

                                  Online

                                  1.7k

                                  Users

                                  11.8k

                                  Topics

                                  103.1k

                                  Posts