Mercurial > code > home > repos > light9
comparison flax/Subcomposer.py @ 149:c31601504358
now with Subcomposer.open_sub_editing_window.
now with Subcomposer.open_sub_editing_window.
also, editsub works now.
author | dmcc |
---|---|
date | Sun, 06 Jul 2003 14:19:54 +0000 |
parents | 6a1f4becb1db |
children | e2c9919b3797 |
comparison
equal
deleted
inserted
replaced
148:d6252880a6fc | 149:c31601504358 |
---|---|
10 import Submaster | 10 import Submaster |
11 | 11 |
12 import dispatcher | 12 import dispatcher |
13 | 13 |
14 class Subcomposer(tk.Frame): | 14 class Subcomposer(tk.Frame): |
15 def __init__(self, master, levelboxopts=None, dmxdummy=0, numchannels=68): | 15 def __init__(self, master, levelboxopts=None, dmxdummy=0, numchannels=68, |
16 use_persistentlevels=0): | |
16 tk.Frame.__init__(self, master, bg='black') | 17 tk.Frame.__init__(self, master, bg='black') |
17 self.dmxdummy = dmxdummy | 18 self.dmxdummy = dmxdummy |
18 self.numchannels = numchannels | 19 self.numchannels = numchannels |
19 | 20 |
20 self.levels = [0]*68 # levels should never get overwritten, just edited | 21 self.levels = [0]*68 # levels should never get overwritten, just edited |
33 | 34 |
34 def alltozero(): | 35 def alltozero(): |
35 self.set_levels([0] * self.numchannels) | 36 self.set_levels([0] * self.numchannels) |
36 dispatcher.send("levelchanged") | 37 dispatcher.send("levelchanged") |
37 | 38 |
38 tk.Button(self, text="all to zero", command=alltozero, | 39 tk.Button(self, text="all to zero", command=alltozero).pack(side='top') |
39 fg='white').pack(side='top') | |
40 | 40 |
41 dispatcher.connect(self.levelchanged,"levelchanged") | 41 dispatcher.connect(self.levelchanged,"levelchanged") |
42 dispatcher.connect(self.sendupdate,"levelchanged") | 42 dispatcher.connect(self.sendupdate,"levelchanged") |
43 | 43 |
44 self.persistentlevels() | 44 if use_persistentlevels: |
45 self.persistentlevels() | |
45 | 46 |
46 self.lastupdate=0 # time we last sent to dmx | 47 self.lastupdate=0 # time we last sent to dmx |
47 | 48 |
48 self.lastsent=[] # copy of levels | 49 self.lastsent=[] # copy of levels |
49 | 50 |
97 self.levels[:] = levels | 98 self.levels[:] = levels |
98 dispatcher.send("levelchanged") | 99 dispatcher.send("levelchanged") |
99 | 100 |
100 def Savebox(master, levels, verb="Save", cmd=None): | 101 def Savebox(master, levels, verb="Save", cmd=None): |
101 f=tk.Frame(master,bd=2,relief='raised') | 102 f=tk.Frame(master,bd=2,relief='raised') |
102 tk.Label(f,text="Sub name:",fg='white').pack(side='left') | 103 tk.Label(f,text="Sub name:").pack(side='left') |
103 e=tk.Entry(f,fg='white') | 104 e=tk.Entry(f) |
104 e.pack(side='left',exp=1,fill='x') | 105 e.pack(side='left',exp=1,fill='x') |
105 def cb(*args): | 106 def cb(*args): |
106 subname=e.get() | 107 subname=e.get() |
107 cmd(levels,subname) | 108 cmd(levels,subname) |
108 print "sub",verb,subname | 109 print "sub",verb,subname |
109 e.bind("<Return>",cb) | 110 e.bind("<Return>",cb) |
110 tk.Button(f,text=verb,command=cb,fg='white').pack(side='left') | 111 tk.Button(f,text=verb,command=cb).pack(side='left') |
111 return f | 112 return f |
113 | |
114 def open_sub_editing_window(subname, use_mainloop=1, dmxdummy=0): | |
115 if use_mainloop: | |
116 toplevel = tk.Tk() | |
117 else: | |
118 toplevel = tk.Toplevel() | |
119 if dmxdummy: | |
120 dummy_str = ' (dummy)' | |
121 else: | |
122 dummy_str = '' | |
123 toplevel.title("Subcomposer: %s%s" % (subname, dummy_str)) | |
124 sc = Subcomposer(toplevel, use_persistentlevels=0, dmxdummy=dmxdummy) | |
125 sc.pack(fill='both', expand=1) | |
126 sc.loadsub(subname) | |
127 sc.considersendupdate(use_after_loop=10) | |
128 if use_mainloop: | |
129 tk.mainloop() | |
112 | 130 |
113 ############################# | 131 ############################# |
114 | 132 |
115 if __name__ == "__main__": | 133 if __name__ == "__main__": |
116 root=tk.Tk() | 134 root=tk.Tk() |