summaryrefslogtreecommitdiff
path: root/interface/interface.py
diff options
context:
space:
mode:
authorBen Connors <benconnors@outlook.com>2019-12-02 23:54:08 -0500
committerBen Connors <benconnors@outlook.com>2019-12-02 23:54:08 -0500
commit7b8505af6c74abd98462662acda0b2dbb46c328d (patch)
tree262b7848bb3bc2482bfb3d9907e5b18991c0fcb9 /interface/interface.py
parent59ef8f9225098efa1512e048cea03b3a22bc7c11 (diff)
Tech run fixes
Diffstat (limited to 'interface/interface.py')
-rw-r--r--interface/interface.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/interface/interface.py b/interface/interface.py
index 500728c..832663e 100644
--- a/interface/interface.py
+++ b/interface/interface.py
@@ -563,7 +563,7 @@ class Interface:
if fid not in self.w.functions:
return "No such function"
f = self.w.functions[fid]
- if f.type not in (SCENE, AUDIO, CHASER):
+ if f.type not in (SCENE, AUDIO, CHASER, JOIN):
return "Invalid function"
s.function = f
@@ -725,6 +725,17 @@ class Interface:
self.current_cv.chaser.advance_mode = mode
self.current_cv.set_chaser(self.current_cv.chaser, self.current_cv.selected)
+ def base_copy(self, num, name=None):
+ with self.w_lock:
+ ## TODO: Implement this in BLC
+ if num not in self.w.functions:
+ return "No such function"
+ f = self.w.functions[num]
+ if f.type != SCENE:
+ return "Can only close scenes"
+ f2 = Scene(self.w, name=name, values=f.values)
+ self.handle_enter(f2.id)
+
def __init__(self, path, output):
## Have to do most of the actual initialization in the main method, as curses isn't
## ready yet.
@@ -775,6 +786,9 @@ class Interface:
("list audio", lambda: self.list_functions(AUDIO)),
("list joins", lambda: self.list_functions(JOIN)),
+ ("copy $num", self.base_copy),
+ ("copy $num $quoted_string", self.base_copy),
+
("currentstatus", self.current_status),
("pager page", self.page),