Skip to content

Commit e17f44b

Browse files
committed
Fix setting of device parameters.
- Added the ability to set a device parameter value. - Fixed a crash on startup reading the arm state of tracks without a readable arm property.
1 parent c862f48 commit e17f44b

File tree

4 files changed

+11
-5
lines changed

4 files changed

+11
-5
lines changed

LO2ChannelStripComponent.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ def _lo2__on_solo_changed(self):
193193
self.send_default('/live/'+self._track_types[self._type]+'solo', self._track.solo)
194194

195195
def _lo2__on_arm_changed(self):
196-
if self._type == 0 and self._type is not None:
196+
if self._type == 0 and self._type is not None and self._track.can_be_armed:
197197
self.send_default('/live/'+self._track_types[self._type]+'arm', self._track.arm)
198198

199199
def _lo2__on_track_name_changed(self):

LO2MixerComponent.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,14 @@ def _lo2__on_return_tracks_changed(self):
5959

6060
# Callbacks
6161
def _lo2_on_track_list_changed(self):
62+
self.log_message('on_track_list_changed')
6263
if len(self.song().tracks) != self._track_count:
64+
self.log_message('/live/tracks:' + str(len(self.song().tracks)))
6365
self.send('/live/tracks', len(self.song().tracks))
6466
self._track_count = len(self.song().tracks)
6567

6668
def _lo2_on_selected_track_changed(self):
69+
self.log_message('on_selected_track_changed')
6770
id, type = self.track_id_type(self.song().view.selected_track)
6871

6972
self.send('/live/track/select', type, id)
@@ -83,4 +86,4 @@ def _track_name_block(self, msg, src):
8386
b.append(i, '')
8487

8588
self.send('/live/track/name/block', b)
86-
89+

LO2Mixin.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
# beginning _lo2_<FrameworkListener>
2121
def _decorate(fn, child, name):
2222
def wrap(*a, **kw):
23-
LO2Mixin.log_message('calling LO2 wrapper: '+name)
24-
2523
ret = fn(*a, **kw)
2624
child(*a, **kw)
2725

LO2ParameterComponent.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ def __init__(self, send = False):
1616
def set_parameter(self, param):
1717
self._parameter = param
1818
self._on_value_changed.subject = param
19+
20+
21+
def set_parameter_value(self, value):
22+
self._parameter.value = value
1923

2024

2125
@subject_slot('value')
@@ -32,4 +36,5 @@ def _on_value_changed(self):
3236

3337
p = list(self._parameter.canonical_parent.parameters).index(self._parameter)
3438

35-
self.send('/live/'+self._track_types[ty]+'device/param', tid, d, p, self._parameter.value, str(self._parameter.name))
39+
self.send('/live/'+self._track_types[ty]+'device/param', tid, d, p, self._parameter.value, str(self._parameter.name))
40+

0 commit comments

Comments
 (0)