Hi

FWIWthis will set a selection of dots' labels to the first dot it finds with a 
label, inc font size and colour.

So if you label the top dot of a branch, this will label the selected dot(s) to 
it.
See example script and select all dots in the backdrop before running it

 
Howard
 
def getParentNode(node):
try:
parentNode = node.input(0)
if parentNode.Class() == 'Dot':
if not parentNode['label'].getValue():
return getParentNode(parentNode)
else:
return (parentNode['label'].getValue(), parentNode['note_font_size'].getValue() 
, parentNode['note_font_color'].getValue()  ) 
else:
return node['label'].getValue()
except AttributeError:
nuke.message('No input node')
def setDotLabel():
if not nuke.selectedNodes():
nuke.message('Please select a node')
return
else:
nodes= nuke.selectedNodes()
for i in nodes:
TopDotLabel=getParentNode(i)
i['label'].setValue(TopDotLabel[0])
i['note_font_size'].setValue(TopDotLabel[1])
i['note_font_color'].setValue(int(topDotLabel[2]))

setDotLabel()

----------

set cut_paste_input [stack 0]
version 6.3 v8
BackdropNode {
 inputs 0
 name BackdropNode1
 tile_color 0x5f5f5fff
 note_font_size 42
 selected true
 xpos -2243
 ypos 522
 bdwidth 570
 bdheight 345
}
push $cut_paste_input
Primatte3 {
 data { 3
    0 0 0
    65552
    0 5
    30234 30234 30234 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    -1 -1 -1 -1
    -1 -1 999999 999999
    -1 -1 -1 -1
    0.05 1.732 1.732
    0.05 1.732 1.732
    0.05 0.866 0.866
    0.05 0.866 0.866
    0.05 0.866 0.866
    0.05 0.866 0.866
    0.05 0.866 0.866
    0.05 0.866 0.866
  }

 crop {0 0 {width i} {height i}}
 name Primatte2
 selected true
 xpos -1981
 ypos 77
}
Dot {
 name Dot8
 label "Main Matte\n"
 note_font_color 0xff00ff
 selected true
 xpos -1950
 ypos 165
}
Dot {
 name Dot9
 selected true
 xpos -1950
 ypos 243
}
Dot {
 name Dot10
 selected true
 xpos -1950
 ypos 321
}
Dot {
 name Dot11
 selected true
 xpos -1950
 ypos 399
}
set N33ea6f80 [stack 0]
Blur {
 name Blur3
 selected true
 xpos -2081
 ypos 381
}
Dot {
 name Dot12
 label "Matte Blur\n"
 note_font_size 15
 note_font_color 0xf20000ff
 selected true
 xpos -2231
 ypos 399
}
Dot {
 name Dot13
 selected true
 xpos -2231
 ypos 588
}
Dot {
 name Dot16
 selected true
 xpos -2231
 ypos 666
}
Dot {
 name Dot17
 selected true
 xpos -2231
 ypos 744
}
Dot {
 name Dot18
 selected true
 xpos -2231
 ypos 822
}
push $N33ea6f80
Dot {
 name Dot14
 selected true
 xpos -1950
 ypos 487
}
set N33e2de60 [stack 0]
Dot {
 name Dot19
 selected true
 xpos -1950
 ypos 585
}
Dot {
 name Dot22
 selected true
 xpos -1950
 ypos 663
}
Dot {
 name Dot23
 selected true
 xpos -1950
 ypos 741
}
push $N33e2de60
Transform {
 center {960 540}
 name Transform1
 selected true
 xpos -1858
 ypos 482
}
Dot {
 name Dot15
 label "Matte Moved\n"
 note_font_size 30
 selected true
 xpos -1699
 ypos 487
}
Dot {
 name Dot20
 selected true
 xpos -1699
 ypos 587
}
Dot {
 name Dot21
 selected true
 xpos -1699
 ypos 665
}
Dot {
 name Dot24
 selected true
 xpos -1699
 ypos 743
}




>________________________________
> From: Howard Jones <[email protected]>
>To: Nuke user discussion <[email protected]> 
>Sent: Thursday, 4 October 2012, 8:39
>Subject: Re: [Nuke-users] Nuke Script Layout, was new comp stack node survey
> 
>
>Might pinch that, however the label I use may be main mattes, rather than the 
>last node name. 
>
>
>And of course they can have multi channels in them. 
>
>
>I just found when you have pipes running several 'pages' worth, it saves all 
>that scrolling up and down. But requires a bit of copy and paste. Obviously 
>there are tools to modify multiple nodes at once on nukepedia. 
>
>
>Maybe the python could be modified to take one master dot at the top and copy 
>its label? Hmmmm. 
>
>
>Howard
>
>On 4 Oct 2012, at 03:22, Frank Rueter <[email protected]> wrote:
>
>
>bugger tcl.
>>
>>
>>def getParentNode(node):
>>parentNode = node.input(0)
>>if parentNode.Class() == 'Dot':
>>return getParentNode(parentNode)
>>else:
>>return parentNode.name()
>>
>>nuke.knobDefault('Dot.label', "[python
      getParentNode(nuke.toNode('Dot1'))]")
>>
>>
>>
>>
>>
>>
>>
>>On 10/4/12 1:46 PM, chris wrote:
>>
>>On 10/3/12 at 12:57 AM,  (Howard Jones) wrote: 
>>>
>>>my favorite - label the dots. And have one just before inputs so you can 
>>>easily see where each input came from. 
>>>>
>>>i like that one a lot! just added this to my menu.py 
>>>
>>>nuke.knobDefault('Dot.label', ' [value input0.name]') 
>>>
>>>might be worth thinking about how to get the name of the next
      non-dot node when traveling up the tree (in case one uses several
      dots in a row to direct the flow), but no idea how to do that
      through TCL. 
>>>
>>>++ chris 
>>>
>>>_______________________________________________ 
>>>Nuke-users mailing list 
>>>[email protected], http://forums.thefoundry.co.uk/ 
>>>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
>_______________________________________________
>Nuke-users mailing list
>[email protected], http://forums.thefoundry.co.uk/
>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

Reply via email to