Tidied up the api, added times to control sends, setting a controls value now calls its apply function
parent
e272a34dfe
commit
4849ff7a68
|
@ -17,27 +17,41 @@ TouchOSC {
|
|||
net.sendMsg(url, *oargs)
|
||||
}
|
||||
|
||||
addbutton { | url, default, apply |
|
||||
button { | url, default, apply |
|
||||
var ctrl = TouchOSCControl(this, url, apply, default);
|
||||
ctrl.init();
|
||||
controls.put(url, ctrl);
|
||||
^ctrl;
|
||||
}
|
||||
|
||||
addslider { | url, default, scale, apply |
|
||||
slider { | url, default, scale, apply |
|
||||
var ctrl = TouchOSCControlScale(this, url, apply, default, scale);
|
||||
ctrl.init();
|
||||
controls.put(url, ctrl);
|
||||
^ctrl;
|
||||
}
|
||||
|
||||
addxy { | url, default, scale1, scale2, apply |
|
||||
xy { | url, default, scale1, scale2, apply |
|
||||
var ctrl = TouchOSCControlXY(this, url, apply, default, scale1, scale2);
|
||||
ctrl.init();
|
||||
controls.put(url, ctrl);
|
||||
^ctrl;
|
||||
}
|
||||
|
||||
v { | url |
|
||||
^if( controls.at(url).isNil.not, {
|
||||
controls.at(url).value
|
||||
},
|
||||
nil
|
||||
);
|
||||
}
|
||||
|
||||
v_ { | url, v |
|
||||
^if( controls.at(url).isNil.not, {
|
||||
controls.at(url).value_(v)
|
||||
},
|
||||
nil);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -10,17 +10,19 @@ TouchOSCControl {
|
|||
init {
|
||||
OSCdef.new(
|
||||
'osc' ++ url,
|
||||
{ | msg |
|
||||
{ | msg, time |
|
||||
value = msg[1];
|
||||
apply.value(value)
|
||||
apply.value(value, time)
|
||||
},
|
||||
url
|
||||
);
|
||||
apply.value(value, 0);
|
||||
this.send();
|
||||
}
|
||||
|
||||
value_ { |newval|
|
||||
value = newval;
|
||||
apply.value(value, 0);
|
||||
this.send();
|
||||
}
|
||||
|
||||
|
@ -39,15 +41,20 @@ TouchOSCControlScale : TouchOSCControl {
|
|||
init {
|
||||
OSCdef.new(
|
||||
'osc' ++ url,
|
||||
{ | msg |
|
||||
{ | msg, time |
|
||||
value = scale.tovalue(msg[1]);
|
||||
apply.value(value);
|
||||
apply.value(value, time);
|
||||
},
|
||||
url
|
||||
);
|
||||
apply.value(value, 0);
|
||||
this.send();
|
||||
}
|
||||
|
||||
send {
|
||||
touchOSC.send(url, scale.toctrl(value));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
TouchOSCControlXY : TouchOSCControl {
|
||||
|
@ -60,18 +67,19 @@ TouchOSCControlXY : TouchOSCControl {
|
|||
init {
|
||||
OSCdef.new(
|
||||
'osc' ++ url,
|
||||
{ | msg |
|
||||
{ | msg, time |
|
||||
value[0] = scale1.tovalue(msg[1]);
|
||||
value[1] = scale2.tovalue(msg[2]);
|
||||
apply.value(value);
|
||||
apply.value(value, time);
|
||||
},
|
||||
url
|
||||
);
|
||||
apply.value(value, 0);
|
||||
this.send();
|
||||
}
|
||||
|
||||
send {
|
||||
touchOSC.send(url, value[0], value[1]);
|
||||
touchOSC.send(url, scale1.toctrl(value[0]), scale2.toctrl(value[1]));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue