I didn’t know about all these methods, but what I am seeing doesn’t quite match. Using the Exposure compensation slider as a test case, I see:
Click and hold the slider button for 2 seconds: can adjust value in 0.01 increments
Hold shift key and click on the slider knob: can adjust value in 0.01 increments
Hold shift key and click in front or behind the slider knob (I assume that means to the left or right of it): can adjust value in 0.10 increments
Click slider knob, then hold shift key and scroll the mouse wheel: can adjust value in 0.10 increments
If I can make tiny enough movements with the mouse, I can get 0.01 increments without using any of the above methods. It still takes a steady hand and a lot of care to get 0.01 increments when using those methods that allow it.
Using the -/+ buttons gets 0.05 increments. Shift has no effect on this. It would be very nice if shift allowed the -/+ buttons to operate in 0.01 increments. More deterministic than tiny mouse movements.
RawTherapee has a feature which prevents you from accidentally changing a slider’s value when just vertically scrolling in the toolbox, by requiring that you hold the shift key when using the mouse scrollwheel to adjust a value. This is a RawTherapee feature, not a GTK+ one. This has “always” been like that, way back in the GTK2 days.
GTK3 has a built-in feature which enables finer slider control by either holding the shift key or by holding the knob for 2 seconds. It’s standard across all programs which use GTK3 - it’s a GTK+ feature not a RawTherapee one.
RawTherapee’s slider granularity (how small an adjustment’s minimum jump can be) is decided on a per-slider basis. While a granularity of 0.05 is well suited for the Exposure Compensation slider (range -5 to 12), a change of 0.05 for the Black slider would make no sense (range -16384 to 32768).
The Exposure Compensation slider has a granularity of 0.05. You can see this by clicking on the knob and pressing the left or right arrow keys on your keyboard. Clicking in front or behind a slider seems to use 2*granularity - I suppose this is also a GTK+ thing.
Dragging a slider has nothing to do with RawTherapee’s granularity. If you move a slider by 1 pixel and the slider is 100 pixels wide, then the value will change by 1 percent. If a slider is 100 pixels wide but has a huge range, such as the Black slider with its range of 49152, then 1 pixel of knob movement will correspond to range/width = 492. You can use GTK+ fine mode to have the value change by far finer amounts.
I get this behaviour but also some additional odd behaviour. Also, I see now there is some visual distinction for precision mode, the bar appears to widen.
On the exposure slider:
-If I hold shift and use the scroll wheel A) the increments go in .1, it would be great if shit+alt gave increments of .01, that would be ultra helpful. B) the slider bar visually oscillates the whole time between the two appearances while holding shift. This does not affect the operation, but is definitely unsettling and distracting, gives the impression something is going wrong.
-regardless of which mode I use I have trouble getting increments of .01, seems it likes to jump by increments of.02
In terms of the black slider there appears to be the exact nonsensical operation mentioned by morgan above. When entering into precision mode the increments are so small that they don’t have any effective impact.
I guess these are two separate issues.
What would be great.
if the + & - buttons had key modifiers that allowed for .01 increments on exposure. This would be excellent. perhaps Alt+
If the scroll wheel+shift also had a keymodifier for .01 increments, Alt+ ? (theme emerging). And visually didn’t signal the coming apocalypse
If the black slider had some precision modifier that made sense, perhaps 0.2 x of the standard dragging increment would be great. Again perhaps with both a drag and scroll wheel solution including Alt+
Of course it would be great to see this approach to the whole exposure tab. Given the lack of precision with dragging the sliders focusing on a scroll wheel approach seems most attractive. I think modifiers for the +&- would also be great. Further I think the .02 x granularity for sliders with high value ranges (such as black) would be a great general solution.
I only ask becuase I have no idea how difficult this would be to implement. I see that there is some limited implementation for additional granularity. However it really could be so much better, more consistent, and also incorporate the scroll and +&- consistently. I would absolutely love to see this if only for the exposure section. But again I have no idea how long something like this takes.
And there are also the 4 arrow keys… using Exp. Compensation again, I find Up Arrow and Down Arrow change by .05 (but oddly (to me) up arrow decreases the value),
whereas with Ctrl pressed -
the values change by .1
Similarly Left and Right Arrow keys.
You can’t change the value if Shift is pressed.
Page Up and Down also doing .1 with or without Ctrl.