Mercurial > code > home > repos > light9
comparison flax/TimelineDMX.py @ 139:83e2c4ceb79a
KeyboardComposer: let's get it working again
KeyboardComposer: let's get it working again
TheShow: get_timelines method
Timeline: it's late, okay?
TimelineDMX: timeline selector, basically copied from that music player
thing
author | dmcc |
---|---|
date | Sat, 14 Jun 2003 16:19:40 +0000 |
parents | 5670f66845ce |
children | 3905d3c92aaa |
comparison
equal
deleted
inserted
replaced
138:304152488ed7 | 139:83e2c4ceb79a |
---|---|
1 import sys, time, socket | 1 import sys, time, socket |
2 sys.path.append("../light8") | 2 sys.path.append("../light8") |
3 import Tix as tk | |
3 | 4 |
4 import Patch, Timeline, dmxclient, xmlrpclib | 5 import Patch, Timeline, dmxclient, xmlrpclib |
5 import TheShow | 6 import TheShow |
6 | 7 |
7 Patch.reload_data() | 8 Patch.reload_data() |
8 | 9 |
9 class ShowRunner: | 10 class ShowRunner(tk.Frame): |
10 def __init__(self, show): | 11 def __init__(self, master, show): |
12 tk.Frame.__init__(self, master) | |
13 self.master = master | |
14 | |
11 self.show = show | 15 self.show = show |
12 self.find_player() | 16 self.find_player() |
17 self.build_timeline_list() | |
18 def build_timeline_list(self): | |
19 self.tl_list = tk.Frame(self) | |
20 for tl in self.show.get_timelines(): | |
21 b=tk.Button(self.tl_list,text=tl, | |
22 anchor='w',pady=1) | |
23 b.config(command=lambda tl=tl: self.set_timeline(tl)) | |
24 b.pack(side='top',fill='x') | |
25 self.tl_list.pack() | |
26 def set_timeline(self, tlname): | |
27 print "TimelineDMX: set timeline to", tlname | |
28 self.show.set_timeline(tlname) | |
13 def find_player(self): | 29 def find_player(self): |
14 self.player = xmlrpclib.Server("http://localhost:8040") | 30 self.player = xmlrpclib.Server("http://localhost:8040") |
15 def send_levels(self): | 31 def send_levels(self): |
16 """ | |
17 sub = self.show.get_levels() # gets levels of subs | |
18 leveldict = sub.get_levels() # gets levels of sub contents | |
19 print 'resolved levels', leveldict | |
20 | |
21 levels = [0] * 68 | |
22 for k, v in leveldict.items(): | |
23 levels[Patch.get_dmx_channel(k)] = v | |
24 """ | |
25 levels = self.show.calc_active_submaster().get_dmx_list() | 32 levels = self.show.calc_active_submaster().get_dmx_list() |
26 | 33 |
27 dmxclient.outputlevels(levels) | 34 dmxclient.outputlevels(levels) |
28 def sync_times(self): | 35 def sync_times(self): |
29 try: | 36 try: |
36 try: | 43 try: |
37 while 1: | 44 while 1: |
38 self.sync_times() | 45 self.sync_times() |
39 self.send_levels() | 46 self.send_levels() |
40 time.sleep(0.01) | 47 time.sleep(0.01) |
48 self.master.update() | |
41 except KeyboardInterrupt: | 49 except KeyboardInterrupt: |
42 sys.exit(0) | 50 sys.exit(0) |
43 | 51 |
44 if __name__ == "__main__": | 52 if __name__ == "__main__": |
45 s = ShowRunner(TheShow.show) | 53 root = tk.Tk() |
54 s = ShowRunner(root, TheShow.show) | |
46 s.show.set_timeline('strobe test') | 55 s.show.set_timeline('strobe test') |
56 s.pack() | |
47 s.mainloop() | 57 s.mainloop() |