@@ -80,6 +80,7 @@ def _device_range(self, msg, src):
80
80
if p is not None :
81
81
if p < len (self ._device .parameters ):
82
82
prm = self ._device .parameters [p ]
83
+ # type 2 = master track
83
84
if self ._type == 2 :
84
85
self .send ('/live/' + self ._track_types [self ._type ]+ 'device/range' , self ._device_id , p , prm .min , prm .max )
85
86
else :
@@ -90,6 +91,7 @@ def _device_range(self, msg, src):
90
91
for i ,p in enumerate (self ._device .parameters ):
91
92
prms .extend ([i ,p .min ,p .max ])
92
93
94
+ # type 2 = master track
93
95
if self ._type == 2 :
94
96
self .send ('/live/' + self ._track_types [self ._type ]+ 'device/range' , self ._device_id , * prms )
95
97
else :
@@ -98,26 +100,48 @@ def _device_range(self, msg, src):
98
100
99
101
100
102
def _device_param (self , msg , src ):
103
+ self .log_message ('_device_param message received' )
104
+ self .log_message (str (msg ))
105
+
101
106
if self ._is_device (msg ) and self ._device is not None :
102
107
if self ._type == 2 :
103
108
p = msg [3 ] if len (msg ) >= 4 else None
109
+ v = msg [4 ] if len (msg ) >= 5 else None
104
110
else :
105
111
p = msg [4 ] if len (msg ) >= 5 else None
112
+ v = msg [5 ] if len (msg ) >= 6 else None
106
113
107
-
114
+ self .log_message ('number of parameters = ' + str (len (self ._device .parameters )))
115
+ self .log_message ('p is ' + str (p ))
116
+ self .log_message ('v is ' + str (v ))
117
+ self .log_message ('p.value is ' + str (self ._device .parameters [p ].value ))
118
+
108
119
if p is not None :
109
120
if p < len (self ._device .parameters ):
110
121
prm = self ._device .parameters [p ]
122
+
123
+ # If a parameter value was passed, set it.
124
+ if v is not None :
125
+ self .log_message ('parameter ' + prm .name )
126
+ self .log_message ('max = ' + str (prm .max ))
127
+ self .log_message ('min = ' + str (prm .min ))
128
+ prm .value = v
129
+ self .log_message ('Set prm.value to ' + str (prm .value ))
130
+
131
+ # Send the current value of the parameter.
132
+ # type 2 = master track
111
133
if self ._type == 2 :
112
134
self .send ('/live/' + self ._track_types [self ._type ]+ 'device/param' , p , prm .value , prm .name )
113
135
else :
114
136
self .send_default ('/live/' + self ._track_types [self ._type ]+ 'device/param' , p , prm .value , prm .name )
115
137
138
+ # If a parameter id wasn't sent, send all the information about available parameters for this device.
116
139
else :
117
140
prms = []
118
141
for i ,p in enumerate (self ._device .parameters ):
119
142
prms .extend ([i ,p .value ,p .name ])
120
143
144
+ # type 2 = master track
121
145
if self ._type == 2 :
122
146
self .send ('/live/' + self ._track_types [self ._type ]+ 'device/param' , * prms )
123
147
else :
0 commit comments