annotate 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
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
45b12307c695 Initial revision
drewp
parents:
diff changeset
4 import Patch, Timeline, dmxclient, xmlrpclib
45b12307c695 Initial revision
drewp
parents:
diff changeset
5 import TheShow
45b12307c695 Initial revision
drewp
parents:
diff changeset
6
45b12307c695 Initial revision
drewp
parents:
diff changeset
7 Patch.reload_data()
45b12307c695 Initial revision
drewp
parents:
diff changeset
8
135
5670f66845ce - results of work from 6.13 rehearsal
dmcc
parents: 0
diff changeset
9 class ShowRunner:
5670f66845ce - results of work from 6.13 rehearsal
dmcc
parents: 0
diff changeset
10 def __init__(self, show):
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
11 self.show = show
45b12307c695 Initial revision
drewp
parents:
diff changeset
12 self.find_player()
45b12307c695 Initial revision
drewp
parents:
diff changeset
13 def find_player(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
14 self.player = xmlrpclib.Server("http://localhost:8040")
45b12307c695 Initial revision
drewp
parents:
diff changeset
15 def send_levels(self):
135
5670f66845ce - results of work from 6.13 rehearsal
dmcc
parents: 0
diff changeset
16 """
5670f66845ce - results of work from 6.13 rehearsal
dmcc
parents: 0
diff changeset
17 sub = self.show.get_levels() # gets levels of subs
5670f66845ce - results of work from 6.13 rehearsal
dmcc
parents: 0
diff changeset
18 leveldict = sub.get_levels() # gets levels of sub contents
5670f66845ce - results of work from 6.13 rehearsal
dmcc
parents: 0
diff changeset
19 print 'resolved levels', leveldict
5670f66845ce - results of work from 6.13 rehearsal
dmcc
parents: 0
diff changeset
20
5670f66845ce - results of work from 6.13 rehearsal
dmcc
parents: 0
diff changeset
21 levels = [0] * 68
5670f66845ce - results of work from 6.13 rehearsal
dmcc
parents: 0
diff changeset
22 for k, v in leveldict.items():
5670f66845ce - results of work from 6.13 rehearsal
dmcc
parents: 0
diff changeset
23 levels[Patch.get_dmx_channel(k)] = v
5670f66845ce - results of work from 6.13 rehearsal
dmcc
parents: 0
diff changeset
24 """
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
25 levels = self.show.calc_active_submaster().get_dmx_list()
45b12307c695 Initial revision
drewp
parents:
diff changeset
26
45b12307c695 Initial revision
drewp
parents:
diff changeset
27 dmxclient.outputlevels(levels)
45b12307c695 Initial revision
drewp
parents:
diff changeset
28 def sync_times(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
29 try:
45b12307c695 Initial revision
drewp
parents:
diff changeset
30 playtime = self.player.gettime()
45b12307c695 Initial revision
drewp
parents:
diff changeset
31 self.show.set_time(playtime)
45b12307c695 Initial revision
drewp
parents:
diff changeset
32 except socket.error, e:
45b12307c695 Initial revision
drewp
parents:
diff changeset
33 print "Server error %s, waiting"%e
45b12307c695 Initial revision
drewp
parents:
diff changeset
34 time.sleep(2)
45b12307c695 Initial revision
drewp
parents:
diff changeset
35 def mainloop(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
36 try:
45b12307c695 Initial revision
drewp
parents:
diff changeset
37 while 1:
45b12307c695 Initial revision
drewp
parents:
diff changeset
38 self.sync_times()
45b12307c695 Initial revision
drewp
parents:
diff changeset
39 self.send_levels()
45b12307c695 Initial revision
drewp
parents:
diff changeset
40 time.sleep(0.01)
45b12307c695 Initial revision
drewp
parents:
diff changeset
41 except KeyboardInterrupt:
45b12307c695 Initial revision
drewp
parents:
diff changeset
42 sys.exit(0)
45b12307c695 Initial revision
drewp
parents:
diff changeset
43
45b12307c695 Initial revision
drewp
parents:
diff changeset
44 if __name__ == "__main__":
135
5670f66845ce - results of work from 6.13 rehearsal
dmcc
parents: 0
diff changeset
45 s = ShowRunner(TheShow.show)
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
46 s.show.set_timeline('strobe test')
45b12307c695 Initial revision
drewp
parents:
diff changeset
47 s.mainloop()