TouchOSC/classes/TouchOSC.sc

44 lines
763 B
Python
Raw Normal View History

2022-03-26 04:51:50 +00:00
// Class for binding to a TouchOSC interface
TouchOSC {
var <net, <controls;
2022-03-26 04:51:50 +00:00
*new { | ip, port |
^super.new.init(ip, port)
}
init { | ip, port |
net = NetAddr(ip, port);
2022-03-27 00:04:56 +00:00
controls = ();
}
2022-03-26 04:51:50 +00:00
send { | url ... oargs |
net.sendMsg(url, *oargs)
}
2022-03-27 00:04:56 +00:00
addbutton { | url, default, apply |
var ctrl = TouchOSCControl(this, url, apply, default);
ctrl.init();
controls.put(url, ctrl);
^ctrl;
}
addslider { | 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 |
var ctrl = TouchOSCControlXY(this, url, apply, default, scale1, scale2);
ctrl.init();
controls.put(url, ctrl);
^ctrl;
}
}