Skip to main content

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;