tympan_ladspa/lib.rs
1//! A safe Rust framework for writing LADSPA plugins.
2//!
3//! Implementation is in progress. The public API surface described in
4//! [`docs/architecture.md`](https://github.com/penta2himajin/tympan-ladspa/blob/main/docs/architecture.md)
5//! is assembled bottom-up:
6//!
7//! - [`raw`] — low-level FFI mirroring `ladspa.h`.
8//! - [`realtime`] — primitives safe to call from the host's realtime
9//! audio thread.
10//! - [`port`] — port descriptors, hints, and runtime port access.
11//! - [`Plugin`] — the user-facing trait. Implementations declare
12//! metadata, port shape, and lifecycle methods; the framework
13//! handles the C ABI.
14//! - [`plugin_entry!`] — exposes a `Plugin` impl as the LADSPA
15//! `ladspa_descriptor` shared-object entry point.
16//!
17//! See `docs/decisions/` for the architectural decisions that
18//! constrain this crate.
19
20pub mod descriptor;
21pub mod entry;
22pub mod error;
23mod macros;
24pub mod plugin;
25pub mod port;
26pub mod raw;
27pub mod realtime;
28
29pub use error::InstantiateError;
30pub use plugin::Plugin;