aether_midi/lib.rs
1//! Aether MIDI Engine
2//!
3//! Handles MIDI input from any connected keyboard or controller.
4//! Converts raw MIDI bytes into typed MidiEvent messages.
5//! Routes events to registered instruments via a lock-free channel.
6//!
7//! Supports:
8//! - Note On / Note Off with velocity
9//! - Pitch Bend (±2 semitones by default, configurable)
10//! - Aftertouch (channel and polyphonic)
11//! - Control Change (CC) — mod wheel, sustain pedal, expression, etc.
12//! - Program Change
13//! - Custom tuning tables (for non-Western instruments)
14
15pub mod engine;
16pub mod event;
17pub mod router;
18pub mod tuning;
19
20pub use engine::MidiEngine;
21pub use event::{MidiEvent, MidiEventKind};
22pub use router::MidiRouter;
23pub use tuning::TuningTable;