Files
@ dd9474bef2a6
Branch filter:
Location: light9/flax/TimelineDMX.py - annotation
dd9474bef2a6
1.7 KiB
text/x-python
decimal not double! this caused patch comparisons to fail and led to redundant work
45b12307c695 45b12307c695 83e2c4ceb79a 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 83e2c4ceb79a 83e2c4ceb79a 83e2c4ceb79a 83e2c4ceb79a 83e2c4ceb79a 45b12307c695 45b12307c695 83e2c4ceb79a 83e2c4ceb79a 83e2c4ceb79a 83e2c4ceb79a 83e2c4ceb79a 83e2c4ceb79a 83e2c4ceb79a 83e2c4ceb79a 83e2c4ceb79a 83e2c4ceb79a 83e2c4ceb79a 83e2c4ceb79a 45b12307c695 3905d3c92aaa 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 83e2c4ceb79a 45b12307c695 45b12307c695 45b12307c695 45b12307c695 83e2c4ceb79a 83e2c4ceb79a 45b12307c695 83e2c4ceb79a 45b12307c695 | import sys, time, socket
sys.path.append("../light8")
import Tix as tk
import Patch, Timeline, dmxclient, xmlrpclib
import TheShow
Patch.reload_data()
class ShowRunner(tk.Frame):
def __init__(self, master, show):
tk.Frame.__init__(self, master)
self.master = master
self.show = show
self.find_player()
self.build_timeline_list()
def build_timeline_list(self):
self.tl_list = tk.Frame(self)
for tl in self.show.get_timelines():
b=tk.Button(self.tl_list,text=tl,
anchor='w',pady=1)
b.config(command=lambda tl=tl: self.set_timeline(tl))
b.pack(side='top',fill='x')
self.tl_list.pack()
def set_timeline(self, tlname):
print "TimelineDMX: set timeline to", tlname
self.show.set_timeline(tlname)
def find_player(self):
self.player = xmlrpclib.Server("http://spot:8040")
def send_levels(self):
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)
self.master.update()
except KeyboardInterrupt:
sys.exit(0)
if __name__ == "__main__":
root = tk.Tk()
s = ShowRunner(root, TheShow.show)
s.show.set_timeline('strobe test')
s.pack()
s.mainloop()
|