comparison light8/Lightboard.py @ 102:e04f7b552bcd

- scroll wheel works everywhere - scroll wheel works everywhere - interface is white on black - subs that start scenes are white - more status information, startup process kinda cleaned up
author dmcc
date Sun, 14 Jul 2002 08:01:24 +0000
parents a995fd1a8f03
children ddd3c8f04640
comparison
equal deleted inserted replaced
101:a995fd1a8f03 102:e04f7b552bcd
36 36
37 self.windowpos = 0 37 self.windowpos = 0
38 self.get_data() 38 self.get_data()
39 self.buildinterface() 39 self.buildinterface()
40 self.load() 40 self.load()
41 print "Light 8.8: Enterring backgroundloop"
41 self.backgroundloop() 42 self.backgroundloop()
42 self.updatestagelevels() 43 self.updatestagelevels()
43 44
44 def buildinterface(self): 45 def buildinterface(self):
46 print "Light 8.8: Constructing interface..."
45 for w in self.master.winfo_children(): 47 for w in self.master.winfo_children():
46 w.destroy() 48 w.destroy()
47 49
50 print "\tstage"
48 stage_tl = toplevelat('stage') 51 stage_tl = toplevelat('stage')
49 s = stage.Stage(stage_tl) 52 s = stage.Stage(stage_tl)
50 stage.createlights(s) 53 stage.createlights(s)
51 s.setsubediting(self.subediting) 54 s.setsubediting(self.subediting)
52 s.pack() 55 s.pack()
54 57
55 sub_tl = toplevelat('sub') 58 sub_tl = toplevelat('sub')
56 scene_tl = toplevelat('scenes') 59 scene_tl = toplevelat('scenes')
57 effect_tl = toplevelat('effect') 60 effect_tl = toplevelat('effect')
58 61
62 print "\tslider patching"
59 mapping_tl = toplevelat('mapping') 63 mapping_tl = toplevelat('mapping')
60 self.slidermapper = ExtSliderMapper.ExtSliderMapper(mapping_tl, 64 self.slidermapper = ExtSliderMapper.ExtSliderMapper(mapping_tl,
61 self.scalelevels, 65 self.scalelevels,
62 ExternalSliders()) 66 ExternalSliders())
63 self.slidermapper.pack() 67 self.slidermapper.pack()
64 68
69 print "\tsubmaster control"
65 self.subpanels = Subpanels(sub_tl, effect_tl, scene_tl, self, self.scalelevels, 70 self.subpanels = Subpanels(sub_tl, effect_tl, scene_tl, self, self.scalelevels,
66 Subs, self.xfader, self.changelevel, 71 Subs, self.xfader, self.changelevel,
67 self.subediting, Subs.longestsubname()) 72 self.subediting, Subs.longestsubname())
68 73
74 print "\tlevel display"
69 leveldisplay_tl = toplevelat('leveldisplay') 75 leveldisplay_tl = toplevelat('leveldisplay')
70 leveldisplay_tl.bind('<Escape>', sys.exit) 76 leveldisplay_tl.bind('<Escape>', sys.exit)
71 77
72 self.leveldisplay = Leveldisplay(leveldisplay_tl, self.channel_levels) 78 self.leveldisplay = Leveldisplay(leveldisplay_tl, self.channel_levels)
73 for i in range(0,len(self.channel_levels)): 79 for i in range(0,len(self.channel_levels)):
74 self.channel_levels[i].config(text=self.oldlevels[i]) 80 self.channel_levels[i].config(text=self.oldlevels[i])
75 colorlabel(self.channel_levels[i]) 81 colorlabel(self.channel_levels[i])
76 82
83 print "\tconsole"
77 Console(self) 84 Console(self)
78 85
79 # root frame 86 # root frame
87 print "\tcontrol panel"
88 self.master.configure(bg='black')
80 controlpanel = Controlpanel(self.master, self.xfader, self.refresh, 89 controlpanel = Controlpanel(self.master, self.xfader, self.refresh,
81 self.quit, self.toggle_jostle) 90 self.quit, self.toggle_jostle)
82 91
92 print "\tcrossfader"
83 xf=Frame(self.master) 93 xf=Frame(self.master)
84 xf.pack(side='right') 94 xf.pack(side='right')
85 95
86 self.master.bind('<q>', self.quit) 96 self.master.bind('<q>', self.quit)
87 self.master.bind('<r>', self.refresh) 97 self.master.bind('<r>', self.refresh)
89 leveldisplay_tl.bind('<r>', self.refresh) 99 leveldisplay_tl.bind('<r>', self.refresh)
90 100
91 self.xfader.setupwidget(xf) 101 self.xfader.setupwidget(xf)
92 controlpanel.pack() 102 controlpanel.pack()
93 103
94 cuefader_tl = toplevelat('cuefader') 104 print "\tcue fader (skipped)"
95 cuefader = Fader(cuefader_tl, Subs.cues, self.scalelevels) 105 # cuefader_tl = toplevelat('cuefader')
96 cuefader.pack() 106 # cuefader = Fader(cuefader_tl, Subs.cues, self.scalelevels)
107 # cuefader.pack()
108 print "Light 8.8: Everything's under control"
109
97 110
98 def get_data(self,*args): 111 def get_data(self,*args):
99 Subs.reload_data(self.DUMMY) 112 Subs.reload_data(self.DUMMY)
100 Patch.reload_data(self.DUMMY) 113 Patch.reload_data(self.DUMMY)
101 print "Patch:", Patch.patch 114 print "Light 8.8:", len(Patch.patch), "dimmers patched"
102 print "Subs:", ', '.join(Subs.subs.keys()) 115 print "Light 8.8:", len(Subs.subs), "submasters loaded"
103 116
104 def refresh(self, *args): 117 def refresh(self, *args):
105 'rebuild interface, reload data' 118 'rebuild interface, reload data'
106 self.get_data() 119 self.get_data()
107 self.subediting.refresh() 120 self.subediting.refresh()
174 if lev < oldlev: 187 if lev < oldlev:
175 numlab['bg'] = 'blue' 188 numlab['bg'] = 'blue'
176 else: 189 else:
177 numlab['bg'] = 'red' 190 numlab['bg'] = 'red'
178 else: 191 else:
179 numlab['bg'] = 'lightPink' 192 numlab['bg'] = 'grey40'
180 193
181 self.oldlevels[:] = levels[:] # replace the elements in oldlevels - don't make a new list (Subediting is watching it) 194 self.oldlevels[:] = levels[:] # replace the elements in oldlevels - don't make a new list (Subediting is watching it)
182 195
183 if self.jostle_mode: 196 if self.jostle_mode:
184 delta = random.randrange(-1, 2, 1) # (-1, 0, or 1) 197 delta = random.randrange(-1, 2, 1) # (-1, 0, or 1)
196 def load(self): 209 def load(self):
197 try: 210 try:
198 filename = '/tmp/light9.prefs' 211 filename = '/tmp/light9.prefs'
199 if self.DUMMY: 212 if self.DUMMY:
200 filename += '.dummy' 213 filename += '.dummy'
201 print "Loading from", filename 214 print "Light 8.8: Loading from", filename
202 file = open(filename, 'r') 215 file = open(filename, 'r')
203 p = cPickle.load(file) 216 p = cPickle.load(file)
204 for s, v in p.scalelevels.items(): 217 for s, v in p.scalelevels.items():
205 try: 218 try:
206 self.scalelevels[s].set(v) 219 self.scalelevels[s].set(v)