【发布时间】:2012-09-10 07:12:38
【问题描述】:
我找不到支持 Touch OSC 的多切换控件的 Arduino 的 OSC 库。我做错了什么,还是有一个库支持这个控件?
我正在使用的库:https://github.com/recotana/ArdOSC
我从 Touch OSC 发送的 OSC 消息:
/octobar/togglearray/2/2 1.
在 Arduino 上捕捉它的相关片段:
server.begin(serverPort);
server.addCallback("/octobar/togglearray",&togglearray);
void togglearray(OSCMessage *_mes) {
Serial.println("Toggle Array");
}
我确实有其他回调工作,我没有在这里粘贴所有服务器代码,因为它与推子和按钮控件一起工作。问题似乎是任何支持多选的控件。
【问题讨论】:
-
第二行不应该是:
server.addCallback("/octobar/togglearray/2/2",&togglearray); -
切换数组是可切换按钮的表格。 OSC 消息的 /2/2 部分定义了该数组上的行/列。奇怪的是,我想过为每行和每列编写一个回调,但它不起作用。我真的想避免更改 OSC 布局,让 40 个单独的按钮在一个数组中完美对齐。
-
TouchOSC 手册区分
Addressing the first toggle in the first row (indexes in OSC path) /multitoggle/1/1 0和Addressing the first toggle in the first row (indexes as parameters) /multitoggle 1 1 0。如果您发送的消息是/octobar/togglearray/2/2 1则/2/2是OSC地址的一部分并且应该在回调中。我猜你必须使用“索引作为参数”发送消息(但我在手册中没有找到如何做到这一点) -
Philipp,谢谢,是的,我真的希望 TouchOSC 应用程序允许我们选择索引作为参数。到目前为止,我还没有找到在应用程序中设置此选项的功能。
标签: arduino osc opensoundcontrol