Skip to content

Instantly share code, notes, and snippets.

@draconiansolo
Last active December 16, 2015 06:29
Show Gist options
  • Save draconiansolo/5391518 to your computer and use it in GitHub Desktop.
Save draconiansolo/5391518 to your computer and use it in GitHub Desktop.
My menu.py with reference in spanglish.
#nuke.menu()#esto es lo que deja modificar los menues de nuke.
#help(nuke.menu)#para ver la ayuda de los comandos
#anyadir un hotkey al toolbar...
toolbar = nuke.menu('Nodes') #hago una referencia a el toolbar de nodos
toolbar.addCommand('Transform/Reformat','nuke.createNode("Reformat")','ctrl+r')#hago
#todo lo que uno quiera que sea persistente entre sesiones debe estar en /Users/fdevant/.nuke/menu.py (esto es el $home i guess)
# myToolbar=nuke.toolbar("myToolbar") #con esto creo una nueva toolbar :D
# myMenu=myToolbar.addMenu("Nico","defaultMe.png")#con esto creo un nuevo menu y con ese menu, puedo conectar nuevos comandos, viejos comandos, gizmos y asi.
# myMenu.addCommand('keying/UglyKeyer',lambda: nuke.createNode("uglyKeyer"))
# nuke.menu('Nodes').addMenu("Nico","defaultMe.png").addCommand('keying/uglyKeyer', lambda: nuke.createNode( 'uglyKeyer' ) )
#esto es el mismo codigo de arriba pero con asignaciones para entender mejor que objeto estoy retornando y como se esta creando...
toolbar=nuke.menu( 'Nodes' ) #traigo el menu de nuke de los nodos
myMenu=toolbar.addMenu("Nico","defaultMe.png") #pongo mi submenu con icono
myMenu.addCommand('keying/uglyKeyer', lambda:nuke.createNode('uglyKeyer'))
#finalmente anyado el comando con la minifuncion de crear nodo.
toolbar.addCommand('Merge/Merges/Divide','nuke.createNode("Merge")["operation"].setValue("divide")')
nuke.knobDefault("uglyKeyer.tile_color","0xbb") #asi puedo hacer que siempre que salga, tenga el colorcito que yo le ponga :D
nuke.knobDefault("Roto.output",'alpha')#settear default values para los nodos de nuke, de manera que cuando los anyada, salgan con un valor u otro.
nuke.knobDefault("Shuffle.label","[value in]")#valido para settings, colores, numeros, etiquetas, indices... y asi.
nuke.knobDefault("Dot.label","[value [input [in] 0].name]")
nuke.knobDefault("ShuffleCopy.label","[value in] to [value out]")
nuke.knobDefault("Remove.operation","1")
nuke.knobDefault("Add.channels","rgb")
nuke.knobDefault("Multiply.channels","rgb")
nuke.knobDefault("Roto.cliptype","0")
nuke.knobDefault("RotoPaint.cliptype","0")
code="""
nuke.thisNode()['first_frame'].setValue(nuke.frame())
nuke.thisNode().knob("onCreate").setValue("")
"""
nuke.knobDefault("FrameHold.onCreate",code)
d1wssq="854 480 NTSC_19:9_square_pixels" #un tlc string para inicializar formatos
nuke.addFormat(d1wssq) #dicho formato
nuke.addFormat("720 534 NTSC_4:3_square_pixels") #otro formatillo
nuke.knobDefault("Root.format",d1wssq) #poniendo el formato del string como default de nuke
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment