SliderPackLAF
-
Took some to-ing and fro-ing but I got there:
HiseSnippet 1704.3oc0X0uSibCDeCvdpIsmZup9.3dUmtDNRHIj.jfpJeSQkChZn209Wmb75j0hcsSscBDppTeT5qRefpTeCtN1dI6FHzqGp2ezffHOiGO+lO8X5HEDpRIjd4Jb9jgTubehe2Ibc3dgXF26388x8o9DkpaDKfJ6fIW3s6jgXkhF3kK2hGY1Tt7K4Y+7Weyt3HLmPSI448JAiPOgEyzoT6r82whhNDGPOmEmY2M19XhfumHRLB.zh9U8FBZDOfdJ1rsE789VrJzK2x9s5uVqMWuJdsfMITBoQ+lardCbsFq0DSasVebMBcil0I.HezAALsP1Ui0TkWtk1UDLoan3RtSAuhoX8hnlE075BZ1Q9PQTfwDMT81KjEEz4FOkxCNkNo9sEc9suv+kr.1T5o9uOyx.kJQVGXtElEdKNC7pkEdUy.u4.obYfzRNH8D+tDIanNkiAOer+wbMU1GCworPwsWuEtHu+dBXGbckX7EzCkvhoRTb8pUWAA+ozVEJ.wJkFklZbxNGh9ZzMBSjTvlNQPvQmHDWrCO3PJMp37DrVFwFP06IhGJ3vhhOMyddpQR3SFRUTT8cTvL3wHypq9kn851s7+S9TXFCvXhGyiXbZW8jHZ2PJEbKEJTQYCWJ6dMUIE9kB46AeOPJFwCJSfbEYajVh4pgXI3L2B3KjvtKKwArQp1nZCuZqB+J3fVdYj8zQ5PJhwCXiYAivQH2oqpfVd0BULJwQvnJhKb0FUtbOFGKmTdLNZDsMhDgiGVr.B9TcE6WP7gTbLVVrraOkPu.UCsJxQBSHijXxjRkxr64wF3VBs7sICVULVNfwAyoRKiAketl9pKiNmdkFo.6jwGXrn78AanbebLKZRazNRFNZqDhJ10foTqt87rTtjxFDBlaOnw.PSCmUYbDa.nWB0TcrEBTwYC0LAGG0FY4orNT9n3dToUiuyPTRz3bPr1s6Q6KjTDMhFCLQWB8LQ8nnQPAKRKPAL0vH7DqNrNVjjRzX9fHpMh4hqPujDtFLiD7nInKCobDlnYio2Jz11Q0Egsvy4uMx55KWxBxrhjfyYxJd9yMEqFu9QlrMC76KEwHllF6NmZnhZwvRFC4qN7v5qa9AUrmPqEwk.aUGhTwBA7k0AwLNVqOLiGjEC2MzFYpNvxxCRzDbtH24rRB5S0ZIT0msRFEVqZ0mYxgLPcYzqoOGbwf+05SgdFF4YXnArCP1noPFCAWSLvY+23cE1T2QQPSO6FKj2jNGZyaPh92aXJeXRpkKyG.zzrbW4hoGV9KYA5v1V7d2B4p17TmMbdHSAY4LH7.daCrLJ14OPJyJr1RJA88ng3wTE3DufhvIlmC6ioR3bl1GnBXR1.f8r.sZPxPgKz.Y78ThnQZpM+vl6cJj5gC.+jHFTm4FNDYjBjkcM1HiBb0lZQb1PLjJcSfOT.H.Q62G7W2oIzMocss65Vc+d+SLpOMynwZlellYjBMn3+VZ.UsR0lJDEqnkY7xhQ56q3Hst5c1B3AYH8FjM+Ny4M0NfRw6pX6WkiYWUjwQJ4fdyqhYSyQdYHPpzV19J24JCoMGmDAIcVn5hUo2MYnM+HjSaF9cv5vRSSsaifduPhCbDNUa4bUYUHNPboMi29aS32dQvwd2hhll7S.pvbC8GwI1jKA+TgldFuXICb.tnaype+4xyLchTDEQkyksYLV4+jfEcWBrhqCvzMBipM67e92+7eYGOMoOalMJ3GyY5yFR422PqdISXYlULAUf501IE+7jIEyLlOCFJ7w9YF1xyBc.h4V.Nr.rF6kqp+Z0qD8SQG+hNC94i1buCzAWel7nCN8EWy180qy1jOVclk+3prcarmm2Ob79FISv..G.hCM8YLVet8oigWK3ldMu+9T0EvcD18lLQHL956AhuZ5SK9sWs8jrKrsSmR32mrsqIb5SQXamVBXdTTsVsVuYyF0qWyK8tPCiF0a0n05aTuUSOWB+NwPBdlSBs8MEm.sG8mu06s1yOsySB4+v8zn6LEO79AQf4ZkYeTg4oWILfLsYlj2Lstom0jrOM6+rWZ7uEhOwuCSSBmOFWXNXDRJ9Pfwj2m8X+CrWjjBvk7O7G+v7XLuuGtJ.tY6kXsjAIg9mNJtKDpITP6bNMRcSYTx5pl0FOPWJOvt3svmDl0Lqykvr1ML8hwDo3MDWkr4EfejkBfIt80x48eoYMZZgapeNFdP5aHjYOp6HX8Gpfq8PErwCUvlOTAW+gJ3FOTA27cKn4+WvNifa2ckMdduryA1tl4xc.2LMpMa06ugFlGif
-
@d-healey I'd prefer my sliderpack values to show 0-100 on my UI - easy, set the sliderpack value to 0-100. However the sliderpack also controls another sliderpack who's values have to be 0-1. Hise doesn't like me using the '/' character in the callback. Any ideas? The reason I'm doing this is because I can't just multiply the value by 100 in CSS.
Line 6791, column 24: '/' is not allowed on the Object type
inline function onSliderPack_NOTE_LENGTH_UIControl(component, value) { SliderPack_NOTE_LENGTH.setSliderAtIndex(value, component.getSliderValueAt(value / 100)); }; Content.getComponent("SliderPack_NOTE_LENGTH_UI").setControlCallback(onSliderPack_NOTE_LENGTH_UIControl);
-
@DanH
value
the slider index not the slider value - you know how to get the value because you're doing it on the next line ;)component.getSliderValueAt(value)
-
@d-healey yes, it wasn't working and I wondered if I was doing it wrong, hence the v in the wrong place. In any case, I can't do:
inline function onSliderPack_NOTE_LENGTH_UIControl(component, value) { SliderPack_NOTE_LENGTH.setSliderAtIndex(value, component.getSliderValueAt(value / 100)); }; Content.getComponent("SliderPack_NOTE_LENGTH_UI").setControlCallback(onSliderPack_NOTE_LENGTH_UIControl);
either...
EDIT - I can do:
inline function onSliderPack_NOTE_LENGTH_UIControl(component, value) { local v = component.getSliderValueAt(value); SliderPack_NOTE_LENGTH.setSliderAtIndex(value, component.getSliderValueAt(v / 100)); }; Content.getComponent("SliderPack_NOTE_LENGTH_UI").setControlCallback(onSliderPack_NOTE_LENGTH_UIControl);
but the linked sliderpack doesn't read the value properly
-
@DanH
component.getSliderValueAt(v / 100)
Do you have 100 sliders? -
@d-healey no
right I'm getting confused, obviously. 32 sliders. I just want to send the value of the sliderpack / 100 to the next sliderpack
-
@DanH Why not set both sliderpacks to use a range of 0 - 1 and then multiply the value for display purposes in your LAF function?
-
@d-healey because I'm using CSS, which can't multiply a value.
-
@DanH Ah i see,
So the slider value you want is:
local v = component.getSliderValueAt(value) / 100;
Then you can set the other sliderpack with:
myOtherSliderPack.setSliderAtIndex(value, v);
-
@d-healey yes, that's what I expected to work, but the value received is still 0-100. Let me make a minimal snippet
-
@d-healey right, don't worry, finally got the right combo
thanks!
-
@DanH
cool! Thank you!