diff --git a/flax/TimelineDMX.py b/flax/TimelineDMX.py --- a/flax/TimelineDMX.py +++ b/flax/TimelineDMX.py @@ -1,27 +1,34 @@ import sys, time, socket sys.path.append("../light8") +import Tix as tk import Patch, Timeline, dmxclient, xmlrpclib import TheShow Patch.reload_data() -class ShowRunner: - def __init__(self, show): +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): - """ - 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) @@ -38,10 +45,13 @@ class ShowRunner: self.sync_times() self.send_levels() time.sleep(0.01) + self.master.update() except KeyboardInterrupt: sys.exit(0) if __name__ == "__main__": - s = ShowRunner(TheShow.show) + root = tk.Tk() + s = ShowRunner(root, TheShow.show) s.show.set_timeline('strobe test') + s.pack() s.mainloop()