summaryrefslogtreecommitdiff
path: root/tascam_fw_console/strips.py
diff options
context:
space:
mode:
authorsbahling <sbahling@mudgum.net>2018-11-02 20:47:59 +0100
committersbahling <sbahling@mudgum.net>2018-11-02 20:47:59 +0100
commitcbf12b6a6191d38550cd03adbb8eafce5c1bc66c (patch)
tree9511d0fc24fc49cb90c0d0b5a61bea8c900ba75c /tascam_fw_console/strips.py
parent34c035543811f7f1a313a4e86154f715cd71eb64 (diff)
downloadtascam-fw-osc-cbf12b6a6191d38550cd03adbb8eafce5c1bc66c.tar.gz
tascam-fw-osc-cbf12b6a6191d38550cd03adbb8eafce5c1bc66c.tar.xz
tascam-fw-osc-cbf12b6a6191d38550cd03adbb8eafce5c1bc66c.zip
rafactor strips
- move initialization of console strips to console module - rename strips.py to strip.py
Diffstat (limited to 'tascam_fw_console/strips.py')
-rw-r--r--tascam_fw_console/strips.py153
1 files changed, 0 insertions, 153 deletions
diff --git a/tascam_fw_console/strips.py b/tascam_fw_console/strips.py
deleted file mode 100644
index e063f52..0000000
--- a/tascam_fw_console/strips.py
+++ /dev/null
@@ -1,153 +0,0 @@
-#!/usr/bin/env python3
-"""
- Open Sound Control send/recieve daemon for Tascam Firewire control surface
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- :copyright: Copyright (c) 2018 Scott Bahling
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 2 as
- published by the Free Software Foundation.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program (see the file COPYING); if not, write to the
- Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
- :license: GPL-2.0, see COPYING for details
-"""
-
-from tascam_fw_console.fader import Fader
-from tascam_fw_console import osc
-
-
-class Strip():
-
- def __init__(self, console, num):
- self.console = console
- self.num = num
- self.mute_button = None
- self._mute = False
- self.solo_button = None
- self._solo = False
- self.select_button = None
- self._select = False
- self._rec = False
- self.pan = 0.5
- self.trimdb = 0.0
- self.fader = Fader(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
-
- @property
- def solo_led(self):
- return self.console.unit.strips[self.num].solo_led
-
- @property
- def sel_led(self):
- return self.console.unit.strips[self.num].sel_led
-
- @property
- def rec_led(self):
- return self.console.unit.strips[self.num].rec_led
-
- @property
- def mute(self):
- return self._mute
-
- @mute.setter
- def mute(self, state):
- state = bool(state)
- self._mute = state
- if state:
- self.mute_led.turn_on()
- else:
- self.mute_led.turn_off()
-
- @property
- def solo(self):
- return self._solo
-
- @solo.setter
- def solo(self, state):
- state = bool(state)
- self._solo = state
- if state:
- self.solo_led.turn_on()
- else:
- self.solo_led.turn_off()
-
- @property
- def select(self):
- return self._select
-
- @select.setter
- def select(self, state):
- state = bool(state)
- self._select = state
- if state:
- self.sel_led.turn_on()
- else:
- self.sel_led.turn_off()
-
- @property
- def rec(self):
- return self._rec
-
- @rec.setter
- def rec(self, state):
- state = bool(state)
- self._rec = state
- if state:
- self.rec_led.turn_on()
- else:
- self.rec_led.turn_off()
-
- def send_pan(self, delta):
- addr = '/strip/pan_stereo_position'
- pan = self.pan + delta * 0.02
- if pan < 0:
- pan = 0
- if pan > 1.0:
- pan = 1.0
- osc.client.send_message(addr, (self.num, pan))
-
- def recv_pan(self, pan):
- 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 = []
- for strip_num in range(0, 9):
- strips.append(Strip(unit, strip_num))
-
- return strips