comparison bin/subcomposer @ 351:a6662d61ebcd

SC, KC, CC now run and seem to load and save ok. CC does not have any rdf for its data files
author Drew Perttula <drewp@bigasterisk.com>
date Sun, 10 Jun 2007 08:09:08 +0000
parents 2c782ca93e73
children a13f2caf6f25
comparison
equal deleted inserted replaced
350:c7478a778992 351:a6662d61ebcd
18 use_persistentlevels=0): 18 use_persistentlevels=0):
19 tk.Frame.__init__(self, master, bg='black') 19 tk.Frame.__init__(self, master, bg='black')
20 self.dmxdummy = dmxdummy 20 self.dmxdummy = dmxdummy
21 self.numchannels = numchannels 21 self.numchannels = numchannels
22 22
23 self.levels = [0]*512 # levels should never get overwritten, just edited 23 self.levels = [0]*numchannels # levels should never get overwritten, just edited
24 24
25 self.levelbox = Levelbox(self, num_channels=numchannels) 25 self.levelbox = Levelbox(self, num_channels=numchannels)
26 self.levelbox.pack(side='top') 26 self.levelbox.pack(side='top')
27 # the dmx levels we edit and output, range is 0..1 (dmx chan 1 is 27 # the dmx levels we edit and output, range is 0..1 (dmx chan 1 is
28 # the 0 element) 28 # the 0 element)
29 self.levelbox.setlevels(self.levels) 29 self.levelbox.setlevels(self.levels)
30 30
31 self.savebox = EntryCommand(self, cmd=self.savenewsub) 31 self.savebox = EntryCommand(self, cmd=self.savenewsub)
32 self.savebox.pack(side='top') 32 self.savebox.pack(side='top')
33 33
34 self.loadbox = EntryCommand(self, verb="Load", 34 self.loadbox = EntryCommand(self, verb="Load", cmd=self.loadsub)
35 cmd=lambda x: self.loadsub(self.levels, x))
36 self.loadbox.pack(side='top') 35 self.loadbox.pack(side='top')
37 36
38 def alltozero(): 37 def alltozero():
39 self.set_levels([0] * self.numchannels) 38 self.set_levels([0] * self.numchannels)
40 dispatcher.send("levelchanged") 39 dispatcher.send("levelchanged")
74 if channel is not None and newlevel is not None: 73 if channel is not None and newlevel is not None:
75 if channel>len(self.levels): 74 if channel>len(self.levels):
76 return 75 return
77 self.levels[channel-1]=max(0,min(1,float(newlevel))) 76 self.levels[channel-1]=max(0,min(1,float(newlevel)))
78 self.levelbox.setlevels(self.levels) 77 self.levelbox.setlevels(self.levels)
79 def savenewsub(self, levels, subname): 78 def savenewsub(self, subname):
80 leveldict={} 79 leveldict={}
81 for i,lev in zip(range(len(self.levels)),self.levels): 80 for i,lev in zip(range(len(self.levels)),self.levels):
82 if lev!=0: 81 if lev!=0:
83 leveldict[Patch.get_channel_name(i+1)]=lev 82 leveldict[Patch.get_channel_name(i+1)]=lev
84 83
85 s=Submaster.Submaster(subname,leveldict) 84 s=Submaster.Submaster(subname,leveldict=leveldict)
86 s.save() 85 s.save()
87 def loadsub(self, subname): 86 def loadsub(self, subname):
88 """puts a sub into the levels, replacing old level values""" 87 """puts a sub into the levels, replacing old level values"""
89 s=Submaster.Submasters().get_sub_by_name(subname) 88 s=Submaster.Submasters().get_sub_by_name(subname)
90 self.levels[:]=[0]*68
91 self.levels[:]=s.get_dmx_list() 89 self.levels[:]=s.get_dmx_list()
92 dispatcher.send("levelchanged") 90 dispatcher.send("levelchanged")
93 def sendupdate(self): 91 def sendupdate(self):
94 if not self.dmxdummy: 92 if not self.dmxdummy:
95 dmxclient.outputlevels(self.levels) 93 dmxclient.outputlevels(self.levels)
117 tk.Button(self, text=verb, command=self.action).pack(side='left') 115 tk.Button(self, text=verb, command=self.action).pack(side='left')
118 116
119 def action(self, *args): 117 def action(self, *args):
120 subname = self.entry.get() 118 subname = self.entry.get()
121 self.cmd(subname) 119 self.cmd(subname)
122 print "sub", verb, subname 120 print "sub", self.cmd, subname
123 121
124 def set(self, text): 122 def set(self, text):
125 self.entry.delete(0, 'end') 123 self.entry.delete(0, 'end')
126 self.entry.insert(0, text) 124 self.entry.insert(0, text)
127 125