elemaudio_rs/
lib.rs

1//! Safe Rust bindings for the Elementary audio runtime.
2//!
3//! This crate exposes a small wrapper around the native runtime handle,
4//! JSON instruction batches, a Rust-native resource manager, and audio
5//! processing entrypoints.
6
7mod audio_ring_buffer;
8pub mod authoring;
9pub mod core;
10pub mod engine;
11mod error;
12mod ffi;
13pub mod graph;
14pub mod logging;
15mod resource;
16mod runtime;
17
18/// Lock-free audio transport for producer/consumer playback.
19pub use audio_ring_buffer::AudioRingBuffer;
20/// Authoring surface with node composition helpers.
21pub use authoring::{el, extra, mc};
22/// Core node utilities mirroring the upstream package surface.
23pub use core::{create_node, is_node, resolve, unpack, ElemNode};
24/// Generic DSP engine with auto-diffing parameter updates.
25pub use engine::{DspGraph, Engine, KeyedConst, NativeProp};
26/// Error types and helpers used by the public API.
27pub use error::{Error, Result};
28/// Rust-native graph primitives.
29pub use graph::{Graph, MountError, MountedGraph, MountedNode, Node};
30/// Rust-native resource registry and resource values.
31pub use resource::{AudioBuffer, Resource, ResourceId, ResourceManager};
32/// Instruction types and the runtime wrapper.
33pub use runtime::{Instruction, InstructionBatch, NodeId, Runtime};