3个版本

0.1.2 2024年4月30日
0.1.1 2024年1月10日
0.1.0 2023年8月7日

音频中排名#252

MIT/Apache

56KB
803

vst3-rs

Cargo Docs

vst3crate为VST 3 API提供Rust绑定,由原始C++头文件生成。提供从Rust操作COM对象和实现COM接口的抽象。然而,这些绑定是不安全的,并没有尝试对VST 3 API本身进行抽象。

由于许可原因,vst3crate不包含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用户指南;有关控制vst3crate如何搜索libclang的信息,请参阅clang-sys文档。需要6.0或更高版本的libclang

许可

该项目在MIT许可证和Apache许可证(版本2.0)的条款下分发。接受以相同条款的贡献。

依赖

~0–650KB