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()