Forum

    • Register
    • Login
    • Search
    • Categories

    I am once again stuck with a small problem

    General Questions
    3
    33
    84
    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.
    • MikeB
      MikeB last edited by

      I have 16 knobs - all 16 are visible.
      There is a selector knob with the value 1-16
      If I change the selector knob I should
      only as many knobs are displayed as the value of the selector.

      For example, the selector is set to value 12 - the knobs 1-12 are displayed.
      the knobs 13-16 are hidden.

      In my example code here, only the knob that corresponds to the value of the selector is displayed.
      So unfortunately it is the other way round.

      I have tried to adapt the super script from Lindon, but due to my lack of experience I am not getting anywhere.

      const var selector = Content.getComponent("selector");
      
      const var myPads =[];
      const var nrPads = 16;
      for (idx=0; idx<nrPads; idx++){
          myPads[idx] = Content.getComponent("Knob" + (idx+1));
          myPads[idx].setControlCallback(myPadKnobCallback);
      
      }
      inline function onselectorControl(component, value)
      {
          if(value){
          for (idx = 0; idx<nrPads; idx++){
              myPads[idx].showControl(idx == (value-1));
              Console.print(idx);
          };
          
          }
      };
      Content.getComponent("selector").setControlCallback(onselectorControl);
      

      Bildschirmfoto 2021-06-24 um 08.52.12.png

      "One hour of trial and error can save 10 minutes of reading the manual."
      "It's easier to hit the developer with feature requests than to spend 10 minutes reading the manual. :-)))"
      HISE Develop - Mac Pro 5.1, OS X 10.14.6, Projucer 6.02, Xcode 10.3

      ulrik 1 Reply Last reply Reply Quote 0
      • ulrik
        ulrik @MikeB last edited by

        @MikeB

        HiseSnippet 1122.3ocsX0saaaCElxwrqVctXAXO.B9Jafr.YGGmzUzF233LXrlDiprh0aVKsDcLQjHMjnRiWPdZ1KReD1c619Hrq1saj5GK4DqNGKUciAOmyG+9NzG96PWlI1yi4BTpb9roXfx2BMlQ4S5MAQnfAGATdJ7DjGG6pEZ5vYSQddXKfhxF+jzfRkxffu+9fCQ1HpINwD.7VFwD+ZhCgmXcX2elXaeLxBeNwIUzs6NvjQ6wrY9B8rATGLEYdI5B7oHYXkf.kG02hvYtFbDG6Ih4Pl0LiIrORCi+sDOxHarrQSfgniBMC5MgXaMLNW8..kxCSx7MBy7uGdBwhL2dxHv2E3PKAQ5w.kRKJoxKHolYIoiY1VxNHC4ojRdkCk2lPCSWxTdhGo1dBb.U7myXjXXOsrBiET5eTf8XhHn7scPWhO1UzXNh5cz02RaWc8FOupZUUwfuGW6Jjq1kzQdZuPKF4EX9qrs6wblxnh1d0qIBnVHnppDpMgh0F6SM4DFUiQM5+598N+r2Hw6xrqaFibKQua6iaTU8lppUFyb0papQnA7ILpI9tI7G4mz51DpE95yFW2rg1KeQHbsCzL21CyqW6pvA2ZaoMFY6ga7i22A2Uv2yC5yaqpdaflSkWySp50hUcsFx9HR68P11iDUg0uWVIS+T47oLN9LZ8Fp2nVQ8VUs65Z73k5KpyrwtK0sbBh6WBXcpuyHra7.abfhplEKKexpUVZFNxjJPFc.kvOaJNpcRgqzWXVG6UGLOYSaJIGSaMH0VRXIlt+7BPz+bhYHaFEtHTdv7imFM+vvlXgcADgFeDTTB0DDLzjdQIvphsUNvtSNv1NGX2MGX6jCr6kCr6mCrOa8v9MA0F54Aby7.tUd.uSd.2NOfuS00e8G+4AqN30r7REFuz6cwq2E7KCNBwQxsLiVaPrdwTrKmHW0S4H7UhyeDtAZE3QXuK4roAKdDsrunH5+a4iqSq2Yoa7QhEeRhgeq6DL4hIoNoyftfUmoVYxzftEKS6jISuqfYpcVL8oQELS6lYNQJXl5jEScYELS6k4nmaAyz9Ywzm8KXldVJl9Lp6Wm4SwKtmP0mVfpBbBU7VAYQ06JZpZkEUE4Tp3sYxJqHEMUsyhphbRU7VXYM.5VzT0IKpd3SqTWksGSX6C9O3JCGz0o2Y0Yw616wwSMH+tPBPXys0ANDKKa7PlGQdgjjH05Bt+cWE2flY4ai3KdsZ46GD4P1Gou+p7NpTQeOKsFd.20Veo20t4xtSwJJ2MgCIbyIKWukVhdEmI4qsdid4hpv9iGiM4IhsL73eccelhGfTdCymSnWbBh6RDEOvS8cLX9tlXgRnTrsfHnRI4o7BaqKaKGYLvTqfF+q3KxYSYakHmMicBbPltr2aFdLQ4ai73.KBMQCdVnJvSjs0leZbHTOr9j7dSS4PwOHz9xwzZMvryZfo8ZfY20.Sm0.ydqAl8+hXjuV1q74LmvoIBCC6GbHcEk9TjnJKnhD7ePf2mN0
        

        Hise Develop branch
        MacOs 13, Xcode 14.0.1
        http://musikboden.se

        ulrik 1 Reply Last reply Reply Quote 1
        • ulrik
          ulrik @ulrik last edited by

          @ulrik or

          inline function onSELECTORControl(component, value)
          {
          	for (c in knbs)
              {
                  knbs.indexOf(c) >= value ? c.showControl(false): c.showControl(true);
              }
          };
          

          Hise Develop branch
          MacOs 13, Xcode 14.0.1
          http://musikboden.se

          MikeB 1 Reply Last reply Reply Quote 3
          • MikeB
            MikeB @ulrik last edited by

            @ulrik Thank you 🙏 🙏 🙏 🙏

            Since your concept is much better than my attempt, I now have the following problem
            How do I get the value of one of the 16 knobs in your way?

            SliderPack1.setSliderAtIndex(c, value);

            "One hour of trial and error can save 10 minutes of reading the manual."
            "It's easier to hit the developer with feature requests than to spend 10 minutes reading the manual. :-)))"
            HISE Develop - Mac Pro 5.1, OS X 10.14.6, Projucer 6.02, Xcode 10.3

            ulrik 1 Reply Last reply Reply Quote 0
            • ulrik
              ulrik @MikeB last edited by

              @MikeB

              inline function onknbsControl(component, value)
              {
                  local index = knbs.indexOf(component);
                  
                  SliderPack1.setSliderAtIndex(index, value);
              }
              
              for (k in knbs)
              {
                  k.setControlCallback(onknbsControl);
              }
              

              Hise Develop branch
              MacOs 13, Xcode 14.0.1
              http://musikboden.se

              ulrik 1 Reply Last reply Reply Quote 1
              • ulrik
                ulrik @ulrik last edited by

                @ulrik check if it's working with this Console.print

                Console.print("index:" + index + " value:" + value);
                

                Hise Develop branch
                MacOs 13, Xcode 14.0.1
                http://musikboden.se

                MikeB 1 Reply Last reply Reply Quote 1
                • MikeB
                  MikeB @ulrik last edited by

                  @ulrik It works fantastically - I thank you very much - you have saved me again many hours of try and error.
                  I often simply lack the syntax - I have to work on that.
                  I can do a lot myself, but often with 100 lines of code - while you show me here that it can also be done with 15 lines and much more elegantly.

                  "One hour of trial and error can save 10 minutes of reading the manual."
                  "It's easier to hit the developer with feature requests than to spend 10 minutes reading the manual. :-)))"
                  HISE Develop - Mac Pro 5.1, OS X 10.14.6, Projucer 6.02, Xcode 10.3

                  ulrik 1 Reply Last reply Reply Quote 2
                  • ulrik
                    ulrik @MikeB last edited by

                    @MikeB I'm glad I could help. 😀

                    Hise Develop branch
                    MacOs 13, Xcode 14.0.1
                    http://musikboden.se

                    MikeB 1 Reply Last reply Reply Quote 1
                    • MikeB
                      MikeB @ulrik last edited by

                      @ulrik
                      Sorry if I am annoying now 😬
                      Is there a simple solution to return the value of a slider of the SliderPack to the knob?

                      "One hour of trial and error can save 10 minutes of reading the manual."
                      "It's easier to hit the developer with feature requests than to spend 10 minutes reading the manual. :-)))"
                      HISE Develop - Mac Pro 5.1, OS X 10.14.6, Projucer 6.02, Xcode 10.3

                      ulrik 1 Reply Last reply Reply Quote 0
                      • MikeB
                        MikeB last edited by

                        @ulrik I save everything I learn in a specially created Ninox database on the Mac.

                        • Text and image (for me as a visual person, the image is most important).
                          Here I can quickly read the English and partly translated German texts.
                          That helps a lot.

                        Bildschirmfoto 2021-06-24 um 12.45.49.png

                        "One hour of trial and error can save 10 minutes of reading the manual."
                        "It's easier to hit the developer with feature requests than to spend 10 minutes reading the manual. :-)))"
                        HISE Develop - Mac Pro 5.1, OS X 10.14.6, Projucer 6.02, Xcode 10.3

                        1 Reply Last reply Reply Quote 1
                        • ulrik
                          ulrik @MikeB last edited by ulrik

                          @MikeB this is a universal function that will return all values as an array, just set the SliderPack as an argument
                          (in case you have more than 1 SliderPack)

                          //  function, get all sliderpack values
                          inline function getSliderPackValue(sliderpack)
                          {
                              local num = sliderpack.getNumSliders();
                              local values = [];
                              
                              for (i = 0; i < num; i++)
                              {
                                  values.push(SliderPack1.getSliderValueAt(i));
                              }
                              
                              Console.print(trace(values));
                              return values;
                          };
                          
                          //  execute the function to get the values and store them in a variable
                          local values = getSliderPackValue(SliderPack1);
                          

                          or store them in the knobs

                          Hise Develop branch
                          MacOs 13, Xcode 14.0.1
                          http://musikboden.se

                          ulrik 1 Reply Last reply Reply Quote 0
                          • ulrik
                            ulrik @ulrik last edited by

                            @ulrik then you have to set the knbs to that value

                            Hise Develop branch
                            MacOs 13, Xcode 14.0.1
                            http://musikboden.se

                            ulrik MikeB 2 Replies Last reply Reply Quote 1
                            • ulrik
                              ulrik @ulrik last edited by

                              @ulrik this is more simple

                              inline function onSliderPack1Control(component, value)
                              {
                                  for (i = 0; i < knbs.length; i++)
                                  {
                                      knbs[i].setValue(component.getSliderValueAt(i));
                                  }
                              
                              };
                              
                              Content.getComponent("SliderPack1").setControlCallback(onSliderPack1Control);
                              

                              Hise Develop branch
                              MacOs 13, Xcode 14.0.1
                              http://musikboden.se

                              1 Reply Last reply Reply Quote 1
                              • MikeB
                                MikeB @ulrik last edited by

                                @ulrik Where do I put your lines now?
                                This is how it looks at the moment!
                                I have three song packs for note, length and velocity.

                                inline function onselectorControl(component, value)
                                {
                                	for (c in myPads)
                                    {
                                        myPads.indexOf(c) >= value ? c.showControl(false): c.showControl(true);
                                    }
                                };
                                Content.getComponent("selector").setControlCallback(onselectorControl);
                                
                                
                                
                                inline function onmyPadsControl(component, value)
                                {
                                    local index = myPads.indexOf(component);
                                    if (Button1.getValue()){
                                        component.set("min", -24);
                                        component.set("max", 24);       
                                        SliderPack1.setSliderAtIndex(index, value);
                                    }
                                    
                                    if (Button2.getValue()){
                                        component.set("min", 0);
                                        component.set("max", 127);
                                        SliderPack2.setSliderAtIndex(index, value);
                                    }
                                    
                                    if (Button3.getValue()){
                                        component.set("min", 0);
                                        component.set("max", 99);
                                        SliderPack3.setSliderAtIndex(index, value);
                                    }
                                    
                                    Console.print("Knob " + index + " Value " + value);
                                }
                                
                                for (k in myPads)
                                {
                                    k.setControlCallback(onmyPadsControl);
                                }
                                

                                "One hour of trial and error can save 10 minutes of reading the manual."
                                "It's easier to hit the developer with feature requests than to spend 10 minutes reading the manual. :-)))"
                                HISE Develop - Mac Pro 5.1, OS X 10.14.6, Projucer 6.02, Xcode 10.3

                                ulrik 1 Reply Last reply Reply Quote 0
                                • ulrik
                                  ulrik @MikeB last edited by

                                  @MikeB What is "Button1, 2 & 3?

                                  Hise Develop branch
                                  MacOs 13, Xcode 14.0.1
                                  http://musikboden.se

                                  1 Reply Last reply Reply Quote 0
                                  • MikeB
                                    MikeB last edited by MikeB

                                    @ulrik
                                    They are radio buttons that select which of the three slider packs are changed with the 16 knobs.
                                    Button 1 for SliderPack 1 for Note (-24 to 24)
                                    Button 2 for SliderPack 2 for Velocity (0-127)
                                    Button 3 for SliderPack 3 for Lenght (0-99)

                                    "One hour of trial and error can save 10 minutes of reading the manual."
                                    "It's easier to hit the developer with feature requests than to spend 10 minutes reading the manual. :-)))"
                                    HISE Develop - Mac Pro 5.1, OS X 10.14.6, Projucer 6.02, Xcode 10.3

                                    ulrik 3 Replies Last reply Reply Quote 0
                                    • ulrik
                                      ulrik @MikeB last edited by

                                      @MikeB aha, same buttons for 3 different packs, hmm...let me think

                                      Hise Develop branch
                                      MacOs 13, Xcode 14.0.1
                                      http://musikboden.se

                                      1 Reply Last reply Reply Quote 0
                                      • ulrik
                                        ulrik @MikeB last edited by

                                        @MikeB So you want the knobs to change values at the same time as you change the radio buttons?

                                        Hise Develop branch
                                        MacOs 13, Xcode 14.0.1
                                        http://musikboden.se

                                        1 Reply Last reply Reply Quote 0
                                        • MikeB
                                          MikeB last edited by

                                          @ulrik here ist the Snippet for better understanding

                                          HiseSnippet 2381.3oc4Zs0aaibElxxzqsx5bqYwt.8EBihB45rBRT9RRS2ZIeK1ariUsb7FfsEAzTCklXpgrji7Z2z.ru0W6OgBzW5Oih9ZeoOtO1G6iAn+.ZOyLjRintQJeY01x.3nyLy2Y9Nm4Lyb3LrhmiIx22wSI0bGeoKRI0GqV8RBswlMLvDk81RI0iT294GpUX0JF0dAw4TsiQ9TkMtz0v2GUSIUpzOm0xTyMsB+4CquggsAwD0oHEkSbvln8wMwzNkVozKv116XTCcLtoTqWtzdlNjMcrcZArJsZdEWCyyLpidoAqYSopjZlsqgoNdUoFTjuRpo2vo1kUa37MDQ6OA6iO0FwDJnTETjn3cbrqwXLqTkMafsqUIz58UTRoVoiuHsvW7H0Cv0vsKuiO497Jz5fP1ejZpgQuBxzKe7oWJI5MsfdOPspoG1k1oFF2ti5dDJxyx.FBjoknsJS8WlUcSGnEDZtlFmg1wCDZiHaA874er1J4yu3ylOi3evngOU6bCOsxdtn50wFfwUP6Kz3AJ4pinc4kxtfbyVfomNZnpMtFxqBLfxTPHO.UroSSWGBHjcAo1LPz5w.s9.QWLFnKFAcyKgI.9cCrrscar9YWfM8HBJejMxD7CCrCCaPDbazhRcHC1GETeeQoOBT58EUwQfR3OB+GlXiIHMqVDSJ1gnAJKvPX5vywNqYnBdLzI1sPKNel2Mel4r.eQVSMLIvgBEqAOuS7erGQ44vjZnKNzJq4hZ+xuPnBs00Ly4CSjB6CKCaezh+7HkR8fd6YBE994y7d3mix2mymUAG9lF11mBi+Y6wj5X+8Z8BROPaOy63rw1wzvViaYf2NpgFBZwmwaL1RKavvLi2mvTT1EWTxS0FAi9YWnIlrvi09b8kCM990FiKf1vZRP8cZozzNVaEhkgkF.5kkSxPqQvu2moC9NbUOIbM+HYZA80jaizj63ww46KIKd8Rxm9z9ywhImiPDjuiMJmqGlEgx2vcAskBhYVB9Mm17xBUx6yjgOq5LoYUAAbm0+.6thVYZn+A0RQDiJxlS.LDTm+YZXseQXrsMhTm1.JZokVTLOOxz7uF+aXTTLVzw4VOzuwqnLMKdw1QcvD5LwXii9a48ZRhY0Cy30+AlwqOZiWWx3kr4W5PQGRxxrq4fvJsnUYY025BTlMxquUyRuyaX.yRZ07TjmjWk2PHOmtSjRcvIRImmmov+H0PGxdDL8PWDYPoWoD3TgDs9z.VAMkxSy5tAoYIbeJXHapORkMyrfBmvsSc8udbIkXCVOBXkBI.bwHf+1cS.3kiB9fD.dknfKm.vqFEboD.dsnNrJI.7ShB9Wk.vOMJsiG3YEAI4i10GkDz8DikHz5WIzQixJUMIniFlU5UIA8JWo9d0wCcF0vT9hNl8yjvOs.+C6BOaUUtNlWUZOlP0nlhomZFTCkTes5pKmCdH41LWNqs1B94tmC+Yqxkg+tMStREd8L4xLY9i0RajS943xaxpee3OeYP6UFnQJx6gSv4TCxprC43lXBf1yZWeX8j.u3f5436Y0Ghm0xYCvys6NfmqxaYdFCl796xjsXxV75+RP9bBS9sL4SXxu1AjsrYxtLYRn7XQRI6bpdHImDVbRwHgUClbNVmlylQpi4jbOlLlI+Jd64xbi5Tl7qYxm2jgGyH4q1aKVm.utev9YvdbtHOJls8YpsPmiMQhyNXN0sP9mQcb4a3EjEALCXja4cAybtGXNWx9wuG9w2fqQazIV3WWpABWuQmS54a2uDjmLHNymEbbP9TjaU7uqq.H2vci2qFq+kOCAkl7CXZl+0+Q7nHQ34F41rbB+mu9I7UfTEEjZsTSRjZYAo96STjZEAodyTSRjZUAo92STjZMAo9ComjH0SDj5GO8jDodZj0v9ae+Rp1oI18BUSFrpPjUplLXkdjkplLXUwHqUcqvpLiNM7tWr55iUmG952oReUH3JQViXhifqFYk0aaB9Qw48Utnid2qzksE9StA7Hnt7kFb7kbt7s6b0D7xNR8y9Rb3O1pzvRtSt2lIFu0BevPObYxUfe3YTC67bOmVthi2ghtfMtpVEQ0XmaUB6hfUW9tvtnv.6h6x6hSP1NlX5kIraBVt3soFY27w7tYeDgEg0mNIVuuDuylUzYwafoCZ9YWGdzYiS2GXqeWns9Z3GIrqgQ7duAz6qdfSsV1LPxWNK6FoCp.Cdc4aAkcSmDe1nkT.+MxM1FW59.0JXpYi9y2o5CegWu6lluA2+87paaYAquzgrSqtyqu4uraYp7IBpbG0ux3bD+Fm4D4S3xVNdM0dNhf7DwMC9yR3eD2OKA2X+YIbnIEnvwdFDeWGeTAYMGoNc451BQaQ5t4hh5pULyaGv7jZ2rkBKTWtvJFjtTFH2klN.Ksv7+b8sIFv.RUDXM0Nz2DLVluSd5PkV19nuhsCWAYfcJVWt3cM7pAiKlcEflN1QE8+KzHe+9DHl4l5KzHc7n2H9pLZOoQZoLNWhr3VWLI80DSjt.ieTLNJt6pJXQPQQNNu3cZfyqdDxGQSrJjRf4dpurUyprLRDkEQI4i0o1dGUlF3bY7Xw84Jn5Y3APi3c5lfVb7nu.co+Uwi.FiKBw+RqhpfeZudi6Gn.XS4Sc1v4BtJf8iQ+1VHXst1EGeCRhJyqJVE6HCRcz3YMyoVsQKKKaz3EgcGUwhUGiQCyDF9Ix9HvczDeLjyhTE8PmayyleT7MLgxAy2Or9jyId+P084Wzcr8t2LG8crlZ7.UXGBBAYWc.2ySelYzWE8opG1h51hdMotGndPksg8.7BUXOtvXN2+dLEsMo1.TyPVPUZZ2Lp6BaD2mor2ZIfmNdYQNhMjmKjiUwMcsQaSNGlXAkv33CU2BYYzxlFVZ26KefCwwsgCA2UZMGgnd350QcksTeMnxTJahP6RdToifPDCeI+4Ooz9XBxvC7SnwzWjfjSF130moJnqFKiWs+23EmR++8u3zvmgBuTvObFogUa8M003C2Ze+OdejSKJlT+.CX0.14ZvxgEdqPHeKwpt9g23afb9va5tJhTiKvNhufJKvjSETYgvJuU5ilFldNuwTrg.aAiY4k.1Mg+o1Om5ALYsNeo.p4ykWoI7hUuwzjES+4f+o+XzGCLEGCLKOFXVYLvr5XfYsw.ySFJF16zVtE0ooH9GJnx17a7OUJQlx7oBJ+WDo1AcJ
                                          

                                          "One hour of trial and error can save 10 minutes of reading the manual."
                                          "It's easier to hit the developer with feature requests than to spend 10 minutes reading the manual. :-)))"
                                          HISE Develop - Mac Pro 5.1, OS X 10.14.6, Projucer 6.02, Xcode 10.3

                                          ulrik 1 Reply Last reply Reply Quote 0
                                          • ulrik
                                            ulrik @MikeB last edited by

                                            @MikeB can you send a snippet of what you have so far?

                                            Hise Develop branch
                                            MacOs 13, Xcode 14.0.1
                                            http://musikboden.se

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

                                            15
                                            Online

                                            982
                                            Users

                                            6.6k
                                            Topics

                                            60.8k
                                            Posts