github.com/Janonard/rust-lv2

A safe, fast, and ergonomic framework to create LV2 plugins, written in Rust

Open this visualization on its own page →

Contributors

13

Lines of Code

2,422

From

2019-04-25

To

2021-02-13

About Janonard/rust-lv2

Rust-LV2 is a framework for creating LV2 audio plugins in Rust, providing a safe and ergonomic approach to plugin development. LV2 is a standard plugin format used by major digital audio workstations like Ardour and Carla. The framework handles the boilerplate required to create working plugins while ensuring memory safety through Rust's type system and enabling real-time, allocation-free audio processing.

The project is organized as a collection of modular sub-crates implementing different LV2 specifications and features. Core functionality includes support for any number of audio ports with flexible channel mapping (mono, stereo, surround, etc.), MIDI processing, state management, work scheduling for asynchronous tasks, and custom data serialization. Plugin-GUI communication and custom graphical interfaces are planned but not yet implemented. The framework currently focuses exclusively on plugin creation; hosting capabilities are not supported but may be addressed in future work.

Rust-LV2 targets multiple platforms through pregenerated C API bindings, with Tier 1 support for 64-bit and 32-bit Linux systems and Tier 2 support for ARM architectures and Windows. The project is licensed under either Apache 2.0 or MIT licenses and includes comprehensive documentation through an online book, API reference, and the official LV2 specification reference.

Share this video