forked from alexanderrichtertd/plex
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmenu.py
More file actions
67 lines (49 loc) · 1.71 KB
/
menu.py
File metadata and controls
67 lines (49 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#*********************************************************************
# content = menu Nuke
# version = 0.1.0
# date = 2019-12-01
#
# license = MIT <https://github.com/alexanderrichtertd>
# author = Alexander Richter <alexanderrichtertd.com>
#*********************************************************************
import os
import nuke
import webbrowser
from tank import Tank
#*********************************************************************
# VARIABLE
TITLE = os.path.splitext(os.path.basename(__file__))[0]
LOG = Tank().log.init(script=TITLE)
#*********************************************************************
# FUNCTIONS
def add_gizmo_menu(menu):
for paths in os.getenv('SOFTWARE_SUB_PATH').split(';'):
for file in os.listdir(paths):
if file.endswith('.gizmo'):
gizmo = file.replace('.gizmo', '')
menu.addCommand('Gizmos/' + gizmo, 'nuke.tcl("{}")'.format(gizmo))
def add_write_node():
import write_node
for node in nuke.allNodes('arWrite'):
write_node.create_node(node)
#*********************************************************************
# TOOLBAR
menu_data = Tank().data_software['MENU']
menuNode = nuke.menu('Nodes').addMenu(Tank().data_project['name'], icon = 'nuke.ico')
nuke.addOnScriptSave(add_write_node)
# ADD menu
Tank().software.add_menu(menuNode)
menuNode.addSeparator()
add_gizmo_menu(menuNode)
#*********************************************************************
# ACTIONS
def save():
import arSave
arSave.start()
def load():
import arLoad
arLoad.start()
#*********************************************************************
def arWrite():
reload(write_node)
nuke.createNode('arWrite')