Excellent, Randy! Thank you :-)
On Thu, Jun 30, 2011 at 11:53 AM, Randy Little <[email protected]>wrote:
> can't this just be done with a gizmo and an expression. super basic but
> the point I am trying to make.
>
> set cut_paste_input [stack 0]
> version 6.2 v3
> ColorBars {
> inputs 0
> name ColorBars1
> selected true
> xpos -111
> ypos -232
> }
> Truelight3 {
> commands {lamp{internal-Xenon}
> greyValue{445,445,445}
> printerPoints{3.44,2.44,2.44}}
> output_raw true
> display monitor
> display_file
> /Applications/Nuke6.2v3/NukeX6.2v3.app/../Nuke6.2v3.app/Contents/MacOS/plugins/truelight3/displays/monitor
> advanced true
> lamp internal-Xenon
> printer_points {{NoOp1.master+r x1 3} {NoOp1.master+g} {NoOp1.master+b}}
> brightness 1
> flare_correction 0.009999999776
> white_u 0.1977999955
> white_v 0.4683000147
> name Truelight1
> label "Truelight v3.0"
> selected true
> xpos -75
> ypos -90
> }
> Viewer {
> frame 1
> input_process false
> name Viewer1
> selected true
> xpos -40
> ypos -9
>
> }
> push $cut_paste_input
> NoOp {
> name NoOp1
> selected true
> xpos -299
> ypos -206
>
> addUserKnob {20 User}
> addUserKnob {7 master}
> master 0.44
> }
>
> Randy S. Little
> http://www.rslittle.com <http://reel.rslittle.com>
>
>
>
>
>
> On Thu, Jun 30, 2011 at 09:20, Ben Dickson <[email protected]> wrote:
>
>> It can be done fairly easily using a Python onKnobChanged callback..
>>
>> As a really basic (untested) example:
>>
>> def gang_sliders():
>> node = nuke.thisNode()
>> knob = nuke.thisKnob()
>>
>> # Get value of gang checkbox (True or False)
>> gang_enabled = node['gang'].value()
>>
>> if not gang_enabled:
>> return # do nothing
>>
>> new_value = knob.value()
>>
>> # set all the other values
>> if knob.name() != "grade_red":
>> node['grade_red'].setValue(**new_value)
>> if knob.name() != "grade_green":
>> node['grade_green'].setValue(**new_value)
>> if knob.name() != "grade_blue":
>> node['grade_blue'].setValue(**new_value)
>>
>> nuke.addKnobChanged(gang_**sliders, nodeClass = "MyGradeNode")
>>
>>
>> That should give you the general idea - to make it actually function like
>> the gang (keep the relative values), you need to know the old and new
>> value..
>>
>> To do that, the simplest way I can think of is to have a dictionary
>> storing the the previous values, e.g:
>>
>> PREV_VALUES = {}
>>
>> def gang_sliders():
>> global PREV_VALUES
>>
>> node = nuke.thisNode()
>> knob = nuke.thisKnob()
>>
>> # Get the previous values for the channel
>> prev_red = PREV_VALUES[node.name()]['red'**]
>>
>> delta_red = prev - node['grade_red']
>>
>> if knob.name() == "grade_red":
>> # red channel changed, move blue/green
>> node['grade_green'].setValue(
>> node['grade_green'].value() + delta_red)
>> node['grade_blue'].setValue(
>> node['grade_blue'].value() + delta_red)
>>
>> elif knob.name() == "grade_green":
>> # same thing, but for red/blue
>>
>> elif knob.name() == "grade_blue":
>> # and again
>>
>>
>> # Then at the end, update the previous values
>> PREV_VALUES[node.name()] = {
>> 'red': node['grade_red'].value(),
>> 'green': node['grade_green'].value(),
>> [...]
>> }
>>
>> Also, you'll need to keep have a callback for when the node is deleted,
>> which removes the previous values
>>
>> ..okay so maybe "fairly easy" was maybe the wrong way to describe it! I'm
>> sure there must be an easier or more elegant way to do this... I guess you
>> could store the previous values in a hidden knob on the node?
>>
>> ella boliver wrote:
>>
>>> No, I am looking for something that works exactly like the 'gang' button
>>> in the exposure node.
>>>
>>> :-)
>>>
>>> On Thu, Jun 30, 2011 at 10:51 AM, Julien Chandelle <
>>> [email protected]
>>> <mailto:julienchandelle@gmail.**com<[email protected]>>>
>>> wrote:
>>>
>>> something like that ?
>>>
>>> set cut_paste_input [stack 0]
>>> version 6.2 v4
>>> push $cut_paste_input
>>> NoOp {
>>> name NoOp1
>>> selected true
>>> xpos 532
>>> ypos -66
>>> addUserKnob {20 User}
>>> addUserKnob {7 master}
>>> master 0.22
>>> addUserKnob {7 red}
>>> red 0.585
>>> addUserKnob {7 green}
>>> green 0.285
>>> addUserKnob {7 blue}
>>> blue 0.545
>>> addUserKnob {18 color}
>>> color {{master+red i} {master+green i} {master+blue i}}
>>> }
>>>
>>>
>>> On Thu, Jun 30, 2011 at 4:43 PM, ella boliver <[email protected]
>>> <mailto:[email protected]>> wrote:
>>>
>>> Hello,
>>>
>>> I am hoping someone can tell me the python to make parameters
>>> move as a gang. For example- we have a custom baselight node
>>> but the red, green, and blue all move independently in the
>>> contrast. We want them to move together and then be able to
>>> break them apart for final tweaks later on. Ideas?
>>>
>>> Thanks so much!
>>>
>>> Ella
>>>
>>> -- digital compositor
>>> www.ellaboliver.net <http://www.ellaboliver.net>
>>> +1 917 657 7070 <tel:%2B1%20917%20657%207070>
>>>
>>>
>>> ______________________________**_________________
>>> Nuke-users mailing list
>>>
>>> [email protected].**co.uk<[email protected]>
>>>
>>> <mailto:Nuke-users@support.**thefoundry.co.uk<[email protected]>
>>> >,
>>>
>>> http://forums.thefoundry.co.**uk/<http://forums.thefoundry.co.uk/>
>>> http://support.thefoundry.co.**uk/cgi-bin/mailman/listinfo/**
>>> nuke-users<http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users>
>>>
>>>
>>>
>>>
>>> -- Julien Chandelle
>>> GSM : +32 (0) 494 277 542 <tel:%2B32%20%280%29%20494%**20277%20542>
>>> julienchandelle.be <http://www.julienchandelle.be**>
>>>
>>> || Nuke , AE & Fusion Compositor ||
>>>
>>>
>>> ______________________________**_________________
>>> Nuke-users mailing list
>>>
>>> [email protected].**co.uk<[email protected]>
>>>
>>> <mailto:Nuke-users@support.**thefoundry.co.uk<[email protected]>
>>> >,
>>>
>>> http://forums.thefoundry.co.**uk/ <http://forums.thefoundry.co.uk/>
>>> http://support.thefoundry.co.**uk/cgi-bin/mailman/listinfo/**
>>> nuke-users<http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users>
>>>
>>>
>>>
>>>
>>> --
>>> digital compositor
>>> www.ellaboliver.net <http://www.ellaboliver.net>
>>>
>>> +1 917 657 7070
>>>
>>>
>>> ------------------------------**------------------------------**
>>> ------------
>>>
>>> ______________________________**_________________
>>> Nuke-users mailing list
>>> [email protected].**co.uk<[email protected]>,
>>> http://forums.thefoundry.co.**uk/ <http://forums.thefoundry.co.uk/>
>>> http://support.thefoundry.co.**uk/cgi-bin/mailman/listinfo/**nuke-users<http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users>
>>>
>>
>> --
>> ben dickson
>> 2D TD | [email protected]
>> rising sun pictures | www.rsp.com.au
>>
>> ______________________________**_________________
>> Nuke-users mailing list
>> [email protected].**co.uk<[email protected]>,
>> http://forums.thefoundry.co.**uk/ <http://forums.thefoundry.co.uk/>
>> http://support.thefoundry.co.**uk/cgi-bin/mailman/listinfo/**nuke-users<http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users>
>>
>
>
> _______________________________________________
> Nuke-users mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
>
--
digital compositor
www.ellaboliver.net
+1 917 657 7070
_______________________________________________
Nuke-users mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users