Skip to main content

Crate midi_controller

Crate midi_controller 

Source

Re-exports§

pub use config::DefaultConfig;
pub use config::DefaultPreset;
pub use controller::DefaultController;
pub use state::DefaultPresetState;
pub use state::DefaultPresetStateStore;

Modules§

action
Action executor: converts preset button actions into raw MIDI bytes.
config
Pedalboard configuration types shared between CLI and firmware.
controller
Unified controller: single entry point for all input processing.
encoder_accel
Encoder acceleration: converts time intervals between detents into step multipliers.
engine
Preset engine: processes abstract input events against preset config. Pure business logic — no hardware dependencies.
led
LED ring rendering — re-exported from the led-ring crate.
long_press
Long-press detection: distinguishes short press from long press using timestamps.
property_exchange
Minimal MIDI-CI Property Exchange (PE) framing.
routing
MIDI routing types: port bitmask and tagged output messages.
state
Per-preset runtime state: tracks toggle/cycle/encoder state per preset and generates recall MIDI on preset switch.
tap_tempo
Tap tempo state machine: computes BPM from press intervals.