HISE Logo Forum
    • Categories
    • Register
    • Login

    Button from array

    Scheduled Pinned Locked Moved General Questions
    13 Posts 3 Posters 803 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.
    • 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

                            49

                            Online

                            1.7k

                            Users

                            11.7k

                            Topics

                            102.1k

                            Posts