Tool RGB sliders

Moderator: SecondMan

jtkleine
Posts: 11
Joined: Wed Dec 10, 2014 11:00 am
Location: Helsinki, Finland
Real name: Jouko-Thomas Kleine
Contact:

Tool RGB sliders

#1

Post by jtkleine » Sat Jun 15, 2019 10:13 am

This beats me. Is there a way -- with your mouse -- to move related tool sliders together? For example, if I in OCIOCDLTransform tool would want to change all RGB channels for Slope simultaneously? I just find it counter intuitive to click and drag one slider after an other unless I want to tweak the balance between the channels. Maybe I just missed it in the tool manual but for the life of me I'm not able to figure out how to do this.

User avatar
SirEdric
Fusionator
Posts: 1954
Joined: Tue Aug 05, 2014 10:04 am
Answers: 3
Real name: Eric Westphal
Been thanked: 133 times
Contact:

Re: Tool RGB sliders

#2

Post by SirEdric » Sat Jun 15, 2019 1:31 pm

What about adding an expression to the sliders to link them?...:-)

jtkleine
Posts: 11
Joined: Wed Dec 10, 2014 11:00 am
Location: Helsinki, Finland
Real name: Jouko-Thomas Kleine
Contact:

Re: Tool RGB sliders

#3

Post by jtkleine » Sat Jun 15, 2019 1:50 pm

Yeah, I guess that's what I have to do. It'll have to be a temporary solution, 'cause I'll need to link and relink them all the time -- I certainly also need to access those pesky sliders separately.

When I have time I have to make modified versions of some tools where I have boxes to link the sliders whenever I need. I was just hoping there was a modifier key or some other workaround existing already. I can't believe I'm the only one who finds working this way frustrating.

User avatar
SirEdric
Fusionator
Posts: 1954
Joined: Tue Aug 05, 2014 10:04 am
Answers: 3
Real name: Eric Westphal
Been thanked: 133 times
Contact:

Re: Tool RGB sliders

#4

Post by SirEdric » Sat Jun 15, 2019 1:56 pm

jtkleine wrote:
Sat Jun 15, 2019 1:50 pm
I can't believe I'm the only one who finds working this way frustrating.
Well...maybe if you would explain what exactly causes your frustration (preferably accompanied by some example comps) I'm pretty sure that thou shalthed be helpeth.

jtkleine
Posts: 11
Joined: Wed Dec 10, 2014 11:00 am
Location: Helsinki, Finland
Real name: Jouko-Thomas Kleine
Contact:

Re: Tool RGB sliders

#5

Post by jtkleine » Sat Jun 15, 2019 3:43 pm

It's not a comp specific problem, it's just how I'm used to work with color. Of course, when matching elements in a comp it has to be very precise and then it is one channel at a time and mostly I input the values as numbers, not with sliders. (Of course, in this case I would be great to be able to use arrows per decimal value à la Nuke -- but you shouldn't ask for everything, should you.) As we all already know, accessing those numeric fields is going to be a disaster all of it's own in the new '16 UI, but I digress.

To get to the point, what I often need to do -- especially in a slap phase -- is to get my colors approximately right by just eyeballing and throwing in some values with a mouse or a pen. Kind of like you would work in a grading suite or a DIT cart. In that case it is important to control both the individual channels and also the luminance (it doesn't have to be precise, but 709 luma math would be ideal if I get to choose). In these situations when making broad adjustments, jumping between individual channels is a pain and counter-intuitive to say the least. I understand, that a standard UI-convention in Fusion is to open up the color wheel and use the "Value"-slider (is it 709 math by the way?). This would be totally O.K., if there wasn't a hard stop in the slider at value 1. This limitation makes it pretty much useless.

I have attached a picture of some tools that I love to use as an example of this type of problem. There is the brilliant Grade-tool by Muse VFX and the OCIOCDL Transform-node. A totally awesome thing would be to have fourth slider for some kind of master- or luminance control. An other solution could be to just have a tick-box to lock the three sliders together. What I was hoping for was, that maybe there is a way to select the values of several sliders (maybe using a modifier key) and then change them simultaneously. I understand that to get anything more I'll have to make my own modifications. I hope I'll have the time to do that in the near future, but it will take a moment -- I have the opposite of any kind of experience or expertise in coding. I will handle it, it will just not be pretty.

I also included a picture of some tools (White Balance and Color Gain) where there is some attempt to provide locking for related sliders. Alas, those won't work if you want to toggle the lock on and of and make both locked and individual adjustments. It's either or, otherwise it'll just be a mess.

Cheers,

--
Jouko-Thomas

Image

User avatar
SirEdric
Fusionator
Posts: 1954
Joined: Tue Aug 05, 2014 10:04 am
Answers: 3
Real name: Eric Westphal
Been thanked: 133 times
Contact:

Re: Tool RGB sliders

#6

Post by SirEdric » Sat Jun 15, 2019 11:18 pm

Hi there.

Thanks for the detailed explanation.
As for the arrow keys to modify values, that's certainly possible.
Just click on any control and then use your arrows to nudge the values.
Hold Ctrl for finer and Shift for larger steps....:-)

Joining sliders could be done by adding new controls to the tool.
As an example, here's a BG with added color sliders in the user tab.
So you could adjust RGB individually and use the 'offset' slider as a multiplier.
Would that be an approach that goes into the right direction?

Code: Select all

{
	Tools = ordered() {
		Background2 = Background {
			CtrlWZoom = false,
			Inputs = {
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				TopLeftRed = Input {
					Value = 0.7806252,
					Expression = "mRed*mOffset",
				},
				TopLeftGreen = Input {
					Value = 0.803343501625539,
					Expression = "mGreen*mOffset",
				},
				TopLeftBlue = Input {
					Value = 1.301042,
					Expression = "mBlue*mOffset",
				},
				mRed = Input { Value = 0.3558, },
				mGreen = Input { Value = 0.366154740941449, },
				mBlue = Input { Value = 0.593, },
				mOffset = Input { Value = 2.194, },
			},
			ViewInfo = OperatorInfo { Pos = { -110, 445.5 } },
			UserControls = ordered() {
				mRed = {
					LINKS_Name = "mRed",
					LINKID_DataType = "Number",
					INPID_InputControl = "ColorControl",
					INP_Integer = false,
					IC_ControlGroup = 5,
					IC_ControlID = 0,
					CLRC_ColorSpace = "HSV",
					CLRC_ShowWheel = true,
				},
				mGreen = {
					LINKS_Name = "mGreen",
					LINKID_DataType = "Number",
					INPID_InputControl = "ColorControl",
					INP_Integer = false,
					IC_ControlGroup = 5,
					IC_ControlID = 1,
					CLRC_ColorSpace = "HSV",
					CLRC_ShowWheel = false,
				},
				mBlue = {
					LINKS_Name = "mBlue",
					LINKID_DataType = "Number",
					INPID_InputControl = "ColorControl",
					INP_Integer = false,
					IC_ControlGroup = 5,
					IC_ControlID = 2,
					CLRC_ColorSpace = "HSV",
					CLRC_ShowWheel = false,
				},
				mOffset = {
					LINKS_Name = "mOffset",
					LINKID_DataType = "Number",
					INPID_InputControl = "SliderControl",
					INP_Default = 1,
					INP_Integer = false,
					INP_MinScale = 0,
					INP_MaxScale = 2,
					INP_MinAllowed = -1000000,
					INP_MaxAllowed = 1000000,
					ICD_Center = 1,
				}
			}
		}
	},
	ActiveTool = "Background2"
}
Cheers.

Eric.

jtkleine
Posts: 11
Joined: Wed Dec 10, 2014 11:00 am
Location: Helsinki, Finland
Real name: Jouko-Thomas Kleine
Contact:

Re: Tool RGB sliders

#7

Post by jtkleine » Sun Jun 16, 2019 2:38 am

Thanks Eric,

this is very useful. Regarding the new slider maybe it would be more practical for it to push the channel sliders around instead of providing a hard offset. Maybe instead of a slider some kind of a jog control. I'm off to a shoot but I'll think about this when I get a chance.

Thanks for the tip about the arrow keys also!

User avatar
Fefson
Fusioneer
Posts: 56
Joined: Tue Sep 27, 2016 3:58 am
Been thanked: 1 time

Re: Tool RGB sliders

#8

Post by Fefson » Mon Jun 17, 2019 11:41 am

Maybe the simplest solution would be to have screwcontrols for all color values, and one for your main offset? The drawback is that you can no longer use the original colorcontrols...

Code: Select all

{
	Tools = ordered() {
		Background1 = Background {
			CtrlWZoom = false,
			Inputs = {
				Width = Input { Value = 1920, },
				Height = Input { Value = 1080, },
				["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
				TopLeftRed = Input { Expression = "MainOffset*_Red", },
				TopLeftGreen = Input { Expression = "MainOffset*_Green", },
				TopLeftBlue = Input { Expression = "MainOffset*_Blue", },
				MainOffset = Input { Value = 0.87, },
				_Red = Input { Value = 0.367, },
				_Green = Input { Value = 0.3, },
				_Blue = Input { Value = 0.4, },
			},
			ViewInfo = OperatorInfo { Pos = { 440, 49.5 } },
			UserControls = ordered() {
				MainOffset = {
					LINKS_Name = "MainOffset",
					LINKID_DataType = "Number",
					INPID_InputControl = "ScrewControl",
					INP_Integer = false,
					INP_MinScale = 0,
					INP_MaxScale = 1,
					INP_MinAllowed = -1000000,
					INP_MaxAllowed = 1000000,
					ICS_ControlPage = "Color"
				},
				_Red = {
					LINKS_Name = "_Red",
					LINKID_DataType = "Number",
					INPID_InputControl = "ScrewControl",
					INP_Integer = false,
					ICS_ControlPage = "Color"
				},
				_Green = {
					LINKS_Name = "_Green",
					LINKID_DataType = "Number",
					INPID_InputControl = "ScrewControl",
					INP_Integer = false,
					ICS_ControlPage = "Color"
				},
				_Blue = {
					LINKS_Name = "_Blue",
					LINKID_DataType = "Number",
					INPID_InputControl = "ScrewControl",
					INP_Integer = false,
					ICS_ControlPage = "Color"
				}
			}
		}
	}
}

jtkleine
Posts: 11
Joined: Wed Dec 10, 2014 11:00 am
Location: Helsinki, Finland
Real name: Jouko-Thomas Kleine
Contact:

Re: Tool RGB sliders

#9

Post by jtkleine » Mon Jun 17, 2019 12:51 pm

This will do for now. Of course, it's a workaround, but it neatly solves the problem. Like I said, I don't need it for precise work, just to throw some approximate values around.

I think it is better to have the user knobs on the main Color page, like Fefson made them, as you have to look at the original controls to see the actual channel values.

Thanks for both of you, this helps a lot!

Jouko-Thomas

jtkleine
Posts: 11
Joined: Wed Dec 10, 2014 11:00 am
Location: Helsinki, Finland
Real name: Jouko-Thomas Kleine
Contact:

Re: Tool RGB sliders

#10

Post by jtkleine » Mon Jun 17, 2019 2:14 pm

I noticed that in Tilt's eLinBrightnessContrast fuse the "RGB channel master slider" (or whatever it could be called) woks correctly -- so if I ever actually manage to do the work and learn some Lua, there's a ready model how it could be done.

I included a picture for extra clarity.

Cheers,

--
Jouko-Thomas

Image