Files
@ 83e2c4ceb79a
Branch filter:
Location: light9/flax/TimelineDMX.py - annotation
83e2c4ceb79a
1.7 KiB
text/x-python
KeyboardComposer: let's get it working again
KeyboardComposer: let's get it working again
TheShow: get_timelines method
Timeline: it's late, okay?
TimelineDMX: timeline selector, basically copied from that music player
thing
KeyboardComposer: let's get it working again
TheShow: get_timelines method
Timeline: it's late, okay?
TimelineDMX: timeline selector, basically copied from that music player
thing
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 45b12307c695 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://localhost: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()
|