Как отправить сообщение о подключении из Python в Pure Data?

У меня есть патч для микрофона на Pure Data, и я хочу подключить его к патчу для громкоговорителей. Итак, у него есть команда connect localhost 3000, где localhost указывает, где находится патч громкоговорителя, а 3000 — это номер порта, который я буду использовать для подключения. Можно ли отправить это сообщение с помощью скрипта Python, чтобы мне не нужно было нажимать на патч? Я использую libpd для этого.


person Rômulo Vieira    schedule 07.07.2021    source источник
comment
это дубликат stackoverflow.com/questions/67209375 (к сожалению, я не могу пометить этот вопрос как дубликат, поскольку OP более старого один решил не голосовать/принимать единственный ответ)   -  person umläute    schedule 08.07.2021
comment
в качестве альтернативы я не совсем понял ваш вопрос. как связаны python и puredata? как вы упоминаете libpd: ваше приложение python является хостом libpd?   -  person umläute    schedule 08.07.2021
comment
Вы уверены, что используете libpd? тот фрагмент, который вы разместили, выглядит как глубокое непонимание того, как его использовать. с libpd вы загружаете полный экземпляр Pd в свое (python) приложение — для этого требуется больше, чем просто import pylibpd. как только вы запустите Pd внутри вашего приложения, вы сможете отправлять ему сообщения. вы не можете использовать libpd, чтобы заставить python общаться с отдельным экземпляром Pd (например, который был запущен отдельно)   -  person umläute    schedule 08.07.2021


Ответы (1)


libpd поставляется с некоторой документацией и несколько примеров, которые объясняют, как использовать API. Если документация по Python API недостаточно подробна, обратитесь к документации для привязка к другому языку — привязки для разных языков обычно очень похожи.

По сути, вы можете просто отправить триггер получателю в Pd, используя libpd_bang.

Питон:

libpd_bang("connect-to-speaker")

Pd:

[receive connect-to-speaker]
|
[connect localhost 3000(
|

вы, конечно, можете отправить некоторую полезную нагрузку, используя libpd_float() или libpd_list() или libpd_message().

в качестве альтернативы, вы также можете заставить Pd автоматически запускать сообщение [connect(, используя [loadbang].

person umläute    schedule 08.07.2021