Mercurial > code > home > repos > light9
comparison bin/keyboardcomposer @ 801:caeaa88430b8
KC sends real levels
Ignore-this: 2c6dae9c9c706c7db02e361d1ff46035
author | drewp@bigasterisk.com |
---|---|
date | Mon, 16 Jul 2012 22:28:08 +0000 |
parents | fcf95ff23cc5 |
children | a631e075a5bf |
comparison
equal
deleted
inserted
replaced
800:1274e041b579 | 801:caeaa88430b8 |
---|---|
138 bg='black', fg='white') | 138 bg='black', fg='white') |
139 self.save_stage_button.pack(side=LEFT) | 139 self.save_stage_button.pack(side=LEFT) |
140 self.sub_name = Entry(self.buttonframe, bg='black', fg='white') | 140 self.sub_name = Entry(self.buttonframe, bg='black', fg='white') |
141 self.sub_name.pack(side=LEFT) | 141 self.sub_name.pack(side=LEFT) |
142 | 142 |
143 | |
144 def redraw_sliders(self): | 143 def redraw_sliders(self): |
145 self.slider_vars = {} # this holds subname:sub Tk vars | 144 self.slider_vars = {} # this holds suburi : sub Tk vars |
146 self.slider_table = {} # this holds coords:sub Tk vars | 145 self.slider_table = {} # this holds coords:sub Tk vars |
147 self.name_to_subtk.clear() # subname : SubmasterTk instance | 146 self.name_to_subtk.clear() # subname : SubmasterTk instance |
148 | 147 |
149 self.graph.addHandler(self.draw_sliders) | 148 self.graph.addHandler(self.draw_sliders) |
150 if len(self.rows): | 149 if len(self.rows): |
217 def draw_sub_slider(self, row, col, sub, current_level): | 216 def draw_sub_slider(self, row, col, sub, current_level): |
218 subtk = SubmasterTk(row, sub, current_level) | 217 subtk = SubmasterTk(row, sub, current_level) |
219 subtk.place(relx=col / 8, rely=0, relwidth=1 / 8, relheight=1) | 218 subtk.place(relx=col / 8, rely=0, relwidth=1 / 8, relheight=1) |
220 self.setup_key_nudgers(subtk.scale) | 219 self.setup_key_nudgers(subtk.scale) |
221 | 220 |
222 self.slider_vars[sub.name] = subtk.slider_var | 221 self.slider_vars[sub.uri] = subtk.slider_var |
223 return subtk | 222 return subtk |
224 | 223 |
225 def toggle_slider_connectedness(self): | 224 def toggle_slider_connectedness(self): |
226 self.use_hw_sliders = not self.use_hw_sliders | 225 self.use_hw_sliders = not self.use_hw_sliders |
227 if self.use_hw_sliders: | 226 if self.use_hw_sliders: |
335 subtk = self.slider_table[(self.current_row, col)] | 334 subtk = self.slider_table[(self.current_row, col)] |
336 except KeyError: | 335 except KeyError: |
337 return # no slider assigned at that column | 336 return # no slider assigned at that column |
338 subtk.scale.set(value) | 337 subtk.scale.set(value) |
339 | 338 |
340 def send_to_hw(self, subName, hwNum): | 339 def send_to_hw(self, subUri, hwNum): |
341 if isinstance(self.sliders, DummySliders): | 340 if isinstance(self.sliders, DummySliders): |
342 return | 341 return |
343 | 342 |
344 v = round(127 * self.slider_vars[subName].get()) | 343 v = round(127 * self.slider_vars[subUri].get()) |
345 chan = "slider%s" % hwNum | 344 chan = "slider%s" % hwNum |
346 | 345 |
347 # workaround for some rounding issue, where we receive one | 346 # workaround for some rounding issue, where we receive one |
348 # value and then decide to send back a value that's one step | 347 # value and then decide to send back a value that's one step |
349 # lower. -5 is a fallback for having no last value. hopefully | 348 # lower. -5 is a fallback for having no last value. hopefully |
366 def unhighlight_row(self, row): | 365 def unhighlight_row(self, row): |
367 row = self.rows[row] | 366 row = self.rows[row] |
368 row['bg'] = 'black' | 367 row['bg'] = 'black' |
369 | 368 |
370 def get_levels(self): | 369 def get_levels(self): |
371 return dict([(name, slidervar.get()) | 370 return dict([(uri, slidervar.get()) |
372 for name, slidervar in self.slider_vars.items()]) | 371 for uri, slidervar in self.slider_vars.items()]) |
373 | 372 |
374 def get_levels_as_sub(self): | 373 def get_levels_as_sub(self): |
375 scaledsubs = [self.submasters.get_sub_by_name(sub) * level \ | 374 scaledsubs = [self.submasters.get_sub_by_uri(sub) * level |
376 for sub, level in self.get_levels().items() if level > 0.0] | 375 for sub, level in self.get_levels().items() if level > 0.0] |
377 | |
378 maxes = sub_maxes(*scaledsubs) | 376 maxes = sub_maxes(*scaledsubs) |
379 return maxes | 377 return maxes |
380 | 378 |
381 def save_current_stage(self, subname): | 379 def save_current_stage(self, subname): |
382 log.info("saving current levels as %s", subname) | 380 log.info("saving current levels as %s", subname) |