annotate flax/TimelineDMX.py @ 15:c76b62eccdec

put **kw back in, they now go to the scale and can override the defaults. put **kw back in, they now go to the scale and can override the defaults. for our purposes, we probably want to edit the defaults so we don't have them in every call.
author dmcc
date Sun, 07 Jul 2002 06:18:40 +0000
parents 45b12307c695
children 5670f66845ce
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
1 import sys, time, socket
45b12307c695 Initial revision
drewp
parents:
diff changeset
2 sys.path.append("../light8")
45b12307c695 Initial revision
drewp
parents:
diff changeset
3 import Tix as tk
45b12307c695 Initial revision
drewp
parents:
diff changeset
4
45b12307c695 Initial revision
drewp
parents:
diff changeset
5 import Patch, Timeline, dmxclient, xmlrpclib
45b12307c695 Initial revision
drewp
parents:
diff changeset
6 import TheShow
45b12307c695 Initial revision
drewp
parents:
diff changeset
7
45b12307c695 Initial revision
drewp
parents:
diff changeset
8 Patch.reload_data()
45b12307c695 Initial revision
drewp
parents:
diff changeset
9
45b12307c695 Initial revision
drewp
parents:
diff changeset
10 class ShowRunner(tk.Frame):
45b12307c695 Initial revision
drewp
parents:
diff changeset
11 def __init__(self, master, show):
45b12307c695 Initial revision
drewp
parents:
diff changeset
12 tk.Frame.__init__(self, master)
45b12307c695 Initial revision
drewp
parents:
diff changeset
13 self.master = master
45b12307c695 Initial revision
drewp
parents:
diff changeset
14
45b12307c695 Initial revision
drewp
parents:
diff changeset
15 self.show = show
45b12307c695 Initial revision
drewp
parents:
diff changeset
16 self.find_player()
45b12307c695 Initial revision
drewp
parents:
diff changeset
17 self.build_timeline_list()
45b12307c695 Initial revision
drewp
parents:
diff changeset
18 def build_timeline_list(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
19 self.tl_list = tk.Frame(self)
45b12307c695 Initial revision
drewp
parents:
diff changeset
20 for tl in self.show.get_timelines():
45b12307c695 Initial revision
drewp
parents:
diff changeset
21 b=tk.Button(self.tl_list,text=tl,
45b12307c695 Initial revision
drewp
parents:
diff changeset
22 anchor='w',pady=1)
45b12307c695 Initial revision
drewp
parents:
diff changeset
23 b.config(command=lambda tl=tl: self.set_timeline(tl))
45b12307c695 Initial revision
drewp
parents:
diff changeset
24 b.pack(side='top',fill='x')
45b12307c695 Initial revision
drewp
parents:
diff changeset
25 self.tl_list.pack()
45b12307c695 Initial revision
drewp
parents:
diff changeset
26 def set_timeline(self, tlname):
45b12307c695 Initial revision
drewp
parents:
diff changeset
27 print "TimelineDMX: set timeline to", tlname
45b12307c695 Initial revision
drewp
parents:
diff changeset
28 self.show.set_timeline(tlname)
45b12307c695 Initial revision
drewp
parents:
diff changeset
29 def find_player(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
30 self.player = xmlrpclib.Server("http://localhost:8040")
45b12307c695 Initial revision
drewp
parents:
diff changeset
31 def send_levels(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
32 levels = self.show.calc_active_submaster().get_dmx_list()
45b12307c695 Initial revision
drewp
parents:
diff changeset
33
45b12307c695 Initial revision
drewp
parents:
diff changeset
34 dmxclient.outputlevels(levels)
45b12307c695 Initial revision
drewp
parents:
diff changeset
35 def sync_times(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
36 try:
45b12307c695 Initial revision
drewp
parents:
diff changeset
37 playtime = self.player.gettime()
45b12307c695 Initial revision
drewp
parents:
diff changeset
38 self.show.set_time(playtime)
45b12307c695 Initial revision
drewp
parents:
diff changeset
39 except socket.error, e:
45b12307c695 Initial revision
drewp
parents:
diff changeset
40 print "Server error %s, waiting"%e
45b12307c695 Initial revision
drewp
parents:
diff changeset
41 time.sleep(2)
45b12307c695 Initial revision
drewp
parents:
diff changeset
42 def mainloop(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
43 try:
45b12307c695 Initial revision
drewp
parents:
diff changeset
44 while 1:
45b12307c695 Initial revision
drewp
parents:
diff changeset
45 self.sync_times()
45b12307c695 Initial revision
drewp
parents:
diff changeset
46 self.send_levels()
45b12307c695 Initial revision
drewp
parents:
diff changeset
47 time.sleep(0.01)
45b12307c695 Initial revision
drewp
parents:
diff changeset
48 self.master.update()
45b12307c695 Initial revision
drewp
parents:
diff changeset
49 except KeyboardInterrupt:
45b12307c695 Initial revision
drewp
parents:
diff changeset
50 sys.exit(0)
45b12307c695 Initial revision
drewp
parents:
diff changeset
51
45b12307c695 Initial revision
drewp
parents:
diff changeset
52 if __name__ == "__main__":
45b12307c695 Initial revision
drewp
parents:
diff changeset
53 root = tk.Tk()
45b12307c695 Initial revision
drewp
parents:
diff changeset
54 s = ShowRunner(root, TheShow.show)
45b12307c695 Initial revision
drewp
parents:
diff changeset
55 s.show.set_timeline('strobe test')
45b12307c695 Initial revision
drewp
parents:
diff changeset
56 s.pack()
45b12307c695 Initial revision
drewp
parents:
diff changeset
57 s.mainloop()