Expand description
Dependency-free utilities shared across the truce workspace.
Three unrelated families of helpers live here so neither has to pull in a heavier crate’s transitive chain:
cast— numeric-cast helpers for the audio-plugin → host FFI boundary (MIDI byte encodes,usize↔u32length casts, hostf64↔ DSPf32, discrete-index ↔ normalized).shell_sidecar— sidecar-file path resolution shared bycargo-truce(writes the sidecar at install-time) and thetruce::plugin!macro (reads it at runtime to locate the logic dylib for hot-reload).slugify— ASCII-safe filesystem / IRI slug used by the LV2 staging path and runtime bundle-name derivation.
truce-core re-exports the cast module and slugify for
backwards compatibility with workspace call sites that already
import truce_core::cast::* and truce_core::slugify. Crates that
want to avoid truce-core’s truce-params chain (notably
cargo-truce) depend on truce-utils directly.
Modules§
- cast
- Numeric-cast helpers for the audio-plugin → host FFI boundary.
- shell_
sidecar - Sidecar file that pins the
--shelllogic dylib path at install time.
Functions§
- slugify
- Slug a plugin’s display name into a lowercase, hyphenated, ASCII-safe identifier suitable for filesystem paths, LV2 bundle names, and IRI components.