Feedback

What's your question?

By: Asked from India

nuke dump when making mov thru python script

Hi,

  Say I have two folder to test for. The following code creates a mov for first folder and dumps after creating second mov.

What is needed to make this code running completely.

Brgds,

kNish

#advanced option -
#colorspace - rec709
#resolutions - 1080p/23.976 DNxHD 175 10-bit
#units - frames

import os
import dircache
import nuke

startFrame = 0
endFrame = 0
filen = ""
in_Extn = "exr"
out_Extn = "mov"
fName = "D:/XXXXXXXX/testexr2mov/"

def create_read(filen, startFrame, endFrame):
   read = nuke.nodes.Read()
   read.knob('file').setValue(filen)
   print '\nin create read',startFrame,'\n'
   read.knob('first').setValue(int(startFrame))
   print '\nafter create file\n'
   read.knob('last').setValue(int(endFrame))
   print "Created node %s\n" % read.name()
   return read.name(), startFrame, endFrame

def create_write(output):
   write = nuke.nodes.Write()
   write.knob('file').setValue(output)
   write.knob('colorspace').setValue('rec709')
   write.knob('file_type').setValue('mov')
   write.knob('codec').setValue(2)
   write.knob('units').setValue("frames")
   print "Created node %s\n" % write.name()
   return write.name()

for h in os.listdir(fName):
   list = dircache.listdir((fName+h).replace("\\","/"))
   print "\nfname + h : ",(fName+h).replace("\\","/"),"\n"
   for i in range(0,len(list)):
      extn = list[i].split(".")[2]
      if (i == 0):
         startFrame = list[i].split(".")[1]
      if (i == len(list)-1):
         endFrame = list[i].split(".")[1]
         print 'startFrame',startFrame,'\n'
         print 'endFrame ',endFrame ,'\n'
   param1 = h + '.%04d.' + extn
   filen = fName + h + "/" + param1
   print '\nfilen : ',filen ,'\n'
   read = create_read(filen, startFrame, endFrame)
   output = fName + "/" + h + "/" + h + "." + out_Extn
   write = create_write(output)
   nuke.toNode(write).setInput(0, nuke.toNode(read[0]))
   nuke.execute(write,int(read[1]), int(read[2]))
   nuke.scriptClear()

Add comment viewed 537 times Latest activity 10 months ago

or Cancel

1 answer

  • 0

kooki

Hi,

From what I've experienced, nuke.scriptClear() crashes Nuke quite often...

What you could do is create your Read and Write nodes only once, and simply update the knobs values ('file', 'first' and 'last') for each directory. This way, no need to call nuke.scriptClear()...

Hope this help ;)

or Cancel