def getFrameCount(self): infile = str(self.inputWidget.getFilePath()) if infile: inputFolder = os.path.dirname(str(infile)) imageExt = str(infile).split('.')[-1] shotName, firstFrame, lastFrame, date, firstFrameStr = utils.getShotInfo(str(inputFolder), str(imageExt)) self.movieWidget.setFrameCount(firstFrame, lastFrame)
def setSlugLabel(self, filename): ''' Sets the slug label based on input file name. :param filename: Name of the input file ''' inputFolder = os.path.dirname(str(filename)) imageExt = str(filename).split('.')[-1] if inputFolder: shotName, firstFrame,lastFrame, date, firstFrameStr = utils.getShotInfo(str(inputFolder), str(imageExt)) project = ftrackUtils.getProjectFromShot(os.environ['FTRACK_SHOTID']) label = '%s %s %s Frame#' % (project, date, shotName) else: label = 'Customize Slug Label' self.slugTextBox.setText(label)
def createMovie(self): frameRate = self.frameDrop.currentText() self.movieWidget.setFrameRate(frameRate) self.createButton.setDisabled(True) inputFile = self.inputWidget.getFilePath() outputFile = str(self.outputWidget.getFilePath()) slugChoice = self.slugBox.checkState() if 'Select' in inputFile or 'Select' in outputFile or inputFile == '' or outputFile == '': nuke.message("Please select input and output folder") return inputFolder = os.path.dirname(str(inputFile)) imageExt = str(inputFile).split('.')[-1] if not outputFile.endswith('.mov'): outputFile = '%s.mov' % outputFile shotName, firstFrame, lastFrame, date, firstFrameStr = utils.getShotInfo(inputFolder, imageExt) self.movieWidget.setFrameCount(firstFrame, lastFrame) if slugChoice == 2: tmpDir = '%s\\tmp' % os.environ['TEMP'] if not os.path.exists(tmpDir): os.mkdir(tmpDir) task = nuke.ProgressTask("Slug Creation") task.setMessage("Creating slug files") slugResult = utils.generateSlugImages(tmpDir, self.slugTextBox.text(), firstFrame, lastFrame, date, firstFrameStr, task) if slugResult != 0: nuke.message("Error while creating slug images!") self.createButton.setEnabled(True) return slugMovResult = utils.generateSlugMovie(tmpDir, firstFrame, firstFrameStr, frameRate) if slugMovResult != 0: nuke.message("Error while creating slug movie!") self.createButton.setEnabled(True) return finalMovCmd = utils.generateFileMovie(inputFolder, tmpDir, outputFile, firstFrame, shotName, imageExt, lastFrame, firstFrameStr, frameRate) else: finalMovCmd = utils.generateFileMovieNoSlug(inputFolder, outputFile, firstFrame, shotName, imageExt, lastFrame, firstFrameStr, frameRate) threading.Thread( None, self.movieProgress, args=[finalMovCmd]).start()