summaryrefslogtreecommitdiff
path: root/strips.py
diff options
context:
space:
mode:
Diffstat (limited to 'strips.py')
-rw-r--r--strips.py88
1 files changed, 81 insertions, 7 deletions
diff --git a/strips.py b/strips.py
index da656d1..f92a556 100644
--- a/strips.py
+++ b/strips.py
@@ -21,19 +21,93 @@
"""
from faders import Fader
+import osc
+
class Strip():
- def __init__(self, unit, num):
+ def __init__(self, console, num):
+ self.console = console
self.num = 0
- self.mute = None
- self.solo = None
- self.select = None
- self.recenable = False
+ 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.fader = Fader(unit, self)
+ self.fader = Fader(self.console.unit, self)
self.name = None
+ @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
@@ -41,7 +115,7 @@ class Strip():
pan = 0
if pan > 1.0:
pan = 1.0
- osc.send_message(addr, (self.num, pan))
+ osc.client.send_message(addr, (self.num, pan))
def recv_pan(self, pan):
print('Pan: {} {}'.format(self.num, pan))