Skip to content

Binding generator for the VST 3 API

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

coupler-rs/vst3-rs

Repository files navigation

vst3-rs

Cargo Docs

The vst3 crate provides Rust bindings for the VST 3 API, generated from the original C++ headers. Abstractions are provided for manipulating COM objects and implementing COM interfaces from Rust. Beyond that, however, these bindings are unsafe, and no attempt is made to abstract over the VST 3 API itself.

For licensing reasons, the vst3 crate does not contain a copy of the VST 3 SDK itself. Instead, users of this crate must separately obtain a copy of the SDK and specify its path via the VST3_SDK_DIR environment variable.

Usage

First, add vst3 as a dependency to your Cargo.toml:

[dependencies]
vst3 = "0.1.0"

Then, download the VST 3 SDK:

git clone --recursive https://github.com/steinbergmedia/vst3sdk.git

Alternatively, you can download the SDK here and unzip it.

Finally, set the VST3_SDK_DIR environment variable to the path of the SDK directory (the directory just above pluginterfaces).

It can be convenient to include the VST 3 interface headers in your project repository. If the pluginterfaces directory is located at vst3sdk/pluginterfaces/ relative to your Cargo workspace root, you can include the following in a .cargo/config.toml file (also relative to your workspace root):

[env]
VST3_SDK_DIR = { value = "vst3sdk", relative = true }

This crate also depends on libclang for parsing the C++ header files in the SDK. For information on how to install libclang for various platforms, see the bindgen user guide; for information on controlling how the vst3 crate searches for libclang, see the clang-sys documentation. libclang version 6.0 or later is required.

License

This project is distributed under the terms of both the MIT license and the Apache license, version 2.0. Contributions are accepted under the same terms.

About

Binding generator for the VST 3 API

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages