truce-rack-lv2 0.9.0

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

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.