Skip to main content

Crate midi_controller

Crate midi_controller 

Source

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 renderer: spatial patterns + temporal modifiers.
long_press
Long-press detection: distinguishes short press from long press using timestamps.
property_exchange
Minimal MIDI-CI Property Exchange (PE) framing.
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.