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.
    • 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

                        47

                        Online

                        1.7k

                        Users

                        11.7k

                        Topics

                        102.0k

                        Posts