Сообщения OSC от клиента python-osc не принимаются сервером ChucK

Я пытаюсь установить связь между Чаком и Питоном по протоколу OSC (Open Sound Control). Со стороны python мы используем библиотеку python-osc и chuck изначально поддерживает протокол OSC. Похоже, что сообщения, которые мы отправляем со стороны Python, не приходят со стороны Chuck. Все остальные комбинации, то есть питон к питону, патрон к патчу и патч к питону, работают нормально. Я использую Python 3.4.4 на Windows 7. Что может быть не так?

Вот четыре файла с реализациями клиент / сервер, которые я использую для тестирования.

chuck_client.py:

OscSend xmit;
xmit.setHost("localhost", 5005);
<<<"Sending">>>;
xmit.startMsg("/debug");

chuck_server.py:

OscRecv orec;
5005 => orec.port;
orec.listen();
orec.event("/debug") @=> OscEvent e;

<<<"Waiting">>>;
e => now;
<<<"Received">>>;

python_client.py:

from pythonosc import osc_message_builder
from pythonosc import udp_client

client = udp_client.UDPClient('localhost', 5005)
msg = osc_message_builder.OscMessageBuilder(address="/debug")
msg = msg.build()
print('Sending')
client.send(msg)

python_server.py:

from pythonosc import dispatcher
from pythonosc import osc_server

dispatcher = dispatcher.Dispatcher()
dispatcher.map("/debug", lambda _: print('Received'))

print('Waiting')
server = osc_server.ThreadingOSCUDPServer(
    ('localhost', 5005), dispatcher)
print("Serving on {}".format(server.server_address))
server.serve_forever()

1 ответ

Решение

Это оказалось ошибкой в ​​python-osc 1.5. В версии 1.6 приведенный пример просто работает. Ссылка: https://github.com/attwad/python-osc/issues/31

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