Mercurial > code > home > repos > light9
view 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 |
line wrap: on
line source
import sys, time, socket sys.path.append("../light8") import Patch, Timeline, dmxclient, xmlrpclib import TheShow Patch.reload_data() class ShowRunner: def __init__(self, show): self.show = show self.find_player() def find_player(self): self.player = xmlrpclib.Server("http://localhost:8040") def send_levels(self): """ sub = self.show.get_levels() # gets levels of subs leveldict = sub.get_levels() # gets levels of sub contents print 'resolved levels', leveldict levels = [0] * 68 for k, v in leveldict.items(): levels[Patch.get_dmx_channel(k)] = v """ levels = self.show.calc_active_submaster().get_dmx_list() dmxclient.outputlevels(levels) def sync_times(self): try: playtime = self.player.gettime() self.show.set_time(playtime) except socket.error, e: print "Server error %s, waiting"%e time.sleep(2) def mainloop(self): try: while 1: self.sync_times() self.send_levels() time.sleep(0.01) except KeyboardInterrupt: sys.exit(0) if __name__ == "__main__": s = ShowRunner(TheShow.show) s.show.set_timeline('strobe test') s.mainloop()