HISE Logo Forum
    • Categories
    • Register
    • Login

    LAF ScriptSlider?

    Scheduled Pinned Locked Moved General Questions
    195 Posts 11 Posters 15.9k 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.
    • ulrikU
      ulrik @ulrik
      last edited by

      @ulrik With pointer
      pansliderWpointer.gif

      HiseSnippet 1530.3ocuWstaaaCEVNMZXwaYHEXO.b9WNsNNxt0sCHKa14hKLpSpabZ2FBJJnknr3hDo.Eca7FJvdQ56xdj1+2O5NjzxRx1IsH6hPfQ34F+32g7vCGH3tjjDtvpzFmOMlXU5KsGNkICNL.SYV8NBja2uSWz.Ly5fow3jDhmUoR24IJ0k1XcK82e9CGfCwLWRlHKqWxotj9zHpLS5f1OkFF1E6QNmFky5G1tmKmcHOjOAfxcrcrhwtWhGSNEqLaMaqRe1wdTIWLThkjDqRqe.2a5v.9aYF6eIMgNJjnFzvZHDHi3t7POEhURsNLfF5MHcImXAQYPFAbGCA701mP8nykmQDaoUfx7HOeTZsaBdMxCOmUBOmUAuR4f25F3cW6gtBZrLSiBaegcOljH7wPJHOrL1Zs1VaXeHGrfIqGgujzU.Cl6Q0G43TC0xwY681r7lkgDQhD8Fr.Eh8Q6iNlMlxH0cEDXo8jP9HbnIr847K6v75RHgUMtpbJFbIctL9L.KClYvt6hPmwkXwTTRH0iHLh54il.HFgSPX0VMzPsxZnDhDIIWIQXlGJh6QPwBdLQHojDjjip.FWYyx.PqKHioIvJp6DlqjxYUq3Ivu0LYlvUoFxOU43ZH9neY6x+1lkQvmB3BLaLA.OHGHoqP6X9OJaOiMleA3l.gTBl6QwrL20ReluuBx6iZVuUA2TVfEtmGPcujA4MvDm5M2qfxej5IC.EMp6.SdS326UvmEwwIPlDkLQPPS4SPBhlrB.JB36uwXUbc2PBVnY+B95hCcmDBIGsGDfcMqGjufGok4NQHfbH.tvIjLbBlNeQtS9078mg37xtGpphC0gHiO2dWMUuD+.lAAsRkEwJ5v.h6kHpuN.5sC6ueZpWYCno5Rp11naVB1PFXOuNB2pWTHSrKpYMzJkXRH2ufxqUwqpgfSQyomTFOakjtZhAVViTMsjjoLcYXnquC4rcltbKCCcoop9U.PbBjtqiGkj4616M232k4GILgrvb78eBywYp4XtKWaj+Xg4vJ4bsbt.jkl6kKASSPI7HhLfxFaPtL.3sbI8rI8+yTbgs76.mgcZcMIcy5dAh6cKtmWcVsCTkDLMt9Xh7.9DlmIUhAwWz7UEO5NtNLMl6I0FMZrYPpUiq6CWvdbXHMNgLOLYZK5MURhLCajYhprotjcbs4vSWsLEQKTV5iG7lECdmP5XFw6bHOWE3lrXWCUwEJ4HHdUVpfEpOcbfjAaGxMaOQUzB7nKrlqdgyUsZ4q+zGEU+ARbzeEV.EFraFEeyjWFTFvop6NScZDbyCqOdJQTUJTm9RUH3ptApNe6QMzE4oQ8dvED7pUwlNW83G66qVFEQ5YpMKDuyHtRnfZHo5hgeVM2r7FreswRy4Jr5A0V1wlKKqQKfKykcgUpgGfJPuSIN89VDmcJWRdFqJbka4MJCU.VTku+J0oZkPvCCUAcEpUsQJtIGqxlDMR0JgoxXpgP+TEaXy95aXKe+jtlNaxYHm0iQkOKlvtttLsl0NjpgtYnBLUpam6ql0NmoCEKpmpg6AcN80O8zCrzPNqI4JssdQuivRbZffXNXd6PfriHuAZ41zm3F1GQRtTxi01FEyYJDTZqOgo8p4S4VSaOMa9eQ62pJJNWvuiaGPTmJyKIsfDH6y.IePINqRfR5ye9y0RU04Ad2V8zhb0JTl792+9+RYRD0yKjLfmPUI07OtP0KXpyQ4eJxO+GPua4F1F5ILdH8WI4esRxDee5Up7Ue3MIK0iMzoO2S0cTw1+Uu4YlBEZx2mspWZFfxo4mk+wuIXkal9Dg6csGPktAqFuqsB7Bap9uFuydg0l1G66C0rx.651c+o+ceN0JgBTuTBWf.MLITYe6SmDMD1x4R.jvXPCEfrRqoNvZF6nFqXlgPgM8fO.eyT1PMtzLkMRUZEgcE7W6ZNlqdC2mqk.XhoeJ6F1mnFiZjd511Fpsp1oSesqqhJ1Av9p8o4svmGbK74g2BeZcK74Q2Bed7svmu8F8Q8p9NSj7HywDPvfi0UYKU5XFF1ko2QZ82v1UGpo
      

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

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

        @ulrik ...and search light 😂
        pansliderWpointerAndSearchLight.gif

        HiseSnippet 1541.3ocuXstaaaCEVJMpXwaYnEXO.b9WNsNNxt0sCHKaw4hKLpSpabZ2JBJJnknr3hDo.Eca7FJvdQ56Rej1+2O5NjzxRxwosK6hPPP34F+32g7vCy.A2ijlxEV1qc5zDhk8W4LbJSFteHlxr5c.H2oemtnAXl0dSSvooDeKa6a7HkZ60V0R+8G+3d3HLyijKxx54bpGoOMlJykNX2GSih5h8ImRiKX882smGmsOOhOAfxMbbsRvdmiGSNFqLaEGK6adnOUxECkXII0xd0839SGFxeCyX+yoozQQD0flVCg.YD2kG4qPrRp09gzH+AYK4TKHJCxIfaXHfuw4HpOct7bh3VZEnbOJxG1q7wfWyhvycovycYvyt.7V0.ua6LzSPSj4ZTX6Kc5wjDQ.FRAEgkwVqUNdMm84fELYiX74jtBXvbOp8.W25n1ttar85UVuBjHRknWiEnHb.ZGzgrwTFogmf.KsGEwGgiLgsOmedGleWBIplwUkSIfKYykwmAXY3LC1ZKD5DtDKlhRin9DgQTu.zD.wHbJBq1pgFpUVGkRjHI4BIBy7QwbeBJQvSHBIkjhjbTUv3pqWA.ZCAYLMEVQcmv7jTNqVUeA9MlIyDtp0QAYJGWGwG8KaT42VuBB9T.WfYiI.3A4.IcAZSyeQYaarw7a.toPHkf49TLK2cszmDDnf7NnVMZWxMkEXg2ogTuyYPdCLwsQqsKo7mn9xPPQyFtvj2B98cJ4yh33HHShRmHHno7IHAQSVg.EA782ZrJogWDAKzreIe8vQdShfji1CBvtl0CJPvi0x7lHDPND.WzDRNNASmuH2r3Z9tyPbQY2AUSwg5PjymarklpuD+.lAAsZ0EwJZ+Ph24HZfN.5sC6rSVpWYCno1kTsgQ2rDrgLv99cDd0NqTlXKTq5nkJwjPtaIkWohWVGAmhlSOYLd9JIa0j.rrFoZZIMWY1xvPWeOxcibcEVFF5RSU8qBf3HHc2.OJM22M1dtwuM2ORTJYg43G9LliSTywbWtxH+oBy9UK3ZkBAHOM2qPBllhR4wDYHkM1fbYHvaER54S5+mo3Ra42DNC619JR5l08BD2aWbOu5rZGnJIXZRiwD4d7ILeSpDChOq0KKezcbCXZL2SpMZzXyfLqF2H.tf8vnHZRJYdXx0V1apjDaF1L2DUYScI6j5ygmtZYFhVnrzmN3sJG7NQzwLh+oPdtFvM4wtNppGTxQP7qVdUmuGY.mpt1JKbifh9r93oDQMoPswOSgfqtHt17LSczYEWA5z+BBd4xVHtW7vGFD35ZtbLmgOQkmH9mP7jPsrHRsEC+rxc4TFrUo4klykX08peYGacYYMaC6FKPrvJ0vCWpTOpOcbnjAGjVfbf6Y9aSKORcMAji5BbPsybunc6.8mt3m5GPhq9qTfJMXqhwb4aWq7VkEY2Vi3ri4RxSX0fKrqrVEn9whpBBVpNUiHBdTjhWVhZUSnhOli0XShGoZDwTWMyPnarxs64b0s6UraTOSeQELjy5wnxmjPXWUOpVyZlR0N3LTAlJ0MC90yZFzzeiE0W0t9fNG+pGe7dVZHm2h8Kdu0y5c.VhyBDDyAyalBjc.40PC6ltLWy4.R54Rdh113DNSg.6a8YLsWLeJu0zcmlO+Oa22nJoNWvui2Mjn1YVTRV4LP1MAIePINuNhR5Se5S0RU2R.7ti5gIEpznL4cu6c+oxjXpueDY.OkpRpEeZhpSxLmiK9PlW7dnyuBC2E5nLYH8WIEeqS5jf.5Ep7Ue3EMWpCc3cBbeUuUke7f5ESyTnPSwtzUchy.TNs3r7O9EEKcyzmIbusy.pzKb43ckkfWXS0+03c16yV24vf.nraNXW0o6O+u6iwVJTfR9RnHJztkPk8cNdR7PXKmGAPBiAsi.xrWQcf0L1UMVwLCgZy5Ae.9loroZr8LkMyTZEi8D7W4YNlqdA3Wnk.XhoeH7ZNGoFiZlc51wAtdPsSm9JOOEUrIf8k6SqqgO26Z3y8uF9z9Z3yCtF97vqgOe2G0G0+SfNSj7XywDPvfC0UYssOjggcY5cjV+ETMTxJG
        

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

        NatanN 2 Replies Last reply Reply Quote 1
        • NatanN
          Natan @ulrik
          last edited by

          @ulrik HAha. You, Killin It Man, Thank You So Much ☺ 👏

          1 Reply Last reply Reply Quote 0
          • NatanN
            Natan
            last edited by Natan

            @ulrik So Clever:

                if (obj.text == "Pan")
            

            Well Done Sir 👍 👏

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

              @ustk said in LAF ScriptSlider?:

              @ulrik The skew factor is not a public component property, it is calculated behind the scene. It's calculated to take the middlePosition property into account. Therefore you can only access it only from obj in the custom LAF
              The skew is rarely necessary since value and valueNormalized should cover all the needs, but I had a special use case where I needed it, so it might be the reason I put it in the custom LAF I don't really remember to be honest... The associated function is getSkewFactor

              Do you have an example of a rotary knob using skew factor?

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              ustkU 1 Reply Last reply Reply Quote 0
              • NatanN
                Natan
                last edited by

                @ulrik Ulrik
                Have You Noticed The Message In Console With The Latest Version Of Hise.

                It Says Something About K.clear();
                I Guess This Version Doesn't Like That Line!!!

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

                  @Natan No, what do you mean?

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

                  1 Reply Last reply Reply Quote 0
                  • NatanN
                    Natan @ulrik
                    last edited by

                    @ulrik said in LAF ScriptSlider?:

                    @ulrik ...and search light 😂
                    pansliderWpointerAndSearchLight.gif

                    HiseSnippet 1541.3ocuXstaaaCEVJMpXwaYnEXO.b9WNsNNxt0sCHKaw4hKLpSpabZ2JBJJnknr3hDo.Eca7FJvdQ56Rej1+2O5NjzxRxwosK6hPPP34F+32g7vCy.A2ijlxEV1qc5zDhk8W4LbJSFteHlxr5c.H2oemtnAXl0dSSvooDeKa6a7HkZ60V0R+8G+3d3HLyijKxx54bpGoOMlJykNX2GSih5h8ImRiKX882smGmsOOhOAfxMbbsRvdmiGSNFqLaEGK6adnOUxECkXII0xd0839SGFxeCyX+yoozQQD0flVCg.YD2kG4qPrRp09gzH+AYK4TKHJCxIfaXHfuw4HpOct7bh3VZEnbOJxG1q7wfWyhvycovycYvyt.7V0.ua6LzSPSj4ZTX6Kc5wjDQ.FRAEgkwVqUNdMm84fELYiX74jtBXvbOp8.W25n1ttar85UVuBjHRknWiEnHb.ZGzgrwTFogmf.KsGEwGgiLgsOmedGleWBIplwUkSIfKYykwmAXY3LC1ZKD5DtDKlhRin9DgQTu.zD.wHbJBq1pgFpUVGkRjHI4BIBy7QwbeBJQvSHBIkjhjbTUv3pqWA.ZCAYLMEVQcmv7jTNqVUeA9MlIyDtp0QAYJGWGwG8KaT42VuBB9T.WfYiI.3A4.IcAZSyeQYaarw7a.toPHkf49TLK2cszmDDnf7NnVMZWxMkEXg2ogTuyYPdCLwsQqsKo7mn9xPPQyFtvj2B98cJ4yh33HHShRmHHno7IHAQSVg.EA782ZrJogWDAKzreIe8vQdShfji1CBvtl0CJPvi0x7lHDPND.WzDRNNASmuH2r3Z9tyPbQY2AUSwg5PjymarklpuD+.lAAsZ0EwJZ+Ph24HZfN.5sC6rSVpWYCno1kTsgQ2rDrgLv99cDd0NqTlXKTq5nkJwjPtaIkWohWVGAmhlSOYLd9JIa0j.rrFoZZIMWY1xvPWeOxcibcEVFF5RSU8qBf3HHc2.OJM22M1dtwuM2ORTJYg43G9LliSTywbWtxH+oBy9UK3ZkBAHOM2qPBllhR4wDYHkM1fbYHvaER54S5+mo3Ra42DNC619JR5l08BD2aWbOu5rZGnJIXZRiwD4d7ILeSpDChOq0KKezcbCXZL2SpMZzXyfLqF2H.tf8vnHZRJYdXx0V1apjDaF1L2DUYScI6j5ygmtZYFhVnrzmN3sJG7NQzwLh+oPdtFvM4wtNppGTxQP7qVdUmuGY.mpt1JKbifh9r93oDQMoPswOSgfqtHt17LSczYEWA5z+BBd4xVHtW7vGFD35ZtbLmgOQkmH9mP7jPsrHRsEC+rxc4TFrUo4klykX08peYGacYYMaC6FKPrvJ0vCWpTOpOcbnjAGjVfbf6Y9aSKORcMAji5BbPsybunc6.8mt3m5GPhq9qTfJMXqhwb4aWq7VkEY2Vi3ri4RxSX0fKrqrVEn9whpBBVpNUiHBdTjhWVhZUSnhOli0XShGoZDwTWMyPnarxs64b0s6UraTOSeQELjy5wnxmjPXWUOpVyZlR0N3LTAlJ0MC90yZFzzeiE0W0t9fNG+pGe7dVZHm2h8Kdu0y5c.VhyBDDyAyalBjc.40PC6ltLWy4.R54Rdh113DNSg.6a8YLsWLeJu0zcmlO+Oa22nJoNWvui2Mjn1YVTRV4LP1MAIePINuNhR5Se5S0RU2R.7ti5gIEpznL4cu6c+oxjXpueDY.OkpRpEeZhpSxLmiK9PlW7dnyuBC2E5nLYH8WIEeqS5jf.5Ep7Ue3EMWpCc3cBbeUuUke7f5ESyTnPSwtzUchy.TNs3r7O9EEKcyzmIbusy.pzKb43ckkfWXS0+03c16yV24vf.nraNXW0o6O+u6iwVJTfR9RnHJztkPk8cNdR7PXKmGAPBiAsi.xrWQcf0L1UMVwLCgZy5Ae.9loroZr8LkMyTZEi8D7W4YNlqdA3Wnk.XhoeH7ZNGoFiZlc51wAtdPsSm9JOOEUrIf8k6SqqgO26Z3y8uF9z9Z3yCtF97vqgOe2G0G0+SfNSj7XywDPvfC0UYssOjggcY5cjV+ETMTxJG
                    

                    This Show The Error 🤔 k.clear();

                    d.healeyD ustkU ulrikU 3 Replies Last reply Reply Quote 0
                    • d.healeyD
                      d.healey @Natan
                      last edited by

                      @Natan Not for me

                      Libre Wave - Freedom respecting instruments and effects
                      My Patreon - HISE tutorials
                      YouTube Channel - Public HISE tutorials

                      1 Reply Last reply Reply Quote 0
                      • ustkU
                        ustk @Natan
                        last edited by

                        @Natan Me neither...

                        Can't help pressing F5 in the forum...

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

                          @Natan Not here..

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

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

                            @ustk said in LAF ScriptSlider?:

                            @ulrik textColour isn't working with the stock slider either so this should have something to do with a bug in the slider wrapper somehow, it's not related to custom LAF. I'm checking if I can do something...

                            Any luck with finding a solution for the textColour property?

                            Libre Wave - Freedom respecting instruments and effects
                            My Patreon - HISE tutorials
                            YouTube Channel - Public HISE tutorials

                            ustkU 1 Reply Last reply Reply Quote 0
                            • ustkU
                              ustk @d.healey
                              last edited by

                              @d-healey said in LAF ScriptSlider?:

                              Do you have an example of a rotary knob using skew factor?

                              Not on the top of my head...

                              Any luck with finding a solution for the textColour property?

                              I'm having a look before making my evening tea :)

                              Can't help pressing F5 in the forum...

                              1 Reply Last reply Reply Quote 1
                              • ustkU
                                ustk @d.healey
                                last edited by ustk

                                @d-healey Ok so now the textColour property is available from the custom LAF (although it still doesn't work with stock sliders, but who cares...)
                                Did I earn my tea? :)

                                Can't help pressing F5 in the forum...

                                d.healeyD 2 Replies Last reply Reply Quote 2
                                • d.healeyD
                                  d.healey @ustk
                                  last edited by

                                  @ustk Yey well done, many much tea for you :D @Christoph-Hart merge merge merge :D

                                  Libre Wave - Freedom respecting instruments and effects
                                  My Patreon - HISE tutorials
                                  YouTube Channel - Public HISE tutorials

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

                                    @ustk Do you have example of drawing a knob with the correct middle position?

                                    This is what I'm working with:

                                        laf.registerFunction("drawRotarySlider", function(g, obj)
                                        {
                                            var a = obj.area;
                                            var width = obj.area[2];
                                            var height = obj.area[3];
                                            var stroke = 3;
                                            var mark = 4;
                                            var range = obj.max - obj.min;
                                            var startOffset = 2.5;
                                            var endOffset = -startOffset + 2.0 * startOffset * (obj.value - obj.min) / range;
                                    
                                            g.setColour(obj.itemColour1);
                                            g.fillEllipse(a);
                                    
                                            g.setColour(obj.itemColour2);
                                            g.drawEllipse([stroke / 2, stroke / 2, width - stroke, height - stroke], stroke);
                                    
                                            g.rotate(endOffset, [a[2] / 2, a[2] / 2]);
                                    
                                            g.setColour(obj.textColour);
                                            g.fillRoundedRectangle([width / 2 - mark / 2, 0, mark, height / 2.5], 1.5);
                                        });
                                    

                                    Libre Wave - Freedom respecting instruments and effects
                                    My Patreon - HISE tutorials
                                    YouTube Channel - Public HISE tutorials

                                    ustkU 1 Reply Last reply Reply Quote 0
                                    • Christoph HartC
                                      Christoph Hart
                                      last edited by Christoph Hart

                                      laf.registerFunction("drawRotarySlider", function(g, obj)
                                      {
                                          var a = obj.area;
                                          var width = obj.area[2];
                                          var height = obj.area[3];
                                          var stroke = 3;
                                          var mark = 4;
                                          var range = obj.max - obj.min;
                                          var startOffset = Math.PI * 0.25;
                                          var fullArc = Math.PI * 1.5;
                                          var arcPos = startOffset + fullArc * (obj.value - obj.min) / range;
                                      
                                          // 0 = starts in the center
                                          var intend = width * 0.25;
                                          
                                          g.setColour(obj.itemColour1);
                                          g.fillEllipse(a);
                                          g.setColour(obj.itemColour2);
                                          g.drawEllipse([stroke / 2, stroke / 2, width - stroke, height - stroke], stroke);
                                          
                                          var p = Content.createPath();
                                          p.addArc([0, 0, 1.0, 1.0], Math.PI + startOffset + fullArc, Math.PI + startOffset);
                                          
                                          /// itemColour3 ?
                                          g.setColour(0x22FFFFFF);
                                          
                                          // Annoyingly the path can't scale proportionally so we need to factor this weird number
                                          // in to make it non-squashed (change it if you change the intend)
                                          // someone with more math ambition could calculate it with a middle-school grade formula...
                                          var magicScaler = 1.4;
                                          
                                          g.drawPath(p, [intend/2 + stroke, 
                                                         intend/2 + stroke, 
                                                         width - intend - 2 * stroke, 
                                                         height - magicScaler * intend - 2 * stroke], 
                                                        intend);
                                          
                                          g.rotate(arcPos, [a[2] / 2, a[3] / 2]);
                                          g.setColour(obj.textColour);
                                          g.drawLine(width/2, height/2, intend - stroke + width/2, height - stroke, 4.0);
                                      });
                                      
                                      1 Reply Last reply Reply Quote 2
                                      • ustkU
                                        ustk @d.healey
                                        last edited by

                                        @d-healey Sorry but I don't understand what was the problem... Everything seems fine here...

                                        Can't help pressing F5 in the forum...

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

                                          @ustk If you use it with the attack knob of an ADSR for example the skew is totally off.

                                          Libre Wave - Freedom respecting instruments and effects
                                          My Patreon - HISE tutorials
                                          YouTube Channel - Public HISE tutorials

                                          ustkU 1 Reply Last reply Reply Quote 0
                                          • Christoph HartC
                                            Christoph Hart
                                            last edited by

                                            Oops I thought you were talking about the center point of the circle :)

                                            I think the obj.value should be normalized (or at least an obj.normalisedValue should be added) that takes the skew factor into account.

                                            ustkU 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            17

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.6k

                                            Posts