Rescale UI-Size of Multislider Parts from left ro right
for the project I’m working on right now I would love to have the UI of the Multislider object altered in the way that the sliders to the left have a larger horizontal size while going right this size goes smaller.
Has anybody an idea on how to achieve this or an alternative object to use?
Thanks a lot
AFAIK that’s not possible with multislider. You’d need to use lcd or jsui and roll your own. It would probably be fairly tricky to manage the interaction, but some clever math could do it.
If you just have a couple of sizes, you can use several multisliders. But having them gradually get smaller as you go from left to right, that would be a lot…and you’d lose the "paint" gestures unless you had a transparent ubutton over everything and tracked mouse position.
Just a lin/log switch in the inspector would be really super helpful – also for controlling fft bins and such.
I bet someone could come up with this kinds thing using js and mgraphics without too much work. Don’t have time to do it myself right now.
Maybe you could try something with plot~. It has a log mode and the ability to report mouse position, which you could probably use to update its contents. (which is a dict and dicts are awesome) It’s a bit of a CPU hog when redrawing constantly, but you could speedlim the modification of its contents if that was a problem.
Oooh – that way you could also plot the result of your FFT or whatever on top of the control :)
Thanks for the answers. As I don’t have enough knowledge of js plot~ seems like the way to go. Going to give it a try this weekend!
That log/lin switch would be cool. Or a scale factor (default 1.0) which multiplies each successive slider’s width—so 0.9 to get smaller slowly, 1.1 to get bigger slowly, etc.
Though I imagine it would be a bear to incorporate into multislider…maybe a custom new object or abstraction would be better…