Skip to main content

Crate truce_rack_lv2

Crate truce_rack_lv2 

Source
Expand description

LV2 host implementation for the truce-rack framework.

Built on lilv-sys — the Rust FFI for lilv, the standard LV2 host library. lilv handles URI resolution, TTL parsing, and the Turtle world load that LV2 demands; truce-rack-lv2 is the layer that turns those C-API queries into PluginInfo entries and drives lilv_plugin_instantiate / lilv_instance_run from the truce-rack-core trait surface.

§Status

  • Scan via lilv_world_load_all.
  • Load instantiates the plugin into a LilvInstance with the LV2 urid#map feature. Each plugin owns its own world (instance pointers reference world-owned data).
  • Process connects audio / control / atom-sequence ports per block and calls lilv_instance_run. Audio ports point straight at the host’s planes (zero-copy); control ports carry their declared default value; the MIDI input atom port is rebuilt each block from the truce-rack EventList.
  • MIDI in via atom sequence ports tagged midi:MidiEvent. MIDI out is not yet drained back to the truce-rack host.

§Build dependency

lilv-sys links against the system lilv-0 library. On macOS, brew install lilv. On Debian/Ubuntu, apt install liblilv-dev. Without those, cargo build -p truce-rack-lv2 will fail at link time.

Structs§

Lv2Plugin
One loaded LV2 plugin.
Lv2Scanner
LV2 scanner.

Constants§

FORMAT
Format identifier used on returned PluginInfo.