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