Hi, I have a plugin that writes luts, but only by viewing through the node itself. There is no execute button a la GenerateLUT or Write. I use python to troll my Nuke flow-graph when setting up multiple lut outputs.
The problem is when I have many luts only the last one is writing out in a for loop. I know that each one should be working since I have a print statement to show that it should be. Also, if I throw up a nuke.message("writing lut") then it works and all the luts are written. I just don't want to have to hit the 'OK' button. That pause is allowing enough time to get the node to successfully write. Having said that a regular python pause or a Nuke python progress bar doesn't work in the same way. My question is if the nuke.message is actually allowing the viewer to update. Any suggestions of other ways to force viewer update or similar? I've tried having the viewer forward a frame and back, but that isn't doing the same thing as the nuke.message. Maybe there's a way to automatically close the nuke.message pop-up? Here's a snippet of the code: def writeIt(n): n.setSelected( True ) nukescripts.connect_selected_to_viewer(0) n.setSelected( False ) def setLutNodes(): for n in nuke.allNodes(): if n.name() == "SHOT_LUT_CDL_3DL": n['lookFile'].setValue(file_output_lut_cdl_3dl) print "writing " + file_output_lut_cdl_3dl writeIt(n) elif n.name() == "SHOT_LUT_3DL": n['lookFile'].setValue(file_output_lut_3dl) print "writing " + file_output_lut_3dl writeIt(n) elif n.name() == "SHOT_LUT_3DL_W_OFFSET": n['lookFile'].setValue(file_output_lut_3dl_w_offset) print "writing " + file_output_lut_3dl_w_offset writeIt(n) elif n.name() == "SHOT_LUT_CUBE": n['lookFile'].setValue(file_output_lut_cube) print "writing " + file_output_lut_cube writeIt(n) elif n.name() == "SHOT_LUT_TXT": n['lookFile'].setValue(file_output_lut_txt) print "writing " + file_output_lut_txt writeIt(n) elif n.name() == "SHOT_LUT_LUT": n['lookFile'].setValue(file_output_lut_lut) print "writing " + file_output_lut_lut writeIt(n) elif n.name() == "SHOT_LUT_ACV": n['lookFile'].setValue(file_output_lut_acv) print "writing " + file_output_lut_acv writeIt(n) elif n.name() == "SHOT_LUT_ICC": n['lookFile'].setValue(file_output_lut_icc) print "writing " + file_output_lut_icc writeIt(n)
_______________________________________________ Nuke-python mailing list Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python