diff options
Diffstat (limited to 'interface/interface.py')
-rw-r--r-- | interface/interface.py | 16 |
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), |