MrKepzie / Natron

Open-source compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.
www.natron.fr
GNU General Public License v2.0
1.49k stars 164 forks source link

[Request] Slider movement improvements. #196

Closed mifth closed 9 years ago

mifth commented 10 years ago

Hello.

Blender has good feature for sliders. Drag - moves slider to the position of mouse Ctrl+Drag - moves slider with a step 0.1 Shift+Drag - moves slider with a step 0.01 Alt+Shift+Drag - moves slider with a step 0.001

OR: We can add Constraint Widget like in Houdini/Maya. In Houdini MiddleClick at any value and constraintsWidget appears with steps 100, 10, 1, 0.1, 0.01, 0.001, 0.0001 step sizes. Here is video test: http://youtu.be/3U_Vz0AB2Nw

For me - Houdini/Maya constraint widget is the best solution. As there will be no need to know all different shortcuts for step sizes.

Thanks.

Tangofish commented 9 years ago

I see there are a some discussions around the sliders (post #185 & #149). I too am finding them not efficient.

The issue for me is twofold a) the hard-coded min/max ranges of the sliders are inconvenient and b) the slider resolution is very coarse for making actual adjustments.

The sliders are is fine when I am testing things out, seeing what makes something brighter or darker and so on, but when I need to make a precise colour adjustment and so on, I am almost always entering the number into the numeric box directly with the keyboard.

I believe suggestions to the slider resolution behavior have already been suggested and addressed (holding down shift, alt etc while dragging adjusts the precision of the sliders). A also agree that it is not a good idea to use slider range zoom tools as this would be confusing.

I would like to make 2 possible a suggestion for the Min/Max ranges: 1) When we right click on the value box to the left of the slider perhaps the drop down could could offer us 4 slider range constraint options for each slider (not value input range constraints, only for the slider tool): • set MIN slider range to current • set MAX slider range to current • set slider range to +/- 0.5 of current (the 0.5 could be changed in the preferences perhaps) • default slider range (also in the preferences)

Thus the ranges could by set by entering a min value with the keyboard and then SET, entering a max value with the keyboard and then SET and away you go.

2) Another possible idea perhaps could be to add 2 more numeric boxes, "Min" and "Max" along with the current value. These would of course set the Max and Min range for each slider independently. I envision there would be an interface button, maybe near the "Turbo button" that could be toggled on and off. When "on" the min/max boxes would be fully editable, when "off", the min/max buttons would be non editable, greyed out, perhaps very dim and hard to see, or maybe not visible at all.

Issues with this: Someone not careful could accidentally set the MIN/MAX ranges to be equaland you'd have a locked slider. That may or may not be a bad thing. Perhaps the user would get a warning dialog, or the slider turns red or something, or something greys out so you can't end up in this possibility. This could also be considered a feature, a way to lock slider, but that's not overly intuitive, nor is it convenient to "unlock". Regardless, one could still enter values with the keyboard.

The shift/alt rag modifier keys could be smart, they could adjust their precision based on the range of the slider.

Hope that makes sense, I'm curious is anyone else would find slider behavior like this useful?

Great work so far Natron team!

mifth commented 9 years ago

Not sure about Min/Max boxes. Houdini does not have it. Max/Min values are specified in OFX or in Python.

Issue https://github.com/MrKepzie/Natron/issues/185 is only for color correction. To make it as in Nuke.

But i agreed about Alt/Shift modifiers which you are explained. As in my first post.

Tangofish commented 9 years ago

From the perspective of someone trying to use a tool, I'm speaking only from what is working well or holding me back. MIN/MAX boxes may not be the solution for the sliders, but have a think about it, how can this be better, how can the problem be solved? If someone comes up with a good solution, you might soon find that Hoidini and Nuke may also adopt it. Right now I have the feeling things are being looked are looking at the other way around. :D

mifth commented 9 years ago

Sure, you can have any requests. But i know no apps who change min/max values. And there are some certain concept about it. These values are set in the code. And they should be set in the code of plugins.

About changing constraints - Houdini/Maya have the best Value Constraints Widget. I can easily set any constraint with 100, 10, 1, 0.1, 0.01, 0.001. 0.0001 step sizes. Here is how it works in Houdini: http://youtu.be/3U_Vz0AB2Nw Just MiddleClick at any value and you can use constraint. Very useful. I'll add it to a topic.

MrKepzie commented 9 years ago

There's CTRL or CTRL + SHIFT to zoom on sliders now

mifth commented 9 years ago

Thanks.