| Crates.io | lv2_raw |
| lib.rs | lv2_raw |
| version | 0.3.0 |
| created_at | 2017-01-13 08:03:20.768543+00 |
| updated_at | 2025-09-17 01:01:01.033229+00 |
| description | Exposes the raw LV2 interface (C) to Rust. Also attempts to implement some idiomatic Rust concepts (e.g. iterators). |
| homepage | https://github.com/mlm-games/lv2_raw |
| repository | https://github.com/mlm-games/lv2_raw |
| max_upload_size | |
| id | 8039 |
| size | 75,217 |
This crate provides low-level, unsafe FFI bindings for the LV2 audio plugin C-API.
It is designed to be a direct, one-to-one translation of the C interface, intended for developers who need raw access to the LV2 ABI. This includes #[repr(C)] structs, C-compatible function signatures, and re-implementations of C header helper functions.
Forked initially for fixing an error regarding a personal project, and now maintaining the crate,
Credits to podli for the original translation, all the credits below from the original readme still apply here,
LV2 docs: http://lv2plug.in/
The documentation of this crate is copied from the original C files, whose copyright holders include Steve Harris, Lars Luthman, Gabriel M. Beddingfield, David Robillard, Richard W.E. Furse, Paul Barton-Davis, Stefan Westerfeld, and possibly others.
The objective of this crate is to translate the C interface as closely as possible to Rust, declaring e.g.
[repr(C)] structsextern "C" fn declarations passed to the host in the LV2Descriptor structThe original (C language) LV2 package defines contains some "helper" functions, which are defined in C-headers, i.e. there is no compiled library file which this crate could link to. These functions are also declared and defined here. Let us know if you think that's not right. See also this question on stackoverflow.
The lv2 crate is one attempt to provide a more idiomatic Rust interface to LV2.
Roadmap: