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.
    • d.healeyD
      d.healey @ulrik
      last edited by

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

      component.setLocalLookAndFeel(laf) inside the callback?

      That doesn't seem like a good idea?

      @gorangrooves Can you make a very simple snippet that demonstrates the issues?

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

      gorangroovesG ulrikU 2 Replies Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post

                                            23

                                            Online

                                            2.0k

                                            Users

                                            12.7k

                                            Topics

                                            110.2k

                                            Posts