HISE Logo Forum
    • Categories
    • Register
    • Login

    Repaint panel or sliders on combobox callback

    Scheduled Pinned Locked Moved General Questions
    25 Posts 3 Posters 1.2k 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.
    • gorangroovesG
      gorangrooves @d.healey
      last edited by

      @d-healey Yes, I'll do that....

      Goran Rista
      https://gorangrooves.com

      Handy Drums and Handy Grooves
      https://library.gorangrooves.com

      1 Reply Last reply Reply Quote 0
      • ulrikU
        ulrik @d.healey
        last edited by

        @d-healey Yeah, that was not a good idea ...

        Hise Develop branch
        MacOs 15.3.1, Xcode 16.2
        http://musikboden.se

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

          @d-healey Here is the simple example.

          HiseSnippet 2164.3oc6Z07aaibEmzwLvl65zr.sGVfdXfuDoFa8AkcxB3Fr9Ss0nR1FVNKV.Cifwjijl0TbDHGEKs6Zf8RQA58Bzi8b+yn+GzSEnmJPO1K8RO29lY3PQZ8Qrj8tnnIDIlZl48wu2adu2vYHOIj4RhhXgFlKe1ftDCyO1pwf.d68ZioAFGtug4Srpii3jPjpqcGzEGEQ7LLMezWH5vb4EMjW+qOeWrONvkLrKCiujQcI0ncn7g8dx1+ZpueUrG4LZmTTuw1G5xB1i4y5A34QVkL5hcuB2hbDVP1BVFlO9.OJmE1fi4jHflcYdCZzlccfh9ujFQuzmHZT1nAHHU2F60l56ch1ViLLLW7jgV9iTV9O0pN0ilz+POvSkCfFxQZef4BSCRkmAHYlBRKpfzmX0vMj1kObDAd9HqCCfIjlXvUmFJJZMV369YV6w.JB3E5fuhTMDZjvQtWTpzZH3O42xFnJh4SJ35Svg4fNrA+eDG8VbHZ+NQmfCf+Q7QuBokWKBeOVmtr.nQtUSQypBtSw9N99P+AjvHf6yGO6J71vm5QBKuZ90rQS35cyty8i8J2O1239w9lql+hL9dvyUm4Q.xujcIqOYJ9PIM6x5OU+2TQhVBN2aIT4dKgMt2RH1WZWr3qTWnJnZ6TE0gvay7hPMYgHdaBJR54ix5zgvUf1xoh2cCIPZcMlK1uFic0NAdUIDeHUYE6gzWHjzhJJQVsWfKmxBxspWH95Zz.HsRMEu5Znl5AasFhc4WmeE6ucE6UrWVpbLnSnyBXPeaI5TO.uM08JXPmsPEKJaD.EBPrlRqvGTgfxVEhDdCQgybk5Ws5KjW42RMVSnZ6ordAdDuSItbbPKeRtywmW5h0P3yqbApHxAstRSEcD84.iHaquKHIeFfcsFYuPfLz0TOdaMrZiC77IOKBccaJmfX83ZfJ3rslyXQrtx3lfHnA.tCQcYgBmWhL5C7KvI5WH8auE62ibDKrC1m9MDOPl4TpI+3IX8xRU1G4CSsBAmUuZ039NUiz+M1AS7V2dBRcKpfz4jWfii6IVeU4rBoAsFELSZRrcewzUYXZR4LUSnIMgoygyZSJHoXQpHRF0JDO3NoxmWVqz1YUZ6rJUn1aD+bkwkl4LioYN+uWZFoxm8RmW9gzrOjlMkzLcPB3GT4YrPPpjGzLM0+mbtVkYLWqxGx09Pt1OJ4ZG36S6FAyct8WONXWcuxEO2Qe+h7STySKCykFB6rYZpTmcITSbtkJGR9jlSwBAUUW9rjOqCKf8rzLTExyxU83iN6MmdvW75Z6b5ZnxkDRMlDQdzN9zVADuyH8gGcsNjIMdrrFZUWHkMj3sZ7JpII511wI3p8cJ1fvE.pJuNpVQPiNqeZwZqgprNp9wGcrss.p4DbPAJKsEb6WlZKZE7IAs3sgte9yyi9VIRED2UNLvwPROmBOdsd7HgtggSfQxnx+PahxESxqPk0BVboDrvaMRcngOVcdkntAQ7iHYElyrJLmoHrJypvpnEls8MxsZfzUIQbFpWWOgfSwI5RLrCcDLr1QYSCDkORJfFyzP2blJy.7VtXQ8l06BoSPTyqEbHRrv99wnNBR8YWgfvcTSfwBEJH2Ut.px4+67bu3RTEwepQ.CoZxwAIwBCuRZN4viYMD4NElLqgJ2ovkYMjQE1LhqHQDAvxYcwvDbcXIQbKRNYwTzYgCP7PZqVDYsTLJTQUh.JVL0YwTHdzbIwowgoMHbj9TYfHU3AE3gLwjbHF1ernWnJcCZmtPUSwY6g5v754ShFIbUg28fPuKwtWkyUuO70PxULjQrpPCJrTW+LwOEjccbygbof4xZVFSzjfCw15uQZFoNWDvoKWVYXgP.xiGvxSTYZH1dX.sF0ibPLSB7HM3GaBSL7WVR4sMKfVIDhGWRyTKGn7CpYT03HscEYOaI5YxpUq1ICIR7SYmnAUeiVsB+xTz6ndtwn9QHZxnH8rm.FIyrrfiXbxwA4xaCAc.9P2dnlMG6XwJwmDN1gEGMc3zXLWPuNWRB0APZBMLWL6AB+361AB6pd77TDxBNLfxOtKItcUlum3fdE+dziO1H946MLLsiQHPJWdLxOwJ8wMZPAg7SxzUYCoQDeT7e+e9e+2+biYVHNYDB527O+KygPp7PfjMxHjss+q+i4PHalQH+wtu5uMpPdZLG5SeTJlOxJ4PYyHB4qHYVEgysEgw1ypHpbaQrzLKhMt+FxliQDu9v8wbr3UeDG7BAzcIvthD4Ml6SdK0kndQHKasOI5JNqKjOkbpuvuUpdE8qIQr5mTuqXkZ8Pi9oeiTCR2PtAMCSKye2BFFsIzVs4hV8ggLsRonO9NmH0Wv+jzitii1Vqqgu6qH9.e46e6WwBoeC3OvfovIczuOrke7RK8GZJnkDfgBHh2IUMX23AhW8SDT1PraBgeGZB6wn09zPhrj0sjIrZOXRorsr9Ji4vpcTV8u88Kqthxpeh46UV8FJq92+9kUuoxp+4K7+EV8R2wUuRWKyx7OA+nCV12ifeJrAnL8mZIePGTYa0cm36UF02vACA31ZucKOGvIaQlGT33LGvIa1+CJbpLGvIaZ4CJb1XNfS17kGT3rogwnenDO0ptXqpXd1uaCwlXiGPjvj9ikP7AQDDQ4CR+DIyvGyQoo9wbbWg3mXcBk61d7XbgwfQ34R9g.iweBLqXcPylP0kg.bQqpe0798t7NT+ordhCvpNlGREQFG0qSCnhnKAzNrqS+HQzxBhc1nZWRWMpAIvS13+.WwCVVz1Ldvx5AgXN2P1ahOnCwGYyRxd.LEH+lhV1ptnMJ4I0srJUnjQGnF7abcEl+5kMLFOONyAOUlCd1XN3Yy4fmWLG77x4fmOap7HV9amdbVGU5.zwIGH2kfo4Ax0GkQgF+WOPk.aA
          

          Goran Rista
          https://gorangrooves.com

          Handy Drums and Handy Grooves
          https://library.gorangrooves.com

          d.healeyD ulrikU 2 Replies Last reply Reply Quote 0
          • d.healeyD
            d.healey @gorangrooves
            last edited by d.healey

            @gorangrooves I see the problem. You can't change the LAF function assigned to a control after on init. You need to use a single LAF function and use if or switch statements in there to draw the control how you want based on the combo box values.

            Free HISE Bootcamp Full Course for beginners.
            YouTube Channel - Public HISE tutorials
            My Patreon - HISE tutorials

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

              @gorangrooves As David says, it doesn't work here either
              I tried another way and that worked.

              differentlafs.gif

              HiseSnippet 1035.3ocsV01iZbCD1KGaTf9hRj5OfU2m1TQP.WRZkppJANnB0iKzv0nVEEEY7ZXcwq8JaStCUEo7an+R6+f1w6Kr6cfHbHU9.f8LOy7LiGOimnjDpVKUHmZWsNlhb9R2oqElv9gXl.M5bjyW6NFqMTkW5V8VGi0ZZ.xw4je1tgSspnjO+yO0CywBBsXKD5MRFgdAKhYJ1cR2egw4CwAzqXQkz9YcGQjh9RtbEvmSbaghwjk3EzKwV0p3hbdvf.lQplZvFpFzomLX8zP40hT8eCSylwo1EsQSACktMpeHiGLIOV0HjS0IEQ9IoQ923NlEv1reQF3QIB7JPTNG3TYeTp88fRNknT0TJ8X2oDEK1THwxmuvcj.NPligTcYpjpKpxeW0suDzPXZFgWRGpfEaP3+hVsZ3Ae8jendcHcqMde.CGti648id4vVPM8kQwRArv+TP1oVsyTmimWRUhhBA9ERBlegTt7khfgTJ2uv5f5CWIHsALygeMLoveQCO4r+7I0+q50VzTacl8L2O8GcyEJ5Zv.fr4PgxqkqDAzfWSIFrXAm5CPahA21vqsMJpsaibcHyPSsRfBe8.NmEqKCtCH7i2klctGzL.qVdvTsygS08EvEz9179r6AuIgXkQQWooGFyOXhekhcWviwlvlSF8ssZ97RTGpnrVaqpFHX1pvQCQ1ayKhZr4bZy+N6c.BlfyDzMY.OEcAy1z5B7beFDX2jjL.DMykLLOYcpk4P09LYO4Mmtwr52lf6c1nKktBH6DC8DLigqhPWIaM9GgfYKmC8vF2yd+PI49j76QMf6Y7UzDhTldI69z1Yol8bCLM+mX09XNeFzazurq.KThBWJMzWI7SbGPSu6JZ97cJKyVbpZmhsMrU6CnuXUzLppbvZUD5nc61jO3vZSRRSGkTTJFIXlWESyVOTxCrs+r+e6lpnr7os8ZFCAUMIMWeTVy07ydDCLiqKjPQIju7jMzuM5brAmaFvhfWhoJCyFLNmS+.LlKsmcM2yo5kFYbhtYGgHmG9Yc5MENj0ccwh+n60r.S3lM9DtaHksHrXh5m90tQX.tqyIVvFZj15InRtcc3qN1uNCl6t07EXxlLXEGat83N6b8LAvg6slwXmiHzLy5xYm6wLvV6cF3gRwG6NgYHg6liU1AGgCt+O3X1KG9J2AymCcNKHXU2g+9w9LgOi6gN0FlXAzXUwrm4WtJZJzLlPAuKDTt1VGTwV5mttkcsMCLE5fkr3egOYBaaW6jIrctPTDlnjumjdgw91jGlrCvIQxSwpAuIDV60N+lhqaqlsPQvyjdOgXC+mB2F2MlNGAlyNBLO6Hv77i.yKNBLe2Qf462KF6KTe4JiLJ85.rwjAIcrbbFHvPkURUH5+v3kgFg
              

              Hise Develop branch
              MacOs 15.3.1, Xcode 16.2
              http://musikboden.se

              gorangroovesG 1 Reply Last reply Reply Quote 0
              • gorangroovesG
                gorangrooves @d.healey
                last edited by

                @d-healey Thank you. I thought it might be something like that. I was able to draw a single slider the way you suggested, however, I got tied up trying to implement it for the array.

                Here is my original LAF script:

                const var PannerLAF = Content.createLocalLookAndFeel();
                PannerLAF.registerFunction("drawLinearSlider", function(g, obj)
                {
                
                	 var a = obj.area;
                	 
                	 var thick = 2; //thickness of the line
                	 g.setColour(PanState == 1 ? 0xFF666666 : 0xFFe38727);
                	 g.fillRoundedRectangle([a[0], a[3] / 2 -thick /2, a[2], thick], thick / 2);
                	 
                	 var wthick = 6; // width of the handle's white outline
                	 var hthick = wthick - 2; // width of the handle's innder portion
                	 var hx = a[2] * obj.valueNormalized - (hthick) * obj.valueNormalized-1; // x location of the handle
                	 var cx = a[2] * obj.valueNormalized - a[3] * obj.valueNormalized;
                	 
                	 
                	 g.setColour(Colours.white); //Outer white ring of the handle
                	 if (PanState ==3)
                	 	g.fillEllipse([cx-1, a[1]-1, a[3]+2, a[3]+2]);
                	 else
                	 g.fillRoundedRectangle([hx, a[1], wthick, a[3]], wthick /2);
                	 
                	 g.setColour(PanState == 1 ? 0xFF666666 : 0xFFe38727);
                	 
                	 if (PanState == 1 || PanState ==2)
                	 	g.fillRoundedRectangle([hx+1, a[1], hthick, a[3]], hthick /2);
                	 else if (PanState == 3)
                	 	{
                		 	g.fillEllipse([cx, a[1], a[3], a[3]]);
                		 	
                		 	g.setColour(Colours.white);
                		 	g.setFont(FONT_REGULAR, 10);
                		 	g.drawAlignedText("M", [cx, a[1], a[3], a[3]], "centred");
                	 	}
                	 
                });
                
                for (s in AllPanners)
                {
                	s.setLocalLookAndFeel(PannerLAF);
                }
                

                It works perfectly for a single component.

                How do I apply this to AllPanners array, using PanStates[] values of PanModeComboboxes array?

                Goran Rista
                https://gorangrooves.com

                Handy Drums and Handy Grooves
                https://library.gorangrooves.com

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

                  @gorangrooves If possible I wouldn't hard code the colours in the laf function but apply them to the sliders and use these within the laf.

                  Free HISE Bootcamp Full Course for beginners.
                  YouTube Channel - Public HISE tutorials
                  My Patreon - HISE tutorials

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

                    @ulrik

                    Thank you. That works for a single element.
                    As you can see from my script above, I was able to place all 3 looks within a single LAF function. It works perfectly if you want to set the same look for all of your sliders with a single change of the combobox.

                    The challenge here is applying LAF looks to individual sliders based on the value of their comboboxes.

                    @d-healey Hard cording or using slider colors doesn't really make any difference here. Its like telling the guys on a sinking ship: "I think you better put on some sunscreen." 😂

                    Goran Rista
                    https://gorangrooves.com

                    Handy Drums and Handy Grooves
                    https://library.gorangrooves.com

                    d.healeyD ulrikU 2 Replies Last reply Reply Quote 0
                    • d.healeyD
                      d.healey @gorangrooves
                      last edited by

                      @gorangrooves said in Repaint panel or sliders on combobox callback:

                      As you can see from my script above, I was able to place all 3 looks within a single LAF function.

                      Update the snippet with this change and I'll take a look

                      Free HISE Bootcamp Full Course for beginners.
                      YouTube Channel - Public HISE tutorials
                      My Patreon - HISE tutorials

                      gorangroovesG 1 Reply Last reply Reply Quote 0
                      • gorangroovesG
                        gorangrooves @d.healey
                        last edited by gorangrooves

                        @d-healey Thank you, Dave!

                        I appreciate you wanting to throw me a life line and not just a bottle of sunscreen 😁

                        HiseSnippet 1913.3oc4Y07aajaEeF6LAQZ2rMKvdo2H7kJ0Ha8oSVTWiH+k1ZTYaAqrKJfgaJ8LTZXMEovLTqkS2.rG5eDcu0+K589OQA5oTTfdtW5412iyLRyDI4Mqj2KMCL7HR993268HejONcBTtrvPUfkctWd6Plk8G6z8Vo1+.eJWZc7gV1ehyIzPMKfD0092NjFFx7rrsW+KvNry8.Kyy+9E6SEToKaZWVVekh6xZyGv0S6sSyeMWHZQ8XujOHE0MZdrqRdfRnFA3YcmJVCotWS6yNkhjslik8COxiqUAc0TMKzx9A6q7tsqu5FYD8eEOjekfgMpZ0EDTT2sTBODwXuVG3yEdcRr6PKPJcl5EVOxK7YNmv83S5ep23IlAHS4Hs+vdsrva8LvqZZ3UIE7lCjrSAoGDAoO0oqa.end5HHd9HmikPvoGEb6ogRDsVq8W9HmCT.ER8VCnWyZE.MlvQgmUoRIB7uh6jGnJTIXa4JXzfBPG4gXQnl70z.xgCB6PkveLAYWRh75yzGnFLTIgFE1HEMafbmh88DBneIKHD39h4ydDd6J3drfpaTrTdxBd99Yu1pwd8Ui8FqF6auQwKy36AO2IJOFP9UpqTiY2gOzPy9pw2o+6NQRhDpsxRn9JKgFqrDh8k4iciQqJQ22k6Ttb0MIsKedIRsMOub6Rj5aRN4rSOKO9TtLoKSSRlypUDHbnCTBxPZ.jJRi8p5Q5xGLTvHXVPx.k2HAKLOWJ3RFo2Hoqlqj.GnPNfJDWA4xJ3lfxRPvULhUj7GxmSnboBBW5wFCna5pksLccVuobAKr.qNWBKgnEArLw3tvvAZzuwXFol0DBVj1mkxQ.Pd9.1Le6tPrIrjE0yLMcQfmj.9HOSFCdB7yYn7cMKfVCDvwMVXTrJhYRBhCy2SEPJvApqrCgS9ko8nBlru1G59oOEMDTKoU+kaEhyjLA6IdfrgPvJdShZQK9Nz6r9j4n9YHZwnHcbIAF6F8PpSZuWKBL2zW4ERPjfA6PSNkvroS.iAocZhb2.F3kaiQk1J006I8ZwXBbOfITuU.qOGOEPq34IE1vKfdSaXpCMHJy0FklLIpP+RD0U+9h4goJ4LpkBpC5YKJnpch6KI7lYBLPDF+Iwzn84tWCDTaGR4xlFRXuObwGZd3LWfv9Q9K7XCElJzcIUIufTYbqVOy7P9ElFr5e9yq87h6X3qGbNjyUifYWdmyb0TYeAqvEzKpbYIB8h5WRJSpQ1LBDkqg8UCFwzN4MRRwTH9lDH+LDxja3dZ+D75SkdB1OKjbiOGfnZjN1BPF8SXLVBaFYzKPBbI.5.xPU.5vSDAtRDwH4ma71lUKmpBFPE7Wy7.QVHRKEmOAaV0nwwl01lrAYTarVb+d0hw0M2AicTuSPK5U3VF2RQDCmMBOwYjaJfK6OCP38Hoi00KB8kKJfdjPvGFBwQ2waVEiYUuL5c8KeZsj2WZhYLQH6NlH3ONh8RwwjHlmzDlRjD4W1ofyZI.Key2jZswt0RYZyChOsZBH8yBR+LfDM0YzUjaC1BZdNuDwhhKVnnjxg6+XnegAvoi2BRwTn0Ym9xWc9QewW1dOXC2pUlP.lBYOAuuj48R1XXm6SfjHyWykHa3B4pBXdaXLmbuA8duAOooIsKthHUpbL0StPDAyjVaRNMLE5js8TxSUZ1YxBFNgbqj2cnd8l6Xw4oErf4NLVgSvcwXA4nAWwBR1cMgP3X+YqkvYw0RjtTG2nb5oHTIOVx0mMjIWTAPVwaD.0cjOFU.oZSUGehS5SmZwghK9IY5ppkA3wUw8m+tu6e7BqevBoVFg71W+Y+qkPH0yHju8u9ed6RHjFYDRy7+s+4RHjsy5SFt6eeVg7jXNRNrpQLXwZwmgOiHLUW+CUD0VcQTe0EQiUWDaOGQ7kGeHUSwJkim7BSnGxfMCw0J1Gx9ZtKKpt4bNGxBuVqFZY+vIEI.+NR0ONopZrvUiderSpRYsFm9xLtMcCy9xS5nyeroOi22O00b7aaZ6jRge768Bp2WcZc5L5rQyP8sBy037qTA7WC9FJXVZ1fjqUI2Cezi9S8PZYRJj.AuNi1vg3j3sFDBoMvLwXL.ZB4m6eHOfYRY8NxDJEBLqT1WV+l0RX40RY4u8207CHKudZKe3GRVdiTVdma+Pxx2NcL+a++AK+Qum6rsf7aMYMGPgwbrWGZg1BjJ+m5DcX0p4idWK9c8Y8QZvf.tcNX+pKArVXxm6OXUaIf0ByLb+Aq5KArV3x16OX0XIf0BWSc+AqsACdl6l+INmf2+GUm8SEf2LX7.3Bqz2OOdG7xPt91zmp4d66G79BwO0oCW65OeLt1bvHbfqeLvX7Wc4wNG0qGjEZJ.efSqeyONehEKnVZMW1+DpNfiyLNczftPlSWFncnBQAVyk8ZX0QQsqfsQOPWlzyz3+BOwCVEaaGOX0jAsFPcCTuJ91iwuqyiL8.XRZ9jV4bNAaSlbZeGmJaUwZ.jq9Uttn4uIjKa97TaI3o9RvSikfmsWBdd1RvyyWBd976jGbax8FoUChVN.cz4HSkF11GY1G0LKz5+g3ZY.N
                        

                        In this script, changing the first combobox, changes the look of all sliders. (The other comboboxes are just standing there looking at what the first one is doing.)

                        Goran Rista
                        https://gorangrooves.com

                        Handy Drums and Handy Grooves
                        https://library.gorangrooves.com

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

                          @gorangrooves it works in your example as well, you have to have as many created laf objects as panners, and store the 3 functions as separated functions, then it's possible.
                          May a bit too much work

                          lafs.gif

                          EDIT simplified snippet

                          HiseSnippet 1996.3oc6Y8zbZjbEeFIMtDrqS7VUNjbqKtXHFg3exdqxI0Bh+XSEDPA3s1TJJNsloA5ngtolowBbpTUNjOD49dOmxGf7EHmy0MmRka62fjW2yLvLR.qDHmjJNTxdn698meuW+5Gu9Mcb3lDWWtildr9ymPzz+TidyYhQUFgoLsFU0z+gFv2YCInl3AHNCUAaaeI17JsSmOA65Rrzz02+URp0icfl5y29EmhswLSxxozz9RN0jzjNlJVNamR+LpsccrEoOcbHpKVpgImUgaymBHaeirZS.MhGRZgkjsmgl9ipYQEbmdBrf3poevobq48Fwul4Q+WRcoWZSjCxo0CDj2z041VRDKmUqxHpsUm.OfqFHkNK8G664O9AFmQsnKleoe4IpEPK4Hr+Peunva+HvKWX3kMD7VAjzCAoC7fzmYzyzgNQrbEId9DiFLAwY.Fb6gghGsZ605IFU3.ELQlw3qH0cfAK3H4yylMMB9uTuLNPkK2ljwzlfcRBSDG1KbEn2gcPUG61Ayf+H1neJJPdCIhJ7wS3LXPxDgnIQTtKaaCSyHNt.ymuZt8faOapEwIWhToiiVymua1yuarWX2Xu3tw9IIRcQDmG34NiaQ.xujeIeFYC9PEMmxmsQ+2FQRfDxuyRnvNKgh6rD78kwO93XEPUaTudst0Z0G0rbcT82zpR+Fsa0K1Qa9i+NgMdP8oLybfye.7TP4rjCSi3W9qSE+2DOlbiBCqAiyfcH3WFOl2jhQTyqfEx+RzwGqFvfitH9.XEBxlxHwiMLiqD9xjdIyNqd8mq9.GgfUF.4I6xmxfrWcIlBHgrMI443yydQZD97BWfNFkGcjmVNNubt7vJpwAOkjjZAftN.QOWhHz0TKwn.3.46srIO0Ec8Hpff3SEd.Tx2n.97EvQdlzZD.kAH1AMg6H8T9RXFvsDenerxO8Nr8TRKtyXrM88DKPhI8TRpUSvQ4TJbFxlahkhMpV8Th42oRTdsUtnxGEdyv6gaFk6HkT6smBIN8cONT1vaBg0sgMZlbqIGrk349717VLD15RcKsGNT33iox7mngN342Ak8rbApaTT0MJj59sKRy3Gbm+eGA2jBe9Kx+h+ev8+QBt+usv6ffAvx8hu4NpRN+PEgW3tGgGCI+2cMJOFZ8w4x0d.izWBrsIZ2iycKd2WFeni38TyNFy64s1sn9fMvZ11zItv9l4ri7C+7dV3hmkO34EoVoV2TztI0Ap4dSpKHVWpB+H8fHq0ZXfVNCMf6fd5XNi+zETWGJYJY81s5+1t0d0aZVtaZTtrARyxAecYa5PFwpOYFTJ0YIRiVM.RiRXBUa4PrR3eTCJypW+1cqg5+5ZmgZzBUF9qa2x+7nGBk60phXCpoJ8he.Zw2JDT2Vkt0J2uFpcqZdks0tKpV4JuF0qYip05BZnJZi5zqnZ3JrJMJkpzkjjBix9RDE8SBc4jL1D1PwHX5m8LUZgkLmYxT2QICp1zDRQHHMg3V6lb9UkYV0ID6jojdwkh6b5ER+8sHaoTAJjtNkkh5QDnfaII3H.9BGtMZB1At6qPNKDV1iNdBDpHu1MZL2ZpMwMNkIOZuHuFvgTHAWWOoYPcwoQpiGJKSdlyFhBsHxiWgbApoZOXIWd.T4zv.CgnMkp3brWDnBrKzYTHjxauDE5JL.OpiXfn7tprzZVssnt7y8vXt08kVoMIgd3MBIIWjwgLj5B95fvzjIjGHZBPB63QchzQBiOWghixcQH2zDoa5VnvyaMYMdqvFoxcsvCvYs3BRaVRkoBJAcykFLXkq4qEahyJWV13EmMwXR1zwWRbB6nkDpoePzVbXr9VbDtCLldmcBQHm0fQEsmPXqquLZ9G3zzzi6iJfTgpYHeOiv2ZViZoo+8iLUNMEvCZtTpewe+Kzt2BIeDgT5u89+zVHjBQDx270S9KagPJFQHn+3q9GagPNIpO4u90+4aKjm3yQvknUh4SLVzagnhPS6vR2WQj+lhP6dKhB6NJJdSQ7s2aewIqvPdSipXAV1.O+fWHfdBApbRdVQuJ4cTShW67hYTk3dkfOQS+QKZdA7cOU+3fl8I6mlRuO1HTG1zlEtGqyCOPUD2hI576KMhPGNJT2W+kkzMBovO8Nef5tpSsV2RmEK4Jlaq5y7q4Nz2C9FLXVBx3ft8F6QGd3eXfjVBCCIPjcYsIj2kIaloKj1PVPhbO.FBYkGVk5PTortgLgevDLqP1WT+l1VX44CY4eyupzGQVdgvV9jOlr7hgr7Ny+XxxOI7d9u6+Er7Cui+x1ZxuUhTZLFVyPeeXjzVfT4+HCUAPnbw8dl2+Yga6iDfAAbaT4zbaArVaxmGNXkeKf0ZyL7vAqBaArV6w1GNXUbKf0ZOS8vAqS.C9VuxvmXbl7VhXQz2fo79i9KHOXE90FJe0fLWpXd3Bidvdsl2UH9YFcnByQqFi6sBLBEb8g.i9uL3GaTav.HKzR.dfQ8u5Cya9UqKepfxFdFV3PkQFslNtGj4zjHee7PpM4ctz2Sd6HuwYkikdfdDlkZv+D93uXN4Xc+EyErn1XroC+s98XP95lOTMCfIl5MsGy3L4Xzhp8MLxlIq1XHW8aMMkl+QPtrUyS9sfmBaAOE2BdNYK344aAOuXK34y2HOxelr7TAer2wAXhN0T2zPWul52QUQgZ+K.bfrkzA
                          

                          Hise Develop branch
                          MacOs 15.3.1, Xcode 16.2
                          http://musikboden.se

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

                            @ulrik Yeah, I know I can set each slider separately, but I am looking for a more elegant, scalable option. I know that Dave is a "freak" of that department 😁

                            Goran Rista
                            https://gorangrooves.com

                            Handy Drums and Handy Grooves
                            https://library.gorangrooves.com

                            d.healeyD ulrikU 2 Replies Last reply Reply Quote 0
                            • d.healeyD
                              d.healey @gorangrooves
                              last edited by

                              @gorangrooves said in Repaint panel or sliders on combobox callback:

                              I know that Dave is a "freak" of that department

                              Working on it... :)

                              Free HISE Bootcamp Full Course for beginners.
                              YouTube Channel - Public HISE tutorials
                              My Patreon - HISE tutorials

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

                                @gorangrooves ok

                                Hise Develop branch
                                MacOs 15.3.1, Xcode 16.2
                                http://musikboden.se

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

                                  @ulrik I appreciate your help very much, regardless of what solution yield most practical results! Thank you.

                                  Goran Rista
                                  https://gorangrooves.com

                                  Handy Drums and Handy Grooves
                                  https://library.gorangrooves.com

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

                                    This is the problem

                                    var PanState = PanStates[obj];

                                    obj is not an index, so you will always get PanStates[0].

                                    I can see a couple of possible solutions, but the thing that is really confusing me is why the laf function is retriggered when changing the combobox value... I added a button to the UI and pressing that also triggers the slider LAF function. Maybe it's always been this way but it seems weird to me.

                                    Edit: Nope, I just made a test and this is definitely weird behaviour in your snippet. I need to figure out what's going on.

                                    Free HISE Bootcamp Full Course for beginners.
                                    YouTube Channel - Public HISE tutorials
                                    My Patreon - HISE tutorials

                                    gorangroovesG 1 Reply Last reply Reply Quote 0
                                    • gorangroovesG
                                      gorangrooves @d.healey
                                      last edited by

                                      @d-healey I am itching. I've been pouring over this for over a day now....

                                      Goran Rista
                                      https://gorangrooves.com

                                      Handy Drums and Handy Grooves
                                      https://library.gorangrooves.com

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

                                        @gorangrooves There is something very strange with your snippet and I can't figure it out. I'll make a new snippet.

                                        Free HISE Bootcamp Full Course for beginners.
                                        YouTube Channel - Public HISE tutorials
                                        My Patreon - HISE tutorials

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

                                          Ok here's a minimal example. I'm just colouring the sliders in a solid colour, you can fill in the blanks in the laf to do what you want.

                                          There are a few ways to achieve the goal but I just discovered that we can now access the component ID in the obj within the laf function, I don't know when this was added so if it's not working for you you need to update HISE. But using it I think gives the cleanest approach.

                                          HiseSnippet 1187.3ocsW01aZbDDdOaeIkqsQIp4yUm7mNjbH.NMspVsEaroEE+BJjZUojznk6VfsrrKZ2EanU9OT+00+Asyr2AbIFgsox9CV2ryaOyK6rCszpXlwnzDuBuY5HFw6K7aOUZ6WuOkKIMOj38H+SnFKSGldzASGQMFVBwyayeFOvqvVD2e+yOc.UPkwrEGQHmq3wri4C41Em1p1q3BQCZB6M7g4j9E0ZFqj0UB0X.Oa5WlLhFOf1icJEEaCeh2CNJgaU51VpkY.YNPkLsce0kxT4Oma3cDLjnBoMXnziI06yEIslEqFBwaqVKh7MSi7m5eBOgO+7EYfG6XDtPi74.uMVEjpbGfjWNHsUJjdhe6XMejcAGDOeteSITP5RgTcdnjJKYiuZK+5JPBoszP5.VCMPLWinWVt7Ngv+JtWP.jtM1vARUGAsa3ODNSsXMChliUwTwwJ0f8kIMXLQDpRlvkzrdbrsnwXYrkqjQamnoWdLWxn51BdBSu8Ngcmwr2NgpN+Qwf+JnvETcHWlvl.9CMVyDSIG8Yci.YJwS.23jxfoTPpX0vNpCTSXl25D78k5wrmSEiYQECeVXE.UN4iccNfxAELWxsw8CiblnXPAvuEhoFVX4uG9pPpjt.F+v.QSxdHiNPfO.sWpzUVtzc.WuLwqtbw6oYLYd4KbEhwdk5BWC1WHhR0n3dEBtBSwO+4tDiIW4ARRfAe662K2YlbELHg.FptZ3HkDnMQa+JPh28tjsQC1UoCil.Y8T8bkgYo9QiM8ilfFnYRTQL0OojgYuVsOqtCBbEfcDitxRXGrtjgpEEpUBs5Yhcc3sv.EyvAZEsRTmJDcfgAQJ4LYx3fHNfKEPi271svqIEjhy7+NgWfcNtbf.Cx4MiKb979w4Zgdwk6l0AZXxjWyFAiHrm.2LggT3siqxgfSUV1YxHmiBtJH7SY0s6R4kAXASuT13DS8pTLRNdXGlNeXhBBiT934TO31MmJNsJlSPkrojaOaDKitgRjfyevuu9TMRVa.LeayLDBeYcS2db1zsY8CDdBNbaFYEhKDx+.C4NZhp++MwtKwD+ZyCoVJNxNK5fHdDSa4Xh06P1EvadoCvK3eHyLvpFAI74WAHdOL00OJy0oyKcN9g93E2JjIDOeumBta5BO+i0L1oB2az+hRy+Sv2TAAF616Ptl45C9DdF5ErlxVZFbSBegfjCCO3FvP0TL722FLrJ+bSw5to9olmyO9deM3k6g37Fa1ljeQjbQ7uWaH0gvMABtkMzfHuRP0fcI2c+TMmepwt+7yt4iG6s1OWeEDX4GUxXA09waDgq9kw.KG4WCAW0PZ31o4uybGVSp7JWS51Bwm32BWAX4XbikfQ3578AFyVt7K8OpaWn2cA.2xuwustaRdCt+0pwVtr2ITqlik5SGOrMrfQLC7tTxDFr7uANbNktLRiYf1vqZNh+E9KiYEj1KiYkYLICowZ0GhSGlhqu9YtS.LIcaqW.9YC.c37o399kKUlLD1j9CwwX3+L38hkqS00PmcWCcdwZny2rF57x0PmucMz46VoN3OhY+wV0vzqCvAsNx8Nlm2QRJzY45BI+GngGjOC
                                          

                                          Free HISE Bootcamp Full Course for beginners.
                                          YouTube Channel - Public HISE tutorials
                                          My Patreon - HISE tutorials

                                          gorangroovesG 1 Reply Last reply Reply Quote 1
                                          • gorangroovesG
                                            gorangrooves @d.healey
                                            last edited by

                                            @d-healey thank you very much! I'll investigate that thoroughly and report back (on successful results, i hope).

                                            Goran Rista
                                            https://gorangrooves.com

                                            Handy Drums and Handy Grooves
                                            https://library.gorangrooves.com

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

                                            20

                                            Online

                                            2.0k

                                            Users

                                            12.7k

                                            Topics

                                            110.2k

                                            Posts