truce-rack-lv2 1.1.4

LV2 host implementation for the truce-rack audio-plugin framework
Documentation

truce-rack-lv2

crates.io docs.rs

LV2 host implementation for the truce-rack audio plugin framework. Built on lilv-sys (host-side LV2 discovery / state library). Implements scan, load, audio + MIDI atom-sequence processing, and the LV2 UI extension (CocoaUI on macOS, WindowsUI on Windows, X11UI on Linux) behind the format-agnostic truce-rack-core traits.

Host transport from ProcessContext::transport is injected as a time:Position object atom (speed, frame, BPM, beats-per-bar, beat unit, bar, and bar-beat) at the head of the input atom sequence each block.

System dependency

lilv-sys links against the system lilv-0 library:

  • macOS: brew install lilv
  • Debian/Ubuntu: apt install liblilv-dev

Without it, cargo build -p truce-rack-lv2 fails at link time.

Usage

[dependencies]
truce-rack-core = "1.0"
truce-rack-lv2 = "1.0"
use truce_rack_core::scanner::PluginScanner;
use truce_rack_lv2::Lv2Scanner;

let plugins = Lv2Scanner::new().scan()?;
for info in &plugins {
    println!("{info}");
}

See also

The truce-rack workspace ships sibling wrapper crates for CLAP, VST3, AU v2, AU v3, plus a standalone runner.

License

MIT or Apache-2.0, at your option.