HISE Logo Forum
    • Categories
    • Register
    • Login

    Button from array

    Scheduled Pinned Locked Moved General Questions
    13 Posts 3 Posters 802 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.
    • JayJ
      Jay
      last edited by Jay

      I have an array working fine, but I want to do now is to select anyone in the array and have a certain button to be on.

      ex:
      if I select 1 from array button 1 should do something, but if I select 8, button 2 should do something.

      Joansi Villalona

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

        @Jay so turn the buttons on in the array call back

        HISE Development for hire.
        www.channelrobot.com

        JayJ 1 Reply Last reply Reply Quote 0
        • JayJ
          Jay @Lindon
          last edited by Jay

          @Lindon @d-healey ?

          const var rtLbl1 = Content.getComponent("rtLbl1");
          inline function onKnob2Control(component, value)
          {
          rtLbl1.set("text", irsNames[value]);
          ConvolutionReverb.setFile("{PROJECT_FOLDER}"+irs[value]);
          };
          Content.getComponent("Knob2").setControlCallback(onKnob2Control);

          // === Ambience1
          Bottoms[0] = "1";
          Bottoms[1] = "2";
          Bottoms[2] = "3";
          Bottoms[3] = "4";
          Bottoms[4] = "5";

          // === Chamber1
          Bottoms[5] = "6";
          Bottoms[6] = "7";
          Bottoms[7] = "8";
          Bottoms[8] = "9";
          Bottoms[9] = "10";

          How do I do that from here?

          Joansi Villalona

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

            @Jay ok so first - please put your code in code quotes.

            Second - this is incomplete, there are no buttons to turn on/off, whats irs? - assume its the array of IR names

            third - ok assuming there are a set of buttons called Bottom1, Bottom2 etc.

            
            function turnoffAllButtons()
            {
                   // loop round all the buttons turning them all off
                    for  (idx=0;idx< NUM_BUTTONS;idx++)
                    {
                       myButtonArray[idx].setValue(0);
                    };
            }
            
            const var NUM_BUTTONS = 4;  //you could use the array length instead of this
            var myButtonArray = [];
            myButtonArray[0]  = Content.getComponent("Bottom1");
            myButtonArray[1]  = Content.getComponent("Bottom2");
            myButtonArray[2]  = Content.getComponent("Bottom3");
            myButtonArray[3]  = Content.getComponent("Bottom4");
            
            inline function onKnob2Control(component, value)
            {
                rtLbl1.set("text", irsNames[value]);
                ConvolutionReverb.setFile("{PROJECT_FOLDER}"+irs[value]);
                //turn off all the buttons
                turnOffAllButtons();
                // just turn on the button you want
                myButtonArray[value].setValue(1);
                // do the processing you have inside your selected button..
                myButtonArray[value].changed();
            
            };
             
            

            I just wrote this in here - not in HISE so there may be some syntactical slips...

            HISE Development for hire.
            www.channelrobot.com

            JayJ 1 Reply Last reply Reply Quote 0
            • JayJ
              Jay @Lindon
              last edited by

              @Lindon

              
              function turnoffAllButtons()
              {
                     // loop round all the buttons turning them all off
                      for  (idx=0;idx< NUM_BUTTONS;idx++)
                      {
                         myButtonArray[idx].setValue(0);
                      };
              };
              
              const var NUM_BUTTONS = 6;  //you could use the array length instead of this
              const var myButtonArray = [];
              myButtonArray[0]  = Content.getComponent("ambience");
              myButtonArray[1]  = Content.getComponent("chamber");
              myButtonArray[2]  = Content.getComponent("hall");
              myButtonArray[3]  = Content.getComponent("plates");
              myButtonArray[4]  = Content.getComponent("rooms");
              myButtonArray[5]  = Content.getComponent("spaces");
              
              // =========================================== Selecting Bnt
              const var Knob2 = Content.getComponent("Knob2");
              const var rtLbl1 = Content.getComponent("rtLbl1");
              
              inline function onKnob2Control(component, value)
              {
                  rtLbl1.set("text", irsNames[value]);
                  ConvolutionReverb.setFile("{PROJECT_FOLDER}"+irs[value]);
                  //turn off all the buttons
                  turnOffAllButtons();
                  // just turn on the button you want
                  myButtonArray[value].setValue(1);
                  // do the processing you have inside your selected button..
                  myButtonArray[value].changed();
              };
              Content.getComponent("Knob2").setControlCallback(onKnob2Control);
              

              it's giving me the error "this expression is not a function" on the turnOffllButtons();, myButtonArray[value].setValue(1);, myButtonArray[value].changed();

              Joansi Villalona

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

                @Jay did you declare all those buttons? - where?

                perhaps post a snippet?

                HISE Development for hire.
                www.channelrobot.com

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

                  @Jay said in Button from array:

                  error "this expression is not a function" on the turnOffllButtons();

                  Check your spelling. And you should probably use an inline function here.

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

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

                    @d-healey yeah that looks like my typo--

                    @Jay :

                    turnoffAllButtons

                    and
                    turnOffAllButtons

                    are not the same... just rename the function to

                    turnOffAllButtons

                    HISE Development for hire.
                    www.channelrobot.com

                    1 Reply Last reply Reply Quote 1
                    • JayJ
                      Jay @Lindon
                      last edited by Jay

                      @Lindon

                      HiseSnippet 1698.3ocuXssaabCDkqs21Xk5fl19Peo.D5IYjTacKoEv0HxWjRTiuHXIm1BCCCpcor1jcI2rKWmHDXf9XeLeB4k9ej+g9CzOg7GzNj6ccwWQ6Z.CwYlyvgyLb3P1wiaP884dHsE6Mxkhz9B8tiXhgaMjXwPs2FocO8cI9BpGNjzlibI99TSjl17OURPawEPpuO8jMI1DlAMkDB8BtkAcGKGKQJ0NMdtkscKhIsmkSFoq2nsAmsE2lG.1y75kQtDiWQNktGQJ1b5HsOqookf60UPDTePlM4li5Nj+FVn7uvx2puMUNnBpKnnPxnsFZYa1Ids5iPZKzIckOe3J+az20xzJgdpG3KULvoHx5CzlKuIsPNSpRVSpbFSpE21TpfYXdZYLuEBMu6q20vyxUjxQZa2UuMCBNCHfaOqYEJKZtOrn9VbPBlXEGxqns7fAIHJ83xkeH9QkKu7ZKUXoBfy2WfOi.gZN6LtcfvhyNfdF0qOdcrJsXkSohMBLs3cINt1zDaoTwIfTTpzlrSsXzUr4DSErVV1TeX94c3b6RKuFFu5p3c.t3MrswsO.aA7vNTGt2HL7q9TrKHYdqay.gfyp.1T7RCrps3NtbFLnTwH9JCXbTUuDTUmJpZWBpZSEU8KAU8hi62s77ALGcrhL3YVe80wa3z2hB6pprTAf8QkOFjnXLwUdC4rhfWL7CPHB7XINHNKDSkbXplCzrvTUgA1D3zm5keZFCS0DL0TXbsk6DpbgXpkfodFLUuhXdjBCWLbBKabL0Sv73TLiOMSESr++59gkEq7w7AP1b2whsgrt3.rRlwhxEWKCqwBl43kKnkiSXnoSXnIGm5Y3jWaYby4nG5J2u2yZdfBvREFDvLj67UtQ9fAvl4PeoeokWpv6VpPpi1lycwd7.lIl.a4Aki6GJpBrE6TIMGESPSIPwC3dXbIKy2td40f++S38Nb2S17vd81eutRBO3AKmJb5TJ+bFEZMa34QFcDH6wq3SEufXGPKop8EK34vuOWshxF4xLQvButpn0Hd.1fGXahC7opUAQpbrMkcpXHTFCNxDppAoAhgV9Y0VNiINYHuEBQ+qTws7npbonpNETUuTT0lBpZWJp3haW+cR3tTaJjNAYBaxDYccOmw6O6B3JtiUH1SrSe6YeRQH6HK0hYCmUgSxk4LkFkH8fCqLhg8PPyPlSZhcnVjoTkJJnuUT7gIa1ORI5ww4XSbHoDj7LwREeWmC1+matUuSZs+Na27fyK9.YUq7vWcUUYJXaw36cB4K4te9ceIHwuL.7Ig3YYfhkYxugHczStUIb5S2rTIi9L4Js3F1BfLZI0zPxYTY1ukIUN1C6qBlTynoakUtf4wXHgcJ0TY0xsgWXbVZUQwls.uQenUwR4CYoIfYpPwY6wEz8YkVtv6JrXgyKfGm0fASkWjRsodSksrUVuKBXIVfrpbb1SrfP+c4af7tytAxr8zZD5axHHm0lYI12kFMNsESIuvUcL2xnjEaVRoqwrTUKsoHVJoI6fEEE6fdY0iDGDUn5j8dQcx10FxR7PVfM945p.GR4axd+Azr.Gl9n.undTQwwg+ombcfeKm8Z2N30mB7CauMQPjWGHxaBdXWpmvRlmnsM8L3tUgWNXQ8so9uRvcgqHkrUAb8WpC+sIS36eciQIC9.qgCIkG5aaflTsKEo1cH8o1JsdG8vZgR0pC+gPij+3kfFjEFQZEziabAglscN0Xap0z3vLV5GGzvi.2r3oPOEtxrwpWSMWcVZ9usukZt1rz7u+5aolqOKM+dwjZdxqRBWnkaF.c7k+VtxqyGw.pbk65jxqLBE0Eixt45Ve02JSqvwUzbuudGKgwvoauyME6E1F8es8F8PBKo2bv.3PuTicA8V+5M8UCpbyd0fuJ1VxzygxV9Z8I5BImoss2n7uqyu8wegJxSBg1AralQN2aaG2.ae5NpNfylmDYUsYtAhrzOzmtIbp8opaCzanGzvbV80wiZRsI4limYsUFc7G+UisINtPuGYkoUqdQEESIAsXk7HRNxUhr1DBopwoq8memFRduDHZ3Ih4IIzjYFOTa9K5ompb0e5IzA7.Yys6RDdVxoeu.mtPmRFTHegwn19xobN4oGgiKGaBcoLS0f+A9hXVQNVKhYkXl+uLGNDCO9IFgGwIS+tihBrtYJW8h56JGiSNVVWu7JkA2uo0IFFxMEeeEDZ5XpdCvT6Ffo9M.yitAXd7M.yObCv7iWHF4yXtQff6DVvDHzoopCCMslLBj8pJ.f9WvsHMBi
                      

                      @d-healey

                      Joansi Villalona

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

                        @Jay said in Button from array:

                        like we said make one small typo fix and it works

                        HiseSnippet 1656.3ocuXssbaaCDkz1LMVsJSSaenOhQOIOIUV2RZmw0SksrThZ7EMVxoW73wCDIjEZHAXHAchlLdl7XeLeB4SI+C8GneB8OncAHEuHKY6nlD9fFgcwYwg6tXwB10iaR784dZ5q1erKQS+KL5MlIF0bDlxz5ril9cL1C6KHdnPQaO1E66Srzz0W9QRA5qthl54e9osw1XlIIQjl1S4TSxtTGpHQZ2FOgZa2FaQ5ScRM65M5XxYM417.fOKaTVyEa9L7Yj8wxosjgl9sZYQEbudBrf3qoux1bqw8FweAKb9Ok5SGXSjCpn0CLTn31baKIikR0ZNhZa0cx6suFXktIdgkC8BeiwdTKZr7DuwWpTfRPj1enuzUQuJooW4aN8zSQuUBo2cM5Y5QcEIZjb6yM5vf.0PLDBRSqv4pszaW0nIGlASTxA+LRaOXPLhhOrb46idP4xqsQ9b4yAABeA5bLD14ry41ABJmcH4bh2.zlHUJRoyHhsBrn7dXGWaRLWJV3RPJHMZK1YTFojMGaof0lZS7g0m2kysKt1FHz5qi1Ezh1x1F04PDEzgbHNbuwH3eCHHWXlYY21ABAmUA3zjWMfUM4NtbFLnXgH8JBLMppWCppyDUsqAUsYhp90fpdgo86TOe.ywmnDCdlM2bSzVNCnDXGVk74.0GW9DXFElHrzKvmW.7hgO.BQfGK1AwYgXpjAS0LflGlpJLvl.mADurKyTXpFiolBiqsbmPkqDSsXL0Sgo5MDyCTX3hQWhYSiodLlGlfY5kYlXl3+eeePxBW9H9PHat2Tw1PUWc.VMmohxE1HkpoBlYzkInkQSXnoaXnIil5ozj0ZobyYjG5JOn+iacnBP9bCCXlxc9J2He3PXybnuzu3Z4y8p74Rbz1btKxiGvrPXXKOXbzfvop.SYmIk4nTBVJFJZH2CgJRsd4lk2.98GQ6ezdmt8Q86ev98jBt28VKYxIKo7wYbHa1xyCO9XXtmTxmHdJ1NfTTU6axDu.9+Ep2nzQtTKD7hWWUzZLO.YxCrsPA9D0aAVZbjMgclXDTFCN9DppAoAhQT+zVKCYljLjkgPz+FUbKKpJWKppy.U0qEUsYfp10hZRws2+cRndDaBjNAYBayDoccOgwGL+B3JsSUH1Sr6.64eRQn5HlRY1vYUn3bYNSYQIRO3vJyIvtOXYHyIIwNzJxTphEDjWJJb+3M6Gql5ISxwtzgjRPxyDKV3UcO7fetUy9m19fc2o0gWT3dxpVYgu95pxTv1ho26DpeF69hQh9i.vmDhmkBJRlI+BrzQe4sJgKexlkJormEWYE2vV.jQKokFgOmHy9oVD4XOjuJXRrhVtRkth0wbDlcFwRwZ41vqLNKYUTroI3MF.sMVLaHKIALUEJNaetfb.q3Z4dUtUycQNzzpFNbl5hLpMwalpks05cU.KxBjUkmj8LYhP+cYafzX9MPlt+VyPeSpIxYcXTwAtD17ZqTKxgBMXZDwJXpBU6k2Ip8xd1PnySiBcQ9YFJuolhvoavWadfCioJvqZDUoJF9szW.3Iq9sVjUu1+O30mA7i5rCVfk8nG4MAOrKwSPkAO8cHmCW9Iri8UM1g3+LA2EtCSb9K35uVG9Kic1u44MFGO3srFN3DcZeaCsKa17QlcW7.hsxp21Hr.UJy10MkYe8u2PV0RSOmwjtJzzlOemYLNwzMNJkoe2vFdXns+GAG36lJCpw6m8qNO6+21ePres4Y+W+7OH1u97r+aDyy9W99evsP4VAPaZYuZp793QJfxMYtCn7ddPkXw3z2W+ix8Uuoz8tFcoByQyluKMC9Bay9Xy2na+m2n0vgvIUIjcEi1+5m3q5+US3RpFETb4qMtTqCYn1Ndiy9gY9s28KDQVQZZ6B7lYlw81wwMv1mrqps0z4IQrpCyMPjV9Q9jsgiZOS0Be+QdPWtosWWOhEwFmYMdLsYJa7m+UicvNtPCComS618iJZlHB5KJ9q.4HeSLTmfnpAF9W4kIfngmHsfVLqIC0WNaDa4a1YqyHg4Pdfriz8vBOpb42OvoGzdiIAxWXLhs7fa8kjmtDNt7DJzivrTC9W3IRYE4X8HkUln7SxZ3fM83mZFdDnL861JIv6MS4pW0XO4XT7w1FFkKUFb+VzSMMkaJ9tJZZyFS0E.SsE.S8E.yCV.LObAv78K.le3JwH+1iaEH3NgELAAcao5.QWuECCYupB.Z+meZiPb
                        

                        HISE Development for hire.
                        www.channelrobot.com

                        JayJ 1 Reply Last reply Reply Quote 0
                        • JayJ
                          Jay @Lindon
                          last edited by

                          @Lindon the problem I have is that I have like 30 or so, does that mean I have to put 30 buttons in the array?, because right now is selecting the 4 first one, but was hoping to group it by category, let's say for example: 5 ambiences, 5 plates, etc.

                          Joansi Villalona

                          JayJ 1 Reply Last reply Reply Quote 0
                          • JayJ
                            Jay @Jay
                            last edited by

                            ?????????

                            Joansi Villalona

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

                              @Jay you have a solution - you work out how you should scale it.

                              HISE Development for hire.
                              www.channelrobot.com

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

                              51

                              Online

                              1.7k

                              Users

                              11.7k

                              Topics

                              101.9k

                              Posts