Mercurial > code > home > repos > light9
comparison bin/keyboardcomposer @ 2014:1d0fbb6ae089
fix KC sliders support
Ignore-this: c1a285064c54c07266660648a5c8dad
author | drewp@bigasterisk.com |
---|---|
date | Mon, 10 Jun 2019 02:29:12 +0000 |
parents | 93e3a00b7cfc |
children | 1241e61fcf74 |
comparison
equal
deleted
inserted
replaced
2013:02eb0e99bba5 | 2014:1d0fbb6ae089 |
---|---|
299 withgroups.append((self.graph.value(effect, L9['group']), | 299 withgroups.append((self.graph.value(effect, L9['group']), |
300 self.graph.value(effect, L9['order']), | 300 self.graph.value(effect, L9['order']), |
301 self.graph.label(effect), effect)) | 301 self.graph.label(effect), effect)) |
302 withgroups.sort() | 302 withgroups.sort() |
303 | 303 |
304 log.info("withgroups %s", withgroups) | 304 log.debug("withgroups %s", withgroups) |
305 | 305 |
306 self.effectEval: Dict[URIRef, light9.effect.effecteval.EffectEval] = {} | 306 self.effectEval: Dict[URIRef, light9.effect.effecteval.EffectEval] = {} |
307 imp.reload(light9.effect.effecteval) | 307 imp.reload(light9.effect.effecteval) |
308 simpleOutputs = SimpleOutputs(self.graph) | 308 simpleOutputs = SimpleOutputs(self.graph) |
309 for group, order, sortLabel, effect in withgroups: | 309 for group, order, sortLabel, effect in withgroups: |
333 self.sliders.close() | 333 self.sliders.close() |
334 self.change_row(self.current_row) | 334 self.change_row(self.current_row) |
335 self.rows[self.current_row].focus() | 335 self.rows[self.current_row].focus() |
336 | 336 |
337 def connect_to_hw(self, hw_sliders): | 337 def connect_to_hw(self, hw_sliders): |
338 log.info('connect_to_hw') | |
338 if hw_sliders: | 339 if hw_sliders: |
339 try: | 340 try: |
340 self.sliders = Sliders(self) | 341 self.sliders = Sliders(self) |
341 log.info("connected to sliders") | 342 log.info("connected to sliders") |
342 except IOError: | 343 except IOError as e: |
343 log.info("no hardware sliders") | 344 log.info("no hardware sliders %r", e) |
344 self.sliders = DummySliders() | 345 self.sliders = DummySliders() |
345 self.use_hw_sliders = False | 346 self.use_hw_sliders = False |
346 dispatcher.connect(self.send_to_hw, 'send_to_hw') | 347 dispatcher.connect(self.send_to_hw, 'send_to_hw') |
347 else: | 348 else: |
348 self.sliders = DummySliders() | 349 self.sliders = DummySliders() |
467 import twisted.internet.error | 468 import twisted.internet.error |
468 try: | 469 try: |
469 self.pendingHwSet.cancel() | 470 self.pendingHwSet.cancel() |
470 except twisted.internet.error.AlreadyCalled: | 471 except twisted.internet.error.AlreadyCalled: |
471 pass | 472 pass |
472 self.pendingHwSet = reactor.callLater(.01, subbox.safeSliderSet, value) | 473 self.pendingHwSet = reactor.callLater(.01, subbox.setVal, value) |
473 | 474 |
474 def send_to_hw(self, sub, hwCol, boxRow): | 475 def send_to_hw(self, sub, hwCol, boxRow): |
475 if isinstance(self.sliders, DummySliders): | 476 if isinstance(self.sliders, DummySliders): |
476 return | 477 return |
477 | 478 |
622 devices = [ | 623 devices = [ |
623 '/dev/snd/midiC3D0', '/dev/snd/midiC2D0', '/dev/snd/midiC1D0' | 624 '/dev/snd/midiC3D0', '/dev/snd/midiC2D0', '/dev/snd/midiC1D0' |
624 ] | 625 ] |
625 for dev in devices: | 626 for dev in devices: |
626 try: | 627 try: |
628 log.info('try sliders on %s', dev) | |
627 BCF2000.__init__(self, dev=dev) | 629 BCF2000.__init__(self, dev=dev) |
628 except IOError: | 630 except IOError: |
629 if dev is devices[-1]: | 631 if dev is devices[-1]: |
630 raise | 632 raise |
631 else: | 633 else: |
686 help="don't attach to hardware sliders") | 688 help="don't attach to hardware sliders") |
687 clientsession.add_option(parser) | 689 clientsession.add_option(parser) |
688 parser.add_option('-v', action='store_true', help="log info level") | 690 parser.add_option('-v', action='store_true', help="log info level") |
689 opts, args = parser.parse_args() | 691 opts, args = parser.parse_args() |
690 | 692 |
691 log.setLevel(logging.DEBUG if opts.v else logging.WARN) | 693 log.setLevel(logging.DEBUG if opts.v else logging.INFO) |
692 logging.getLogger('colormath').setLevel(logging.INFO) | 694 logging.getLogger('colormath').setLevel(logging.INFO) |
693 | 695 |
694 graph = SyncedGraph(networking.rdfdb.url, "keyboardcomposer") | 696 graph = SyncedGraph(networking.rdfdb.url, "keyboardcomposer") |
695 | 697 |
696 # i think this also needs delayed start (like subcomposer has), to have a valid graph | 698 # i think this also needs delayed start (like subcomposer has), to have a valid graph |