Отладка суперколлайдера OSCresponderNode

У кого-нибудь есть идея, как отлаживать 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

Я предполагаю, что это говорит мне о том, что сервер суперколлайдера успешно принимает сообщение по адресу / примечанию, но либо a) OSCresponderNode не был зарегистрирован правильно, либо b) функция респондента каким-то образом не сработала.

Я прав, предполагая это?

Может ли это быть ошибкой в ​​определении узла? Я не получаю сообщение об ошибке при выполнении этой строки. Но, может быть, функция обратного вызова не будет выполнена и протестирована, пока она на самом деле не сработает?

2 ответа

"Команда FAILURE /note not found" - это то, что происходит, когда вы отправляете серверу сообщение, которое он не понимает. Но OSCresponderNode - это не объект на стороне сервера, это сторона клиента.

Чтобы исправить это, вы отправляете сообщения на порт клиента, а не на порт сервера.

Боюсь, запоздалый ответ. Но я не могу воспроизвести вашу проблему. Возможно, вы могли бы поделиться кодом, который вы используете для отправки сообщений OSC?

Используя код из примера Supercollider OSCResponderNode, я получаю следующее сообщение в моем окне сообщения:

133867.10639964
an OSCresponderNode
[ /note, Hello App 1 ]

Это t, r, msg параметры из вашего обработчика OSCResponderNode, как и ожидалось.

Другие вопросы по тегам