Отладка суперколлайдера 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, как и ожидалось.