LAF ScriptSlider?



  • Custom LAF functions for Sliders

    On top of the habitual:

    bgColour
    itemColour1
    itemColour2
    textColour
    

    You have access to all the following objects:

    'drawRotarySlider'
    id
    text
    area
    value
    valueNormalized
    valueSuffixString
    suffix
    skew
    min
    max
    clicked
    hover
    
    'drawLinearSlider'
    id
    text
    area
    valueSuffixString
    suffix
    skew
    style	// Horizontal:2, Vertical:3, Range:9
    clicked
    hover
    
    // Vertical & Horizontal style slider
    min
    max
    value
    valueNormalized
    
    // Range style slider
    valueRangeStyleMin
    valueRangeStyleMax
    valueRangeStyleMinNormalized
    valueRangeStyleMaxNormalized
    

    ⚠ NOTES:
    The range Slider is a bit buggy if I remember well, so this is subject to change. I might add a separate LAF function for this one so please don't use Custom LAF for Range Sliders except for testing purposes...



  • @ustk Wow, thank you I will test right away πŸ™



  • @ustk waiting on this .......



  • @Jay it works already, just don’t use it for range sliders



  • @ustk I noticed the "obj.textColour" is not picked up inside laf code

    HiseSnippet 1374.3ocsW0saaaCElJMJXwaYaEXO.bA6BmTGGaul1MDrUm+bQPyOd0ocCnnniQhxhKRjpTzIwcMWNf9Br2kc4d.1yvvdD186hrCIksjRcRCRQ0Es47K+NGd34bbWovillJjHmYOXXBE47It8FxUgaDRXbz1apYryZcv8hX9TIZ8gIjzTpOxw4VOTqgyrSiLe+6CVmDQ3dzbVHzSELO5NrXlJma21OhEE0g3SOfEWP661daOAeCQjX.fla41.kP7NhzmtGQq1TtHmY1xmoDxdJhhlhbldcg+vdghS3V8eJKkcXDUSzD0CbjkcGQjuFwZtnMBYQ9cGE0oHvKcyyA2xlC9B2cY9rw7yyEetQ.N2hh4CmotJ30rH7Zb8gmSA3MsEd21smmjknxknw1G6tMWQkAD3JnHrr5hl52mwcCAnAWUOlbDsiDHFaQ060nQM7JMZrvpyUYtJvEQpBeLQhiHA3uCuEuOiSq6IoPn8vHwgjHqa2QHNZMteGJMpp0zkWFi2j5EQjDECbSQm8n81ecvaifQepZCQbhfCDUmWKbdqOz5lTPQ641knBMGh9HdrPQjCwolxR3P.bVWR6yRg.py.tm9rqNuujbhUSa8670vAiD1uFVb3urPkectJX3SelRBuOENWfOjiNEuj8uX7Us5.GbJ3LEnnOivyMzvc+ffTpBLuU8UxLHWChz6fPl2Qb3BCToQ8lqVR3Ox7Ugffl0a.GaK3eWrjMkbHficgqPb5.IEOTL.Ko5SVERwIPR5KsZkT2KhRjlTVIa8HQdChfLpwBJ2OKdvARQrgm2.oDR7.3hFPywIn53fbohw7cxPbQdKhqpydFWjmIWXYSRtDjRpS78WS5U8YkxRKiaUCOQN1j0cJI7RE77Zkw5RPxuwJ0xClEJbSnSeqAUaP.lnqOWWLf6mZBDBv9Ysd9Hs6WOUW9p6VYDeXeKwEx1KxBr4gPwwTI90u1jH7h.vQ8WvpTVE3E8ZiSCB9Vy2BqZT3rEWtnu6WO.ZjtUTDKIkNFhWF9XJZrkrYtJ52GlmUI0FG5lmEih1KTEdYNWQOUUN7s9dsHVeN0+.PbdwP9ATCOuGTlIo9vC+Jmk0.YQ6K7cfNN5mVu6W3VMuhW3W2Dx62c08MeitqJdG8XcUD0+wTOET7GkeYAsbq2XRIU6+kV+jP.luG4TaRcwkGkSvB9dBEcedUcZY1JmUAeQQAASTltWrTDEQkSTrdVt7pLrJeP7gTYMaOkwJBC0JO0z8xmZVbntmczPAEE7s4L09IT9kMKEkMOAlpNUFp.UUlYpeZ1L0r8bXvnyYb0ijPF7VboFz0v1OqDqlkbx+7C+we+.zS1dShhnGvmgJ.oITohoSBNaROF1bxNteV2MooGoDIFXmMuD4L26B3mlC5UZOLmnU6SzsIyYbP6PJqenpHm3h618U+ILMr.Y6QM6.dyfPu5bM272SsrrQ+WY1Ztu4MmaTNV3CX20sKgifGzI8XuxPCi+z42wA4rW6LbA788Eh11+7nn00wGnGEoVp79VZv8W+F572FxmetExEi4W9xWdtcY12Z4LXEQgud5Z48F0KKmI.dVTZAM8RX7TlZXwko+frL40Et21sKS4ENY7N0Dvq9E0GX7lsZ9btaED.8QyA6ztc9oO76gifd3JFu+tDkjA0Zt6MHtGTM3QAjv4zHcqKmozcGrzMzz5LSOXQCCgtPJSXSMsSlvliDhhIdRwK7rsWzK++QFN.l3leCzrt6powi6m35B6xfhgeSxK77zohk.rOYaZcCr4quA1b2afMqbCr4d2.at+Mvlu4JsQ+yAWafRDael.L5tkoutiyVbBTkYpHQ+O.ysLjO
    


  • @ustk I have to have the

    var p = Content.createPath();
    

    outside the

    laf.registerFunction()
    

    or it will not work, why is that?



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

    Like for panels, I think you always need to create the path outside anyway



  • @ustk I see, no hurry, I can use "itemColour2" for my purpose, thank you!



  • @ustk where do I find the "skew" property, or Object as you say?



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



  • @ustk I understand, thank you!



  • @ulrik But What's Up With Pan-Pot?



  • @Natan what about it?
    It's still a ScriptSlider and you can use the LAF on it as well

    Here I've used the

    laf.registerFunction("drawLinearSlider"...
    

    for the gain, pan and voices, but I chose to add an extra Label to display the values
    and if you want to have "L" "C" and "R" for the pan, you can easily script it

    Here I have

    showTextBox Disabled
    

    panpot.gif



  • @ulrik Thank You
    But I Mean, How The LAF Knobs Can Act In Pan Scenarios.
    The One You Posted Above Goes From Left To Right.
    Have You Made Any Left To Center, Center To Right Knobs?
    Like This One:
    alt text



  • @Natan Ok, no I have not tried to make that kind of Pan Knob, I guess you have to use 2 arcs and separate Pan from other LAF Knobs that use only 1 arc.

    at the moment the property "mode" is not available as I can see @ustk ?

    I think I would write "pan" as the suffix in the pan knobs, and use the

    if (obj.suffix == "pan")
    

    to separate them from other knobs, you could try it.



  • @ulrik Ok I tried, no need for 2 arcs in this one, however this lacks knob pointer

    This will work as a regular Slider, for it to work as a pan slider you have to set the text and mode property to "Pan"

    panslider.gif

    HiseSnippet 1438.3ocuWstaaaCEVJIpawaYHEXO.b9WNsNNxdMcCHKa14hKLZRpacZ6FJJJXjnr3hDo.EUa7FJvdQ56xdP1Cw9+9Q2gjVVRNNoEYWDJBJO23G+NGxywCEbORZJWXYu5oSRHV1etynILY39gXJyZvAfbmi50GMDyr1aRBNMk3aYau7CTpsWcEK82e9C6givLORgHKqmwodjinwTYgzgceHMJpO1mbJMtj02q6.ONaedDOCfxxNtVIXuywiImfUlsjik8sNzmJ4hQRrjjZYuxdb+IiB4ugYr+YzT5YQD0h1Vif.YD2mG4qPrRp09gzH+g4G4TKHJCKHfkMDvW5bL0mNSdAQrtVApvix7g8RWG7ZWFdtKDdtKBd1kf2JF3camQdBZhrPiBaely.ljHBvPJnLrL1Zsze7IN6yAKXxVw3yI8EvhYdz39ttMQa65twNqUasZPhHUhdMVfhvAncQGxFSYjVdBBbzdPD+LbjIrGw4m2i42mPhZXbU4TB3R9dY7YHVFN0fs1BgdBWhESPoQTehvHZP.JCPLBmhvpRMzHsxlnThDIIWHQXlOJl6SPIBdBQHojTjjipCFWesZ.PaIHioovIpeFySR4rF08E32X1LS3p2DEjqbbSD+rediZ+5Z0PvmB3BLaLA.OHGHoKPaZ9eT1NFaL+EfaJDRIXtOEyJbWK8QAAJHuKpSqsq3lxBrv6zPp24LHuAl31pyNUT9bpuLDTztkKr4cf+dmJ9LONNFxjnzLAAMgmgDDMYEBTDv2ekwpjVdQDrPy9U70CG4kEAIGsGDfcMmGTffGqk4kIDPND.WTFo.mfoyNjaV9Le2oHtrr6fZn3PcHJ3yM1RS0Whe.yffVu97XEseHw6bDMPG.c4vt6lm5U1.ZZbIUaXzMMAaHCrueOgWiWTISrEpSSzBkXRH2shxqTwKahfaQynmbFu3jjeZR.VViTMsjVnL+XXnquC4tQgtRGCCcoopipCf3XHc2BeVZguaryLieagejnTxb6w2+QrGOQsGyb4Ji7GJL6Wujq0JEfhz7fRIXZJJkGSjgT1XCxkg.uUJoWro+elhqTxuIbG1c6qHoaN2yQbuc9Zd0c0dvqjfoIsFSj6wyX9lTIFD+hNur5U2wsfswzmTazYiMKxsZbq.nA6gQQzjTxrvTnsp2TII1rrcgIpmM0OYmzbF7zuVlin4dV5CG7NUCduH5XFw+THO2.3lhX2DU2CdxQP7qeoGrPGQGGJYP4Poc6ApGs.O5Cm4Fuv8hs2NP+ouJp9GHwU+U4.TYwVET7UQd0dqxh7dGHN6Dtj7HVCn8QsUqAUyyqJHXg5TsEE7nHhXgpUiDItNGavxhOS0VzbKO2PX1fpCe3b0CeTd1HOSW5RFxYCXT4iRHrqZhIqos1UCmLEUfoR8nIewzQSLcasn9pgGG16jW8vS1yRC4YC78aOrq0SGb.VhyCDDygyZsCxNf7ZX7QyLOq5b.I8bIOQaabBmoPf85eDa6Ey1x0mzcRw.mOs6aTWvK.DtaHQUgUVR9kKP1s.IuWItnpVI8wO9wZop2r.d2QMlbo5dkIu6cu6uTlDS88iHC4oTURs7fxp4ZxcNt7X0+zuCygTZYWX9ljQzegTdx6zrf.5Ep70Qv70WZdQXpUtupSe0QYUyuOUgBMkmYTMWHCP4jx6x+34aWXwzGIbusyPpzKbw3coEfWnn5+Z7N8WKrlygAADOYAXWwo+O9u6OMXgP4I7LI7XHz7Wnx9NmjEOBJ47H.RXLn4HHydI0EVyZW0ZEyLB5VoW7d3apx1p01SU1NWoUL1Svekm4Zt52i7oZI.lX5eV1pNGqViZme61wAZHppzouxySQEaBXew9z4F3yWeC74d2.e19F3y8uA97M2.e91q0G0uPsWljGatl.BFdn9UVa6CYXnJSWQZ82.r+XSdB
    

    If we could have LAF Slider to read the mode property it would be great πŸ™‚



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


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


  • @ulrik HAha. You, Killin It Man, Thank You So Much ☺ πŸ‘



  • @ulrik So Clever:

        if (obj.text == "Pan")
    

    Well Done Sir πŸ‘ πŸ‘


Log in to reply
 

6
Online

1.5k
Users

4.6k
Topics

42.1k
Posts