Skip to content

Commit 8cd1b6b

Browse files
committed
Upload complete
Files to put into .nuke directory
1 parent 7bc6cab commit 8cd1b6b

File tree

3 files changed

+132
-0
lines changed

3 files changed

+132
-0
lines changed

Nuke/Python-Scripts/diNukeScripts.py

+96
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
'''..................................................................................................
2+
Author: Diego Inácio
3+
GitHub: github.com/diegoinacio
4+
Date: SEP/01/2016
5+
..................................................................................................'''
6+
import nuke
7+
8+
def reloadAllReads():
9+
'''
10+
Reload all read nodes
11+
'''
12+
nodes = [node for node in nuke.allNodes(recurseGroups = True) if node.Class() == 'Read']
13+
for node in nodes:
14+
node.knob('reload').execute()
15+
16+
def reloadAllBlinks():
17+
'''
18+
Reload all blinkScript nodes
19+
'''
20+
nodes = [node for node in nuke.allNodes(recurseGroups = True) if node.Class() == 'BlinkScript']
21+
for node in nodes:
22+
nuke.show(node)
23+
node.knob('reloadKernelSourceFile').execute()
24+
node.hideControlPanel()
25+
26+
def pathExplorer():
27+
'''
28+
Open filename's path on explorer from Read or Write selected nodes
29+
'''
30+
import os, subprocess
31+
32+
sel = nuke.selectedNodes()
33+
for node in sel:
34+
if node.Class() == 'Read' or node.Class() == 'Write':
35+
File = nuke.filename(node)
36+
path = os.path.dirname(File)
37+
subprocess.Popen('explorer "%s"' % path.replace('/', '\\'))
38+
39+
def writeFolderCreator():
40+
'''
41+
Checks if selected write node's folder exists and create them if does not
42+
'''
43+
import os
44+
45+
nodes = nuke.selectedNodes('Write')
46+
if nodes == []:
47+
nuke.message('select some write node')
48+
return None
49+
50+
for node in nodes:
51+
file = nuke.filename(node)
52+
path = os.path.dirname(file)
53+
if not os.path.isdir(path):
54+
if nuke.ask(node.knob('name').getValue() + '\n\n' + path +\
55+
'\n\nthis path does not exist. would like to create it?'):
56+
os.makedirs(path)
57+
58+
def setMultipleKnobs():
59+
'''
60+
Set multiple knobs into multiple selected nodes
61+
'''
62+
import ast
63+
64+
nodes = nuke.selectedNodes()
65+
if nodes == []:
66+
nuke.message('select some node')
67+
return None
68+
69+
classes = set()
70+
for node in nodes:
71+
classes.add(node.Class())
72+
enumClasses = ' '.join(['all'] + list(classes))
73+
74+
p = nuke.Panel('set multiple knobs')
75+
p.addEnumerationPulldown('node class', enumClasses)
76+
p.addSingleLineInput('knob name', '')
77+
p.addSingleLineInput('value', '')
78+
c = p.show()
79+
80+
if c:
81+
nodeClass = p.value('node class')
82+
knobName = [e.lstrip() for e in p.value('knob name').split(',')]
83+
try:
84+
value = list(ast.literal_eval(p.value('value')))
85+
except:
86+
value = [eval(p.value('value'))]
87+
88+
if len(knobName) != len(value):
89+
nuke.message( "the knobName's field and the value's \
90+
field must have the same number of arguments")
91+
return None
92+
93+
for node in nodes:
94+
if node.Class() == nodeClass or nodeClass == 'all':
95+
for index in range(len(knobName)):
96+
node.knob(knobName[index]).setValue(value[index])

Nuke/Python-Scripts/init.py

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
nuke.pluginAddPath('./python')
2+
nuke.pluginAddPath('./icons')

Nuke/Python-Scripts/menu.py

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
'''..................................................................................................
2+
Author: Diego Inácio
3+
GitHub: github.com/diegoinacio
4+
..................................................................................................'''
5+
from diNukeScripts import *
6+
7+
#---------------------------------------------------------------------------------------------------------------
8+
# Formats
9+
#---------------------------------------------------------------------------------------------------------------
10+
11+
nuke.addFormat("32 32 0 0 32 32 1.0 square_32")
12+
nuke.addFormat("64 64 0 0 64 64 1.0 square_64")
13+
nuke.addFormat("128 128 0 0 128 128 1.0 square_128")
14+
nuke.addFormat("4096 4096 0 0 4096 4096 1.0 square_4k")
15+
16+
#---------------------------------------------------------------------------------------------------------------
17+
# Defaults
18+
#---------------------------------------------------------------------------------------------------------------
19+
20+
nuke.knobDefault('Write.channels', 'rgba')
21+
nuke.knobDefault('Write.file', '[file dirname [value root.name]]/_RENDER/[lindex [split [file tail [value root.name]] "."] 0]_[knob name]/[lindex [split [file tail [value root.name]] "."] 0]_[knob name].%04d.tiff')
22+
nuke.knobDefault('Write.file_type', 'tiff')
23+
24+
nuke.knobDefault('BlinkScript.kernelSource', 'kernel diBlinkScript: ImageComputationKernel<ePixelWise>{\n\tImage<eRead, eAccessPoint, eEdgeClamped> in;\n\tImage<eWrite> out;\n\n\tparam:\n\t\tfloat mult;\n\n\tlocal:\n\t\tfloat temp;\n\n\tvoid define() {\n\t\tdefineParam(mult, "multiply", 1.0f);\n\t}\n\n\tvoid init() {\n\t\ttemp = 0;\n\t}\n\n\tvoid process() {\n\t\tout() = in() + temp;\n\t}\n};')
25+
26+
#---------------------------------------------------------------------------------------------------------------
27+
# Commands
28+
#---------------------------------------------------------------------------------------------------------------
29+
30+
nuke.menu('Nuke').addCommand('*** diScripts ***/01 - Reload all Read nodes', 'reloadAllReads()')
31+
nuke.menu('Nuke').addCommand('*** diScripts ***/02 - Reload all BlinkScripts', 'reloadAllBlinks()')
32+
nuke.menu('Nuke').addCommand('*** diScripts ***/03 - Open path on explorer', 'pathExplorer()')
33+
nuke.menu('Nuke').addCommand('*** diScripts ***/04 - Create folder from Write nodes', 'writeFolderCreator()')
34+
nuke.menu('Nuke').addCommand('*** diScripts ***/05 - Set multiple knobs', 'setMultipleKnobs()')

0 commit comments

Comments
 (0)