Mercurial > code > home > repos > light9
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 |