3个版本
0.1.2 | 2024年4月30日 |
---|---|
0.1.1 | 2024年1月10日 |
0.1.0 | 2023年8月7日 |
在音频中排名#252
56KB
803 行
vst3-rs
vst3
crate为VST 3 API提供Rust绑定,由原始C++头文件生成。提供从Rust操作COM对象和实现COM接口的抽象。然而,这些绑定是不安全的,并没有尝试对VST 3 API本身进行抽象。
由于许可原因,vst3
crate不包含VST 3 SDK的副本。相反,使用此crate的用户必须单独获取SDK的副本,并通过VST3_SDK_DIR
环境变量指定其路径。
用法
首先,将vst3
添加为你的Cargo.toml
依赖项
[dependencies]
vst3 = "0.1.0"
然后,下载VST 3 SDK
git clone --recursive https://github.com/steinbergmedia/vst3sdk.git
或者,您可以从这里下载SDK并将其解压缩。
最后,将VST3_SDK_DIR
环境变量设置为SDK目录的路径(位于pluginterfaces
目录之上)。
将VST 3接口头文件包含到您的项目仓库中可能很方便。如果pluginterfaces
目录位于相对于您的Cargo工作区根的vst3sdk/pluginterfaces/
,您可以在一个.cargo/config.toml
文件(也相对于工作区根)中包含以下内容
[env]
VST3_SDK_DIR = { value = "vst3sdk", relative = true }
此crate还依赖于libclang
以解析SDK中的C++头文件。有关如何在各种平台上安装libclang
的信息,请参阅bindgen
用户指南;有关控制vst3
crate如何搜索libclang
的信息,请参阅clang-sys
文档。需要6.0或更高版本的libclang
。
许可
该项目在MIT许可证和Apache许可证(版本2.0)的条款下分发。接受以相同条款的贡献。
依赖
~0–650KB