diff flax/CueFaders.py @ 176:c8d24bd2a99e

CueFaders: autoload/shifting bug fixed CueFaders: autoload/shifting bug fixed mute button added cuenum attribute added cursor is visible in CueEditron Subcomposer: not a dummy! use DMXDUMMY=1 if you want to do dummy cues/dolly: changes from 7.8.2003 rehearsal
author dmcc
date Thu, 10 Jul 2003 02:57:12 +0000
parents ba83a312d8b1
children e9c06be9b26b
line wrap: on
line diff
--- a/flax/CueFaders.py	Thu Jul 10 02:52:04 2003 +0000
+++ b/flax/CueFaders.py	Thu Jul 10 02:57:12 2003 +0000
@@ -12,6 +12,12 @@
     'next' : ('red',    'white'),
 }
 
+# TODO pause fades, set new time to be remaining about of time in the fade so fade
+#        can continue properly
+#      make fades work properly: the set_next / prev bug
+#      find cue by page ("not necessawy!")
+#      CueFader controls KeyboardController?  unlikely
+
 class LabelledScale(Tk.Frame):
     """Scale with two labels: a name and current value"""
     def __init__(self, master, label, **opts):
@@ -178,10 +184,20 @@
 
         self.auto_load_times_checkbutton = Tk.Checkbutton(topframe, 
             variable=self.auto_load_times, text='Autoload Times', 
-            command=self.toggle_autoshift, bg='black', fg='white', 
+            bg='black', fg='white', 
             highlightbackground='black')
         self.auto_load_times_checkbutton.pack(fill='both', side='left')
 
+        self.mute = Tk.IntVar()
+        self.mute.set(0)
+
+        self.mutebutton = Tk.Checkbutton(topframe, 
+            variable=self.mute, text='Mute', 
+            bg='black', fg='white', 
+            highlightbackground='black',
+            command=self.send_dmx_levels)
+        self.mutebutton.pack(fill='both', side='left')
+
         self.set_next_button = Tk.Button(topframe, text='Set Next',
             command=lambda: cuelist.set_selection_as_next(),
             fg='white', bg='red')
@@ -255,9 +271,12 @@
             current_levels_as_sub = cur_sub.crossfade(other_sub, scale_val)
             self.current_dmx_levels = current_levels_as_sub.get_dmx_list()
             self.send_dmx_levels()
-    def send_dmx_levels(self):
+    def send_dmx_levels(self, *args):
         # print "send_dmx_levels", self.current_dmx_levels
-        dmxclient.outputlevels(self.current_dmx_levels)
+        if self.mute.get():
+            dmxclient.outputlevels([0] * 68)
+        else:
+            dmxclient.outputlevels(self.current_dmx_levels)
         self.last_levels_sent = time.time()
     def send_dmx_levels_loop(self):
         diff = time.time() - self.last_levels_sent
@@ -453,7 +472,7 @@
             index = int(index)
             self.editor.set_cue_to_edit(self.cues[index])
             
-        self.columns = ('name', 'time', 'page', 'desc')
+        self.columns = ('name', 'time', 'page', 'cuenum', 'desc')
         self.scrolled_hlist = Tk.ScrolledHList(self,
             options='hlist.columns %d hlist.header 1' % len(self.columns))
         self.hlist = self.scrolled_hlist.hlist
@@ -591,14 +610,15 @@
                 pass
     def setup_editing_forms(self):
         self.variables = {}
-        for row, field in enumerate(('name', 'time', 'page', 'desc', 
+        for row, field in enumerate(('name', 'time', 'page', 'cuenum', 'desc', 
             'sub_levels')):
             lab = Tk.Label(self, text=field, fg='white', bg='black')
             lab.grid(row=row, column=0, sticky='nsew')
 
             entryvar = Tk.StringVar()
             entry = Tk.Entry(self, fg='white', bg='black', 
-                textvariable=entryvar)
+                textvariable=entryvar, insertbackground='white',
+                highlightbackground='red') # TODO this red/black is backwards
             entry.grid(row=row, column=1, sticky='nsew')
 
             self.variables[field] = entryvar
@@ -615,7 +635,7 @@
         self.columnconfigure(1, weight=1)
     def fill_in_cue_info(self):
         self.enable_callbacks = 0
-        for row, field in enumerate(('name', 'time', 'page', 'desc', 
+        for row, field in enumerate(('name', 'time', 'page', 'cuenum', 'desc', 
             'sub_levels')):
             text = ''
             if self.cue: