示例#1
0
    def list_double_clicked(self):
        tools_list = read_json()
        current_index = self.tool_list.currentRow()
        tool_command = tools_list[current_index].get("command")

        if tools_list[current_index].get("type") == "python":
            execfile(tool_command.encode("gbk"))
        else:
            nuke.loadToolset(tool_command)
示例#2
0
def toolsetLoader(fullFileName):
    if FILE_FILTER != None:
        data = fileFilter(fullFileName, FILE_FILTER)
        #TODO: find better way to paste filtred script
        QApplication.clipboard().setText(data)

        nuke.nodePaste("%clipboard%")  # paste into nuke DAG
    else:
        nuke.loadToolset(fullFileName)
    return True
def showIPPanel(panelfloat=True):
	'''Show viewer input control panel'''
	try:
		node_ip = nuke.activeViewer().node()['input_process_node'].value()
		nuke.toNode(node_ip).showControlPanel(forceFloat=panelfloat)
		print "VIEWER_INPUT Shown"
	except:
		if nuke.ask('No Viewer_Input found, load one?'):
			import os
			nuke.loadToolset(os.path.join(os.getEnv('HOME'), '.nuke/ToolSets/Utility/ku_IP.nk'))
		else:
			nuke.message("Oh well then")
示例#4
0
def RotoOutputNode():
    #Creates a NoOp
    Placeholder = nuke.createNode("NoOp")
    #assigns a varriable to the currently selected node
    OpNo = nuke.selectedNode()
    #Creates a roto node
    Roto = nuke.createNode("Roto")
    #Creates the RotoOutput tool
    Output = nuke.loadToolset("Ahuge_Tools/Roto_Output.nk")
    #Sets the first input of the RotoOutput to our NoOp
    Output.setInput (0, Placeholder)
    #Sets the second input to the roto node
    Output.setInput(1, Roto)
	#Move the Output Node
    Output.setXpos (Output.xpos() -140)
    Output.setYpos (Output.ypos() +84)
    #Move the Roto Node
    Roto.setXpos (Output.xpos() -220)
    Roto.setYpos (Output.ypos() +6)
    #Creates a Input node for the roto to connect to
    Dummy = nuke.createNode("Input")
    Roto.setInput(0, Dummy)
    #Deletes the Input and the NoOp
    nuke.delete(Dummy)
    nuke.delete(Placeholder)
def toolsetLoader(fullFileName):
    if FILE_FILTER != None:
        data = fileFilter(fullFileName, FILE_FILTER)
        # SAVING TEMPORAL TOOLSET | instead of 
        #QApplication.clipboard().setText(data)
        #nuke.nodePaste("%clipboard%") is craching with big files BUG
        randomPostfix = randomStringDigits(10)
        randomName = posixpath.join( SHARED_TOOLSET_PATH , "temp_toolset_%s.nk" % randomPostfix)
        saveTempToolSet = open(randomName,"w+")
        saveTempToolSet.write(data)
        saveTempToolSet.close()
        nuke.loadToolset(randomName)
        os.remove(randomName)
    else:
        nuke.loadToolset(fullFileName)
    return True
示例#6
0
def toolsetLoader(fullFileName):
    if FILE_FILTER != None:
        data = fileFilter(fullFileName, FILE_FILTER)
        # SAVING TEMPORAL TOOLSET | instead of 
        #QApplication.clipboard().setText(data)
        #nuke.nodePaste("%clipboard%") is craching with big files BUG
        randomPostfix = randomStringDigits(10)
        randomName = posixpath.join( SHARED_TOOLSET_PATH , "temp_toolset_%s.nk" % randomPostfix)
        saveTempToolSet = open(randomName,"w+")
        saveTempToolSet.write(data)
        saveTempToolSet.close()
        nuke.loadToolset(randomName)
        os.remove(randomName)
    else:
        nuke.loadToolset(fullFileName)
    return True
示例#7
0
def verCheck(node=nuke.thisNode()):
    nodeName = nuke.thisNode().name()
    message = "Would you like to update the %s to the latest version?" % (
        nodeName)
    try:
        curVer = node['renderNodeVersion'].value()
        # Checks to see what the current version is.
        if curVer >= renNodeVer:
            return "pass"
        # Load Latest RenderNode Version
        else:
            if nuke.ask(message):
                # Number of inputs of the RenderNode
                inputNum = 2
                renNode = node
                # Saves original inputs
                prevInputs = []
                for x in range(inputNum):
                    prevInputs.append(renNode.input(x))
                # Saves the values of the knobs
                knobs = [
                    "v_num", "verControl", "curVer", "cropCheck", "shotNotes",
                    "lutFile", "lutControl", "format", "viewMenu"
                ]
                knobValues = []
                for x in knobs:
                    knobValues.append(renNode[x].value())
                xPos = renNode["xpos"].value()
                yPos = renNode["ypos"].value()
                # Create updated RenderNode- if you make the node into a gizmo, change nuke.loadToolset into nuke.createNode
                nuke.root().begin()
                newNode = nuke.loadToolset(rendernodeFile.replace("\\", "/"))
                newNode.setXYpos(int(xPos), int(yPos))
                # Applies values to the new knobs
                for x in knobs:
                    newNode[x].setValue(knobValues[knobs.index(x)])
                # Sets the original inputs
                for x in range(inputNum):
                    newNode.setInput(x, prevInputs[x])
                nuke.root().end()
                nuke.delete(renNode)
                return "break"
    except:
        pass
示例#8
0
def verCheck(node=nuke.thisNode()):
    nodeName = nuke.thisNode().name()
    message = "Would you like to update the %s to the latest version?" % (nodeName)
    try:
        curVer = node['renderNodeVersion'].value()
        # Checks to see what the current version is.
        if curVer >= renNodeVer:
            return "pass"
        # Load Latest RenderNode Version
        else:
            if nuke.ask(message):
                # Number of inputs of the RenderNode
                inputNum = 2
                renNode = node
                # Saves original inputs
                prevInputs = []
                for x in range(inputNum):
                    prevInputs.append(renNode.input(x))
                # Saves the values of the knobs
                knobs = ["v_num", "verControl", "curVer", "cropCheck","shotNotes", "lutFile", "lutControl", "format","viewMenu"]
                knobValues = []
                for x in knobs:
                    knobValues.append(renNode[x].value())
                xPos = renNode["xpos"].value()
                yPos = renNode["ypos"].value()
                # Create updated RenderNode- if you make the node into a gizmo, change nuke.loadToolset into nuke.createNode
                nuke.root().begin()
                newNode = nuke.loadToolset(rendernodeFile.replace("\\","/"))
                newNode.setXYpos(int(xPos), int(yPos))
                # Applies values to the new knobs
                for x in knobs:
                    newNode[x].setValue(knobValues[knobs.index(x)])
                # Sets the original inputs    
                for x in range(inputNum):
                    newNode.setInput(x, prevInputs[x])
                nuke.root().end()
                nuke.delete(renNode)
                return "break"
    except:
        pass
示例#9
0
def Packer():
	nuke.loadToolset("Ahuge_Tools/Packer.nk")
示例#10
0
def ErodeBlur():
	nuke.loadToolset("Ahuge_Tools/ErodeBlur.nk")
示例#11
0
def GrainBlur():
	nuke.loadToolset("Ahuge_Tools/GrainBlur.nk")
示例#12
0
def P3D():
	nuke.loadToolset("Ahuge_Tools/PointsTo3D.nk"	)
示例#13
0
def Paintout():
	nuke.loadToolset("Ahuge_Tools/Paintout.nk")
示例#14
0
def Saturation():
	nuke.loadToolset("Ahuge_Tools/Saturation.nk")
示例#15
0
def SmudgeTool():
	nuke.loadToolset("Ahuge_Tools/Smudge.nk")