Files
@ 304152488ed7
Branch filter:
Location: light9/flax/TimelineDMX.py - annotation
304152488ed7
1.3 KiB
text/x-python
Timeline: new methods to make editing easier
Timeline: new methods to make editing easier
Submaster: fix level-clobbering bug, skip CVS files, better __repr__
KeyboardClient: tiny cleanups
Timeline: new methods to make editing easier
Submaster: fix level-clobbering bug, skip CVS files, better __repr__
KeyboardClient: tiny cleanups
45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 5670f66845ce 5670f66845ce 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 5670f66845ce 5670f66845ce 5670f66845ce 5670f66845ce 5670f66845ce 5670f66845ce 5670f66845ce 5670f66845ce 5670f66845ce 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 5670f66845ce 45b12307c695 45b12307c695 | 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()
|