1个不稳定版本
使用旧的Rust 2015
0.0.1 | 2016年9月7日 |
---|
10 in #vst
125KB
2K SLoC
rust-vst2
一个帮助在Rust中创建VST插件的库。
这个库还在开发中,因此尚未实现所有操作码。它可以创建没有编辑器界面的基本VST插件。
请注意:此API可能会迅速变化,并且此库的状态不是最终的。
库文档
待办事项
用法
要创建一个插件,只需创建一个实现了 plugin::Plugin
和 std::default::Default
的类型的实例。然后调用宏 plugin_main!
,它将导出必要的函数并处理API的其余部分。
示例插件
一个没有任何功能的简单插件。提供的Cargo.toml有一个crate-type指令,它会构建一个动态库,可以被任何VST宿主程序使用。
src/lib.rs
#[macro_use]
extern crate vst2;
use vst2::plugin::{Info, Plugin};
#[derive(Default)]
struct BasicPlugin;
impl Plugin for BasicPlugin {
fn get_info(&self) -> Info {
Info {
name: "Basic Plugin".to_string(),
unique_id: 1357, // Used by hosts to differentiate between plugins.
..Default::default()
}
}
}
plugin_main!(BasicPlugin); // Important!
Cargo.toml
[package]
name = "basic_vst"
version = "0.0.1"
authors = ["Author <[email protected]>"]
[dependencies]
vst2 = "0.0.1"
[lib]
name = "basicvst"
crate-type = ["dylib"]
依赖关系
~0.6–1MB
~17K SLoC