summaryrefslogtreecommitdiff
path: root/tascam_fw_console
diff options
context:
space:
mode:
Diffstat (limited to 'tascam_fw_console')
-rw-r--r--tascam_fw_console/console.py16
-rw-r--r--tascam_fw_console/osc.py1
-rw-r--r--tascam_fw_console/strips.py23
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 = []