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

Reply via email to