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 に答える