Mercurial > code > home > repos > light9
comparison flax/TimelineDMX.py @ 135:5670f66845ce
- results of work from 6.13 rehearsal
author | dmcc |
---|---|
date | Sat, 14 Jun 2003 15:00:47 +0000 |
parents | 45b12307c695 |
children | 83e2c4ceb79a |
comparison
equal
deleted
inserted
replaced
134:f2f73a2171e6 | 135:5670f66845ce |
---|---|
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 | |
4 | 3 |
5 import Patch, Timeline, dmxclient, xmlrpclib | 4 import Patch, Timeline, dmxclient, xmlrpclib |
6 import TheShow | 5 import TheShow |
7 | 6 |
8 Patch.reload_data() | 7 Patch.reload_data() |
9 | 8 |
10 class ShowRunner(tk.Frame): | 9 class ShowRunner: |
11 def __init__(self, master, show): | 10 def __init__(self, show): |
12 tk.Frame.__init__(self, master) | |
13 self.master = master | |
14 | |
15 self.show = show | 11 self.show = show |
16 self.find_player() | 12 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) | |
29 def find_player(self): | 13 def find_player(self): |
30 self.player = xmlrpclib.Server("http://localhost:8040") | 14 self.player = xmlrpclib.Server("http://localhost:8040") |
31 def send_levels(self): | 15 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 """ | |
32 levels = self.show.calc_active_submaster().get_dmx_list() | 25 levels = self.show.calc_active_submaster().get_dmx_list() |
33 | 26 |
34 dmxclient.outputlevels(levels) | 27 dmxclient.outputlevels(levels) |
35 def sync_times(self): | 28 def sync_times(self): |
36 try: | 29 try: |
43 try: | 36 try: |
44 while 1: | 37 while 1: |
45 self.sync_times() | 38 self.sync_times() |
46 self.send_levels() | 39 self.send_levels() |
47 time.sleep(0.01) | 40 time.sleep(0.01) |
48 self.master.update() | |
49 except KeyboardInterrupt: | 41 except KeyboardInterrupt: |
50 sys.exit(0) | 42 sys.exit(0) |
51 | 43 |
52 if __name__ == "__main__": | 44 if __name__ == "__main__": |
53 root = tk.Tk() | 45 s = ShowRunner(TheShow.show) |
54 s = ShowRunner(root, TheShow.show) | |
55 s.show.set_timeline('strobe test') | 46 s.show.set_timeline('strobe test') |
56 s.pack() | |
57 s.mainloop() | 47 s.mainloop() |