comparison light8/Lightboard.py @ 72:609cb9ae53b1

results of 7.10 rehearsal, rollback broken IO changes
author dmcc
date Thu, 11 Jul 2002 15:26:28 +0000
parents 177e9ba0b4a7
children 2dfae9ed1cda
comparison
equal deleted inserted replaced
71:177e9ba0b4a7 72:609cb9ae53b1
2 2
3 from Tix import * 3 from Tix import *
4 from time import sleep 4 from time import sleep
5 from signal import signal, SIGINT 5 from signal import signal, SIGINT
6 import sys, cPickle 6 import sys, cPickle
7 # import shelve
7 8
8 import io 9 import io
9 from uihelpers import * 10 from uihelpers import *
10 from panels import * 11 from panels import *
11 from Xfader import * 12 from Xfader import *
32 self.scalelevels = {} 33 self.scalelevels = {}
33 self.xfader = Xfader(self.scalelevels) # doesn't draw any UI yet-- look for self.xfader.setupwidget() 34 self.xfader = Xfader(self.scalelevels) # doesn't draw any UI yet-- look for self.xfader.setupwidget()
34 self.oldlevels = [None] * 68 # never replace this; just clear it 35 self.oldlevels = [None] * 68 # never replace this; just clear it
35 self.subediting = Subediting(currentoutputlevels=self.oldlevels) 36 self.subediting = Subediting(currentoutputlevels=self.oldlevels)
36 37
38 # self.shelf = shelve.open('/tmp/light9.newprefs')
39 # self.windowpos = self.shelf.get('window', {})
37 self.windowpos = 0 40 self.windowpos = 0
38 self.get_data() 41 self.get_data()
39 self.buildinterface() 42 self.buildinterface()
40 self.load() 43 self.load()
41 self.backgroundloop() 44 self.backgroundloop()
145 newlevels = s.get_levels(level=self.scalelevels[name].get()) 148 newlevels = s.get_levels(level=self.scalelevels[name].get())
146 for (ch, fadelev) in newlevels.items(): 149 for (ch, fadelev) in newlevels.items():
147 levels[ch-1] = max(levels[ch-1], fadelev) 150 levels[ch-1] = max(levels[ch-1], fadelev)
148 151
149 levels = [int(l) for l in levels] 152 levels = [int(l) for l in levels]
150 lenlevels = len(levels) 153
151 changed = [] # list of changed levels 154 for lev,lab,oldlev,numlab in zip(levels, self.channel_levels,
152
153 for lev,lab,oldlev,numlab,idx in zip(levels, self.channel_levels,
154 self.oldlevels, 155 self.oldlevels,
155 self.leveldisplay.number_labels, 156 self.leveldisplay.number_labels):
156 xrange(1, lenlevels + 2)):
157 if lev != oldlev: 157 if lev != oldlev:
158 changed.extend((idx, lev))
159 lab.config(text="%d" % lev) # update labels in lev display 158 lab.config(text="%d" % lev) # update labels in lev display
160 colorlabel(lab) # recolor labels 159 colorlabel(lab) # recolor labels
161 if lev < oldlev: 160 if lev < oldlev:
162 numlab['bg'] = 'blue' 161 numlab['bg'] = 'blue'
163 else: 162 else:
164 numlab['bg'] = 'red' 163 numlab['bg'] = 'red'
165 else: 164 else:
166 numlab['bg'] = 'lightPink' 165 numlab['bg'] = 'lightPink'
167 166
168 # replace the elements in oldlevels - don't make a new list 167 self.oldlevels[:] = levels[:] # replace the elements in oldlevels - don't make a new list (Subediting is watching it)
169 # (Subediting is watching it)
170 self.oldlevels[:] = levels[:]
171 168
172 # self.parportdmx.sendlevels(levels) 169 self.parportdmx.sendlevels(levels)
173 self.parportdmx.sendupdates(changed)
174 170
175 def updatestagelevels(self): 171 def updatestagelevels(self):
176 self.master.after(100, self.updatestagelevels) 172 self.master.after(100, self.updatestagelevels)
177 for lev, idx in zip(self.oldlevels, xrange(0, 68 + 1)): 173 for lev, idx in zip(self.oldlevels, xrange(0, 68 + 1)):
178 self.stage.updatelightlevel(Patch.get_channel_name(idx + 1), lev) 174 self.stage.updatelightlevel(Patch.get_channel_name(idx + 1), lev)