|
Operator SDK
Build MIDI processing and UI modes for the Operator device
|
Musical subdivision helpers + clock interpolation (opt-in, header-only). More...
Classes | |
| class | op::sdk::ClockInterpolator |
| Converts the firmware's integer 24 PPQ pulse counter into a smooth fractional position by interpolating between pulse edges. More... | |
| struct | op::sdk::ClockInterpolator::Position |
| Interpolated clock position. More... | |
| class | op::sdk::StepTracker |
| Tells a mode when the clock has carried it into a new step. More... | |
Namespaces | |
| namespace | op |
| Root namespace for the Operator SDK. | |
| namespace | op::sdk::timing |
| Musical subdivision constants and clock/timing helpers. | |
| namespace | op::sdk |
| Core SDK helpers for modes (timing, text, MIDI, and math). | |
Enumerations | |
| enum class | op::sdk::StepEdge : uint8_t { op::sdk::Unchanged , op::sdk::Adopted , op::sdk::Crossed } |
| What a step observation means. More... | |
Functions | |
| uint32_t | op::sdk::timing::beats_to_ticks (float beats, uint32_t bpm) |
| Convert musical beats at a given tempo into microseconds. | |
| uint32_t | op::sdk::timing::subdivision_us (uint8_t subdiv, uint32_t bpm) |
| Microseconds per single subdivision at the given tempo. | |
| uint32_t | op::sdk::timing::quantize_to_grid (uint32_t tick_us, uint32_t subdiv_us) |
| Round a tick value down to the nearest grid boundary. | |
| int32_t | op::sdk::timing::swing_offset (uint32_t tick_us, uint8_t swing_percent, uint32_t subdiv_us) |
| Microsecond offset to apply to "every other" subdivision to create swing feel. | |
Musical subdivision helpers + clock interpolation (opt-in, header-only).
Three groups of facilities live here:
Include on demand. This header is deliberately not pulled in by operator_sdk.h.