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 @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

                          38

                          Online

                          1.7k

                          Users

                          11.7k

                          Topics

                          101.9k

                          Posts