Hi everyone!
Here i attach a portion of a PYscript button that im writing, and i was 
wondering how can i improve it? how would you make it more efficient?

Thanks! :)


import random
import math

def glow():
    b = nuke.nodes.Transform(name="transform_scale_" + str(i))
    b['scale'].setExpression("((global_scale) - 1) + (scale_" + str(i) + ")")
    b['center'].setValue(1024)
    b.setInput( 0, nuke.toNode('Read1') )
    b = nuke.nodes.Transform()
    b['translate'].setExpression("((parent.Flare1.position - 
parent.Flare3.position)*(distance_" + str(i) + ")) + 
(parent.Flare3.position)-1024")
    b['rotate'].setExpression("rotation_offset")
    b['center'].setValue(1024)
    b['motionblur'].setExpression("Transform2.motionblur")
    b['shutter'].setExpression("Transform2.shutter")
    b.setName("transform_node_" + str(i))
    b.setInput( 0, nuke.toNode('transform_scale_' + str(i)) )
    b = nuke.nodes.Grade(name="Grade_element_" + str(i))
    b['white'].setExpression("brightness_" + str(i))
    b.setInput( 0, nuke.toNode('transform_node_' + str(i)) )
    c = nuke.nodes.Crop()
    c.setInput( 0, nuke.toNode('Grade_element_' + str(i)) )
    nuke.toNode('Merge2').setInput( i, c )
    c.setName("crop_node_" + str(i))
    stab = nuke.thisNode()
    glowicon = nuke.Text_Knob ("icon_" + str(i),"<img><big><big><big> - GLOW -")
    stab.addKnob(glowicon)
    brightness = nuke.Double_Knob ("brightness_" + str(i),"brightness")
    stab.addKnob(brightness)
    stab.knob("brightness_" + str(i)).setValue(1)
    scale = nuke.Double_Knob ("scale_" + str(i),"Scale")
    stab.addKnob(scale)
    stab.knob("scale_" + str(i)).setValue(0.5)
    delete = nuke.PyScript_Knob ("delete_" + str(i),"delete","""
i = """ + str(i) + """
stab = nuke.thisNode()
stab.removeKnob(stab["icon_" + str(i)])
stab.removeKnob(stab["brightness_" + str(i)])
stab.removeKnob(stab["scale_" + str(i)])
stab.removeKnob(stab["delete_" + str(i)])
stab.removeKnob(stab["distance_" + str(i)])
deleteNode = nuke.toNode("transform_node_" + str(i))
deleteNode.setInput(0, None)
nuke.delete(deleteNode)
deleteNodecrop = nuke.toNode("crop_node_" + str(i))
nuke.delete(deleteNodecrop)
deleteNodenoop = nuke.toNode("noop_node_" + str(i))
nuke.delete(deleteNodenoop)
deleteNodesize = nuke.toNode("transform_scale_" + str(i))
nuke.delete(deleteNodesize)
deleteNodegrade = nuke.toNode("Grade_element_" + str(i))
nuke.delete(deleteNodegrade)
""")
    stab.addKnob(delete)
    distance = nuke.Double_Knob ("distance_" + str(i),"Distance")
    distance.setRange( -2, 2 )
    distance.setValue(1)
    stab.addKnob(distance)

i = int(math.floor(random.random()*999))
glow()



_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

Reply via email to