Ejemplo n.º 1
0
def declone(node):
    if node.clones() == 0:
        return
    args = node.writeKnobs(nuke.WRITE_ALL | nuke.WRITE_USER_KNOB_DEFS
                           | nuke.WRITE_NON_DEFAULT_ONLY | nuke.TO_SCRIPT)
    newnode = nuke.createNode(node.Class(), knobs=args)
    nuke.inputs(newnode, nuke.inputs(node))
    num_inputs = nuke.inputs(node)
    for i in range(num_inputs):
        newnode.setInput(i, node.input(i))
    node.setInput(0, newnode)
    nuke.delete(node)
Ejemplo n.º 2
0
    def _readwrites(blankread, check, threshold, report):

        sn = [n for n in nuke.selectedNodes() if n.Class() == "Write"]

        if sn == [] and blankread == True:
            nuke.createNode("Read", "", True)

        elif sn == [] and blankread == False:
            return None

        elif sn != []:
            for n in sn:

                file = n.knob('file').value()
                proxy = n.knob('proxy').value()
                colorspace = n.knob('colorspace').value()
                premult = n.knob('premultiplied').value()
                rawdata = n.knob('raw').value()
                xpos = n.knob('xpos').value()
                ypos = n.knob('ypos').value()

                firstFrame = nuke.value(n.name() + ".first_frame")
                lastFrame = nuke.value(n.name() + ".last_frame")

                if file == '' and proxy == '':
                    if blankread == True:
                        read = nuke.createNode("Read", "", False)
                        read.knob('xpos').setValue(xpos)
                        read.knob('ypos').setValue(ypos + 80)
                        nuke.inputs(read, 0)
                        continue
                    elif blankread == False:
                        continue

                args = 'file {%s} proxy {%s} first %s last %s colorspace %s premultiplied %s raw %s' % (
                    file, proxy, firstFrame, lastFrame, colorspace, premult,
                    rawdata)

                read = nuke.createNode('Read', args)
                read.knob('xpos').setValue(xpos)
                read.knob('ypos').setValue(ypos + 80)
                nuke.inputs(read, 0)
                if check == True:
                    _checkbadframes(read, report)
                    continue

                else:
                    continue

                return None

        else:
            return None
Ejemplo n.º 3
0
 def _readwrites(blankread, check, threshold,  report):
     
     sn = [n for n in nuke.selectedNodes() if n.Class() == "Write"]
     
     if sn == [] and blankread == True:
         nuke.createNode("Read", "", True)
         
     elif sn == [] and blankread == False:
         return None
         
     elif sn != []:
         for n in sn:
             
             file = n.knob('file').value()
             proxy = n.knob('proxy').value()
             colorspace = n.knob('colorspace').value()
             premult = n.knob('premultiplied').value()
             rawdata = n.knob('raw').value()
             xpos = n.knob('xpos').value()
             ypos = n.knob('ypos').value()
             
             firstFrame = nuke.value(n.name()+".first_frame")
             lastFrame = nuke.value(n.name()+".last_frame")
             
             if file == '' and proxy == '':
                 if blankread == True:
                     read = nuke.createNode("Read", "", False)
                     read.knob('xpos').setValue(xpos)
                     read.knob('ypos').setValue(ypos + 80)
                     nuke.inputs(read, 0)
                     continue
                 elif blankread == False:
                     continue
             
             args = 'file {%s} proxy {%s} first %s last %s colorspace %s premultiplied %s raw %s' % (file, proxy, firstFrame, lastFrame, colorspace, premult, rawdata)
             
             read = nuke.createNode('Read', args)
             read.knob('xpos').setValue(xpos)
             read.knob('ypos').setValue(ypos + 80)
             nuke.inputs(read, 0)
             if check == True:
                 _checkbadframes(read, report)
                 continue
                 
             else:
                 continue
                 
             return None
             
     else:
         return None 
Ejemplo n.º 4
0
def create_read_node(ndata, comp_start):
    read = nuke.createNode('Read', 'file "' + ndata['filepath'] + '"')
    read.knob('colorspace').setValue(int(ndata['colorspace']))
    read.knob('raw').setValue(ndata['rawdata'])
    read.knob('first').setValue(int(ndata['firstframe']))
    read.knob('last').setValue(int(ndata['lastframe']))
    read.knob('origfirst').setValue(int(ndata['firstframe']))
    read.knob('origlast').setValue(int(ndata['lastframe']))
    if comp_start == int(ndata['firstframe']):
        read.knob('frame_mode').setValue("1")
        read.knob('frame').setValue(str(comp_start))
    else:
        read.knob('frame_mode').setValue("0")
    read.knob('xpos').setValue(ndata['new_xpos'])
    read.knob('ypos').setValue(ndata['new_ypos'])
    nuke.inputs(read, 0)
    return
Ejemplo n.º 5
0
def copySpecial():
    """copy selection, paste and reconnect (just one node)"""
    depNode = nuke.dependencies(nuke.selectedNode())
    dependNode = nuke.dependentNodes(nuke.INPUTS or nuke.HIDDEN_INPUTS or nuke.EXPRESSIONS, [nuke.selectedNode()])
    i = 0
    if dependNode[0].Class() in ['Scene', 'MergeGeo']:
        i = nuke.inputs(dependNode[0])+1

    nuke.nodeCopy(nukescripts.cut_paste_file())

    for node in nuke.allNodes():
        node['selected'].setValue(0)

    nuke.nodePaste(nukescripts.cut_paste_file())

    newNode = nuke.selectedNode()
    newNode.setInput(0, depNode[0])
    dependNode[0].setInput(i+1, newNode)