comparison bin/keyboardcomposer @ 253:a92b6d1ac072

SubClient created, keyboardcomposer and gyrocontroller use it now Plus some minor cleanups in keyboardcomposer and gyrocontroller
author David McClosky <dmcc@bigasterisk.com>
date Wed, 15 Jun 2005 04:28:16 +0000
parents 89cd37c4314b
children 7f9d0f04bb2d
comparison
equal deleted inserted replaced
252:40e7d08e0123 253:a92b6d1ac072
4 import sys, time 4 import sys, time
5 5
6 from twisted.internet import reactor,tksupport 6 from twisted.internet import reactor,tksupport
7 from twisted.web import xmlrpc, server 7 from twisted.web import xmlrpc, server
8 from Tix import * 8 from Tix import *
9 import math, atexit, pickle 9 import pickle
10 10
11 import run_local 11 import run_local
12 from light9.Fadable import Fadable 12 from light9.Fadable import Fadable
13 from light9.Submaster import Submasters, sub_maxes 13 from light9.Submaster import Submasters, sub_maxes
14 from light9 import dmxclient, showconfig 14 from light9 import dmxclient, showconfig
51 levellabel = Label(self, textvariable=self.slider_var, font="Arial 11", 51 levellabel = Label(self, textvariable=self.slider_var, font="Arial 11",
52 bg='black', fg='white') 52 bg='black', fg='white')
53 levellabel.pack(side=TOP) 53 levellabel.pack(side=TOP)
54 self.scale.pack(side=BOTTOM, expand=1, fill=BOTH) 54 self.scale.pack(side=BOTTOM, expand=1, fill=BOTH)
55 55
56 class KeyboardComposer(Frame): 56 class KeyboardComposer(Frame, SubClient):
57 def __init__(self, root, submasters, current_sub_levels=None, dmxdummy=0): 57 def __init__(self, root, submasters, current_sub_levels=None):
58 Frame.__init__(self, root, bg='black') 58 Frame.__init__(self, root, bg='black')
59 SubClient.__init__(self)
59 self.submasters = submasters 60 self.submasters = submasters
60 self.dmxdummy = dmxdummy
61 61
62 self.current_sub_levels = {} 62 self.current_sub_levels = {}
63 if current_sub_levels: 63 if current_sub_levels:
64 self.current_sub_levels = current_sub_levels 64 self.current_sub_levels = current_sub_levels
65 else: 65 else:
224 """called when we get a fade -- send events as quickly as possible""" 224 """called when we get a fade -- send events as quickly as possible"""
225 if time.time() <= self.stop_frequent_update_time: 225 if time.time() <= self.stop_frequent_update_time:
226 self.send_levels() 226 self.send_levels()
227 self.after(10, self.send_frequent_updates) 227 self.after(10, self.send_frequent_updates)
228 228
229 def get_dmx_list(self):
230 maxes = self.get_levels_as_sub()
231 return maxes.get_dmx_list()
232 def send_levels(self):
233 if not self.dmxdummy:
234 levels = self.get_dmx_list()
235 dmxclient.outputlevels(levels)
236 # print "sending levels", levels
237 def send_levels_loop(self):
238 self.send_levels()
239 self.after(1000, self.send_levels_loop)
240 def refresh(self): 229 def refresh(self):
241 self.save() 230 self.save()
242 self.submasters = Submasters() 231 self.submasters = Submasters()
243 self.current_sub_levels = \ 232 self.current_sub_levels = \
244 pickle.load(file('.keyboardcomposer.savedlevels')) 233 pickle.load(file('.keyboardcomposer.savedlevels'))
265 if __name__ == "__main__": 254 if __name__ == "__main__":
266 s = Submasters() 255 s = Submasters()
267 256
268 root = Tk() 257 root = Tk()
269 tl = toplevelat("Keyboard Composer", existingtoplevel=root) 258 tl = toplevelat("Keyboard Composer", existingtoplevel=root)
270 kc = KeyboardComposer(tl, s, dmxdummy=0) 259 kc = KeyboardComposer(tl, s)
271 kc.pack(fill=BOTH, expand=1) 260 kc.pack(fill=BOTH, expand=1)
272 261
273 ls = LevelServer(kc.name_to_subtk) 262 ls = LevelServer(kc.name_to_subtk)
274 reactor.listenTCP(8050, server.Site(ls)) 263 reactor.listenTCP(8050, server.Site(ls))
275 264