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()