-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMainMenuCommon.xml
More file actions
74 lines (64 loc) · 2.29 KB
/
MainMenuCommon.xml
File metadata and controls
74 lines (64 loc) · 2.29 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
68
69
70
71
72
73
74
<!-- Created to add MK Utils menu -->
<?xml version="1.0" encoding="UTF-8"?>
<mainMenu>
<menuBar>
<subMenu id="mk_utils_menu">
<label>MK Utils</label>
<insertAfter />
<scriptItem id="mke_project_setup">
<label>Project Setup</label>
<scriptCode><![CDATA[import projectSetup
projectSetup.projectSetup()]]></scriptCode>
</scriptItem>
<scriptItem id="mke_save_up">
<label>Save Up</label>
<scriptCode><![CDATA[import saveUp
saveUp.saveUp()]]></scriptCode>
</scriptItem>
<scriptToggleItem id="autosave_toggle">
<label>Auto Version Save</label>
<variableName>AUTOSAVE_TOGGLE</variableName>
<scriptCode><![CDATA[
import hou
import saveUp
hou.hscript("""
if( $AUTOSAVE_TOGGLE ) then
set -g AUTOSAVE_TOGGLE = 0;
else
set -g AUTOSAVE_TOGGLE = 1;
endif
""")
hou.hscript('varchange AUTOSAVE_TOGGLE')
#current state
(out, err) = hou.hscript('echo $AUTOSAVE_TOGGLE')
enabled = int(out.strip()) == 1
#timer callback
def auto_version_save():
(out, err) = hou.hscript('echo $AUTOSAVE_TOGGLE')
if int(out.strip()) == 1:
try:
saveUp.saveUp()
print("Auto version save completed")
except Exception as e:
print(f"Auto version save failed: {e}")
return 1200.0 #20mn
if enabled:
if not hasattr(hou.session, 'auto_version_timer'):
hou.session.auto_version_timer = None
#del old timer if exists
if hou.session.auto_version_timer is not None:
hou.ui.removeEventLoopCallback(hou.session.auto_version_timer)
#add new timer
hou.session.auto_version_timer = hou.ui.addEventLoopCallback(auto_version_save)
hou.ui.displayMessage("Auto version save enabled (every 20 min)", severity=hou.severityType.Message)
else:
#stop timer
if hasattr(hou.session, 'auto_version_timer') and hou.session.auto_version_timer is not None:
hou.ui.removeEventLoopCallback(hou.session.auto_version_timer)
hou.session.auto_version_timer = None
hou.ui.displayMessage("Auto version save disabled", severity=hou.severityType.Message)
]]></scriptCode>
</scriptToggleItem>
</subMenu>
</menuBar>
</mainMenu>