Отправка сообщений от Python с помощью osc4py3? - PullRequest
0 голосов
/ 09 января 2020

В настоящее время я пытаюсь выяснить, как отправлять сообщения ОС C из Python в Max / MSP. В настоящее время я использую для этого osc4py3, и у меня есть пример кода из документации, которая должна гипотетически работать, написанная здесь:

from osc4py3.as_eventloop import *
from osc4py3 import oscbuildparse

# Start the system.
osc_startup()

# Make client channels to send packets.
osc_udp_client("127.0. 0.1", 5000, "tester")

msg = oscbuildparse.OSCMessage("/test/me", ",sif", ["text", 672, 8.871])
osc_send(msg, "tester")

Приемник в Max - это просто объект udprecieve, слушающий порт 5000. Мне удалось заставить Processing отправлять сообщения OS C Максу, и это работало довольно просто, используя библиотеку oscp5, но я не могу испытать такую ​​же удачу в Python.

Чего мне не хватает? Более того, я не совсем понимаю структуру для создания сообщений OS C в osc4py3, даже после того, как приложил все усилия с документацией; если кто-то захочет объяснить, что именно происходит (а именно, аргументы) в чем-то вроде

msg = oscbuildparse.OSCMessage("/test/me", ",sif", ["text", 672, 8.871])

, то я был бы всегда благодарен.

Я полностью открыт для использования другой библиотеки ОС C, но все, что я спрашиваю, - это пошаговое руководство по отправке сообщения (я пытался использовать pyOS C, но это тоже доказало смущает меня).

1 Ответ

0 голосов
/ 02 марта 2020

Возможно, вы уже решили это, но в опубликованном коде есть две проблемы. Одним из них является формат IP-адреса (перед вторым "0" есть пробел). Тогда вам нужна команда os c .process () в конце. Таким образом, следующий способ должен работать

from osc4py3.as_eventloop import *
from osc4py3 import oscbuildparse

# Start the system.
osc_startup()

# Make client channels to send packets.
osc_udp_client("127.0.0.1", 5000, "tester")

msg = oscbuildparse.OSCMessage("/test/me", ",sif", ["text", 672, 
8.871])
osc_send(msg, "tester")
osc_process()

Надеюсь, что это сработает

...