Rotary knob movement sensitivity

My synth are using the “Rotary” slider style. I am aware the “RotaryHorizontalDrag”, “RotaryVerticalDrag”, and “RotaryHorizontalVerticalDrag” have a “setMouseDragSensitivity” parameter that can be set so it’s easier to tune in a value, however I really dislike those slider styles as I find them non-intuitive.

Have I missed an option for the regular “Rotary” slider style, that allows me to adjust drag mode, or somehow adjusts so I can fine tune in on a specific knob value, like on sliders where you can hold down a “Shift” key to slow value change.

I think you can simply enable this behaviour on regular sliders:

https://docs.juce.com/master/classSlider.html#a59b616e79738d3adb83093dc532822d0

If I’m not mistaken the JUCE GUI demo show severals sliders with this enabled.

Thanks but I forgot to mention I did try to setVelocityBasedMode() to true, and it makes no difference I can detect on a Rotary slider.

In the Widgets demo, right-click the rotary slider snd select any mode apart from circular dragging. On macOS I can press alt, or cmd, while dragging to enable velocity sensitive mode. I assume this is what you’re looking for?

But as I explained I need regular rotary [circular], and I find adjusting knobs in the other three modes completely unnatural, illogical, etc.

Sorry, I missed that. But I can confirm it doesn’t work in that mode for me either.

the default button for sensitive drag is ctrl in juce sliders, even though most commercial plugins use shift. i was told that’s maybe because ableton also uses ctrl for sensitive mode. you can manually change that, but i agree that this feature is often overlooked. what makes this even worse: sensitive drag on mousewheel is entirely not implemented in juce and mid-drag switching betweeen sensitive on/off is also not possible with juce::Slider. these are the main reasons why i always encourage people to make their own parameter components, but ofc it would be best if the juce team themselves fixed them

IIRC in regular Rotary mode, the angular movement of the knob is controlled by the angle formed between the initial position and the current position of the mouse cursor, with its vertex in the centre of the knob.

If you want finer control during an adjustment, you have to move the mouse cursor further away from the knob: circular arcs of the same length correspond to smaller angles when the distance from the vertex increases.

2 Likes

Thank you very much!