我目前正在使用 libPd(纯数据包装器)作为我用 Python 编写的基于文本的冒险游戏的音频引擎。随着大部分编程/补丁的完成,我需要做的最后一件事是根据不同的场景在 Pd 中独立初始化不同的子补丁;我将它们设置为一个 bang 消息(或 1 个)就足够了。
撇开音频编程问题不谈,我真正要问的是如何通过 Python 将这条消息 (1) “发送”到我的 Pd 补丁?甚至可能吗?存在一个用于从Pd接收信息的测试脚本。我只需要相反的。
在 python 中,情况有些不同。构建好 python 绑定后,您可以查看构建文件夹并在 lib.YOUROPERATINGSYSTEM 文件夹中找到 pylibpd.py。您可以在 libpd 中查看所有 def 语句以及它们映射到的内容。
最简单的发送消息是这样的:
libpd_message('recvr', 'hellooo')
如果您想发送一个浮点数,那么您可以这样:
libpd_float('recvr', 323.290)
如果您有一个带有参数 recvr 的接收对象,这些将显示在您的 PD 补丁中。
另一个很好的资源是关于 libpd 的原始论文。http://www.uni-weimar.de/medien/wiki/images/Embedding_Pure_Data_with_libpd.pdf