0

任何人都知道如何调试超级对撞机的 OSCresponderNode?

我试图用这个来捕捉来自另一个程序的消息:

o = OSCresponderNode(nil, '/note', { arg t, r, msg; t.postln; r.postln; msg.postln; Synth( "guru2", [\mfreq, msg[1]]);  }).add;

但是,当我向它发送消息时,超级对撞机只是给了我

FAILURE /note Command not found

我假设这告诉我超级对撞机服务器正在成功接收到地址 /note 的消息,但要么 a) OSCresponderNode 未正确注册,要么 b) 响应函数以某种方式失败。

我这样假设是对的吗?

会不会是定义节点失败?执行该行时,我没有收到错误消息。但也许回调函数在实际触发之前不会被执行和测试?

4

2 回答 2

3

“FAILURE /note Command not found”是当您向服务器发送它不理解的消息时发生的情况。但是 OSCresponderNode 不是服务器端对象,它是客户端。

解决此问题的方法是将消息发送到客户端的端口,而不是服务器的端口。

于 2012-07-30T19:33:04.217 回答
0

恐怕反应迟了。但我无法重现您的问题。也许你可以分享你用来发送OSC 消息的代码?

使用 Supercollider OSCResponderNode 示例中的代码,我的帖子窗口中出现以下内容:

133867.10639964
an OSCresponderNode
[ /note, Hello App 1 ]

也就是说t, r, msg,正如预期的那样,来自您的 OSCResponderNode 处理程序的参数。

于 2011-05-04T13:56:24.923 回答