Hi Nathan, Thanks for the reply. We unfortunately don't write the plugin in-house. We are moving away from using it by implementing OCIO, but it currently still provides us the ability to format different luts for other software packages.
It's pretty rare, but only time that it comes up for us to process hundreds of luts (via this Nuke/py process) is when working on a show with CDLs per shot from the DP. We've been providing CDLs as 3DL lut files back to production, so it's handy to script the process to format and output/name them all this way. thx Dan On Thu, Nov 1, 2012 at 10:48 PM, Nathan Rusch <nathan_ru...@hotmail.com>wrote: > GUI updates and redrawing cannot occur while a block of Python code is > executing. I don’t know the details of Nuke’s core threading design, but it > seems that things like nuke.message may cause the lock on the thread > responsible for hashing, validation, etc. (which may be separate from the > GUI thread) to be released temporarily, allowing the tree to be evaluated. > > A couple initial questions would be: > > 1) Where in the plugin code is the LUT written? (_validate, engine, etc.) > 2) Is there a reason you can’t/don’t want to make it an executable op? > > -Nathan > > > *From:* Dan Rosen <danrosenro...@yahoo.com> > *Sent:* Thursday, November 01, 2012 3:23 PM > *To:* Foundry <nuke-python@support.thefoundry.co.uk> > *Subject:* [Nuke-python] control viewer > > 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 > > > _______________________________________________ > 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 > >
_______________________________________________ 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