sim_lib_sound_bridge/lib.rs
1//! MIDI-to-sound bridging for the SIM music constellation.
2//!
3//! This crate connects the MIDI surface to the sound layer. The
4//! [`MidiToSoundBridge`] consumes MIDI events and produces [`ScheduledTone`]s,
5//! resolving programs through a [`TimbreBank`], pitches through a tuning, and
6//! polyphony through a [`VoicePool`]. [`BridgeOptions`] and
7//! [`BridgeChannelState`] configure and track per-channel behavior, and a
8//! runtime surface installs the bridge cards as a SIM lib.
9#![forbid(unsafe_code)]
10#![deny(missing_docs)]
11
12mod bank;
13mod bridge;
14mod error;
15mod pool;
16mod runtime;
17
18pub use bank::*;
19pub use bridge::*;
20pub use error::*;
21pub use pool::*;
22pub use runtime::*;
23
24/// Cookbook recipes for this lib, embedded at build time.
25pub static RECIPES: sim_cookbook::EmbeddedDir =
26 include!(concat!(env!("OUT_DIR"), "/cookbook_recipes.rs"));
27
28#[cfg(test)]
29mod tests;