A library for reading and writing LV2's Atom type system, used by rust-lv2
, a safe, fast, and ergonomic framework to create LV2 plugins for audio processing, written in Rust.
LV2 has it's own type system to make data exchange between plugins as versatile and portable as possible. Basic integer and float types are supported as well as vectors, event sequences, and URID->Atom maps.
The original LV2 API (in the C
programming language) is documented by "the LV2 book". This book is in the process of being translated to Rust along with the development of rust-lv2
(link) and describes how to properly use rust-lv2
.
Since the bindings to the raw C headers are generated with bindgen, you need to have Clang installed on your system and, if it isn't in your system's standard path, set the environment variable LIBCLANG_PATH
to the path of libClang
.
Like any other crate of rust-lv2
, this crate has the optional host
feature. Some of the types defined by some crates are only useful for testing or LV2 hosts. Since the goal of this framework is to provide an easy way to create plugins, these aren't necessary and therefore gated behind that feature.
Licensed under either of
at your option.