I would like to emulate a hardware synth where you can turn a dial forever to manipulate a value. And I expected stopAtEnd to work for linear control.
At the end of ‘handleAbsoluteDrag’
if (rotaryParams.stopAtEnd)
{
valueWhenLastDragged = owner.proportionOfLengthToValue (jlimit (0.0, 1.0, newPos));
}else
{
valueWhenLastDragged = owner.proportionOfLengthToValue (newPos - floor(newPos));
}
And in ‘getMouseWheelDelta’
auto newPos = currentPos + proportionDelta;
if (rotaryParams.stopAtEnd)
return owner.proportionOfLengthToValue(jlimit(0.0, 1.0, newPos)) - value;
else
return owner.proportionOfLengthToValue(newPos - floor(newPos)) - value;
And any other I haven’t thought of.