diff options
| author | sbahling <sbahling@mudgum.net> | 2018-10-31 18:43:40 +0100 |
|---|---|---|
| committer | sbahling <sbahling@mudgum.net> | 2018-10-31 18:43:40 +0100 |
| commit | 31d6ac71687512c1db7ec395b8772180276208c9 (patch) | |
| tree | 4bf26c780274ab7d039f9ad010da4ee74c752bbc | |
| parent | 136f384803eabfac5fa5218eb3aaaab9f70176b1 (diff) | |
| download | tascam-fw-osc-31d6ac71687512c1db7ec395b8772180276208c9.tar.gz tascam-fw-osc-31d6ac71687512c1db7ec395b8772180276208c9.tar.xz tascam-fw-osc-31d6ac71687512c1db7ec395b8772180276208c9.zip | |
Add handler for trim encoder
| -rw-r--r-- | tascam_fw_console/console.py | 16 | ||||
| -rw-r--r-- | tascam_fw_console/osc.py | 1 | ||||
| -rw-r--r-- | tascam_fw_console/strips.py | 23 |
3 files changed, 34 insertions, 6 deletions
diff --git a/tascam_fw_console/console.py b/tascam_fw_console/console.py index 80cb9e5..81b5329 100644 --- a/tascam_fw_console/console.py +++ b/tascam_fw_console/console.py @@ -177,13 +177,14 @@ class Console(): delta1 = roll_over_delta(aval1 - bval1) delta2 = roll_over_delta(aval2 - bval2) + encoder_mode = self.state.get('encoder_mode', '') if delta1: - if self.state.get('encoder_mode', '') == 'PAN': - self.strips[strip1].send_pan(delta1) + strip = self.strips[strip1] + strip.handle_encoder(encoder_mode, delta1) if delta2: - if self.state.get('encoder_mode', '') == 'PAN': - self.strips[strip2].send_pan(delta2) + strip = self.strips[strip2] + strip.handle_encoder(encoder_mode, delta2) def handle_control(self, unit, index, before, after): @@ -283,8 +284,11 @@ class Console(): else: self.unit.leds.rec.turn_off() - def pan_stereo_position_handler(self, addr, pos, pan): - self.strips[pos].recv_pan(pan) + def pan_stereo_position_handler(self, addr, ssid, pan): + self.strips[int(ssid)].recv_pan(pan) + + def strip_trimdb_handler(self, addr, ssid, trim): + self.strips[int(ssid)].recv_trim(trim) def strip_name_handler(self, addr, ssid, name): self.strips[int(ssid)].name = name diff --git a/tascam_fw_console/osc.py b/tascam_fw_console/osc.py index fb17449..1fbd8c9 100644 --- a/tascam_fw_console/osc.py +++ b/tascam_fw_console/osc.py @@ -40,6 +40,7 @@ def init_dispatcher(console): dispatcher.map('/strip/mute', console.strip_mute_handler) dispatcher.map('/strip/solo', console.strip_solo_handler) dispatcher.map('/strip/recenable', console.strip_recenable_handler) + dispatcher.map('/strip/trimdB', console.strip_trimdb_handler) dispatcher.map('/master/fader', console.master_fader_handler) dispatcher.map('/strip/pan_stereo_position', console.pan_stereo_position_handler) diff --git a/tascam_fw_console/strips.py b/tascam_fw_console/strips.py index 8d195f8..c14a22a 100644 --- a/tascam_fw_console/strips.py +++ b/tascam_fw_console/strips.py @@ -37,9 +37,14 @@ class Strip(): self._select = False self._rec = False self.pan = 0.5 + self.trimdb = 0.0 self.fader = Fader(self.console, self) self.name = None + self.encoder_handlers = {'PAN': self.send_pan, + 'AUX1': self.send_trim, + } + @property def mute_led(self): return self.console.unit.strips[self.num].mute_led @@ -121,6 +126,24 @@ class Strip(): print('Pan: {} {}'.format(self.num, pan)) self.pan = pan + def send_trim(self, delta): + addr = '/strip/trimdB' + trimdb = self.trimdb + delta * 0.5 + if trimdb < -20: + trimdb = -20 + if trimdb > 20: + trimdb = 20 + osc.client.send_message(addr, (self.num, trimdb)) + + def recv_trim(self, trimdb): + print('TrimdB: {} {}'.format(self.num, trimdb)) + self.trimdb = trimdb + + def handle_encoder(self, mode, delta): + self.encoder_handlers.get(mode, self.default_encoder_handler)(delta) + + def default_encoder_handler(self, delta): + print(delta) def init_strips(unit): strips = [] |
