问题标签 [libpd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
104 浏览

gradle - 无法在我的 LibGDX 项目中将依赖项添加到 gdx-pd

每个人!我正在尝试将依赖项添加到build.gradle 中的 gdx-pd,但是当我尝试同步项目时,我收到此错误:

原因:groovy.lang.MissingPropertyException:无法为 org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 类型的对象获取未知属性“pdVersion”。

这是我的 Gradle 文件的样子:

}

所有项目{

}

项目(“:桌面”){应用插件:“java-library”

}

项目(“:android”){应用插件:“android”

}

项目(“:核心”){应用插件:“java-library”

}

如果我尝试像这样指定 $pdVersion:

我收到另一个错误:

错误:无法解决:net.mgsx.gdx:gdx-pd:0.7.0 在项目结构对话框中显示受影响的模块:核心错误:无法解决:net.mgsx.gdx:gdx-pd:0.7.0 在项目中显示结构对话框 受影响的模块:android

我究竟做错了什么?先感谢您!

0 投票
0 回答
50 浏览

android - 清单服务 org.puredata.android.service.PdService 使应用程序关闭

我正在使用 Pure Data 音频(https://github.com/libpd/pd-for-android)构建吉他调音器。

问题是当我添加<service android:name="org.puredata.android.service.PdService" />清单时,应用程序在我在 android 模拟器中打开后关闭而没有错误。但它适用于我的真实设备。有什么想法有什么问题吗?

服务代码:

在gradle我有这个:

非常感谢。

0 投票
1 回答
157 浏览

ios - 如何在渲染回调中交错非交错的 AudioBufferList?

我正在从事一个项目,该项目涉及将音频从AVPlayer视频播放器对象流式传输到libpd使用MTAudioProcessingTap. 对于tap的进程循环,我使用PdAudioUnit了srender回调代码作为指导;但我最近意识到,预期的音频格式libpd与来自 tap 的音频不同——也就是说,tap 在传入的 AudioBufferList 中提供两个非交错音频数据的缓冲区,而 libpd 需要交错样本。我不认为我可以改变抽头本身来提供交错样本。

有谁知道我可以解决这个问题的方法?

我认为我需要以某种方式创建一个新的AudioBufferList或浮动缓冲区并将样本交错到位;但我不太确定如何做到这一点,而且看起来会很贵。如果有人能给我一些指示,我将不胜感激!

这是我安装水龙头的代码:

我的tap_ProcessCallback

0 投票
1 回答
114 浏览

python - 如何从 Python 向 Pure Data 发送连接消息?

我在 Pure Data 上有一个麦克风补丁,我想将它连接到扬声器补丁。所以,它有命令connect localhost 3000,其中 localhost 表示扬声器补丁的位置,3000 是我将用于连接的端口号。是否可以使用 python 脚本发送此消息,所以我不必点击补丁?我为此使用 libpd。

0 投票
1 回答
344 浏览

rust - 将安全的 rust 函数指针传递给 C

我已经为 C 库创建了 rust 绑定,目前正在围绕它编写安全包装器。

问题是关于 C 函数,它接受不能接受任何自定义用户数据的 C 函数指针。

用一个例子更容易解释,

C 库:

绑定:

如果我可以像下面这样向用户公开一个 api,那就太好了,

尽管根据下面的消息来源,缺乏将存储我的闭包状态的内存部分的管理移交给 C 的能力,阻止了我创建这种 API。因为 C 中的函数指针是无状态的,不接受任何用户数据。(如果我错了,请纠正我。)

通过阅读这些资料和类似资料,我得出了这个结论:

蹦床技术

类似的蹦床技术

Hacky 线程局部技术

Shepmaster的答案中的来源

作为后备,我也许可以想象像这样的 API,我传递一个函数指针。

但我对转换一个有点困惑fn(&str)

到一个unsafe extern "C" fn(argument: *const std::os::raw::c_char)..

如果您能指出正确的方向,我将非常高兴。

* 实际关注的库是libpd,我创建了一个与此相关的问题。

非常感谢。