RoundRobin
File: Rhapsodist/Processors/RoundRobin.js.
Overview
A multi-mode round robin engine:
Group mode (advances the sampler’s active RR group)
Velocity mode (offsets/remaps outgoing velocity by RR step)
Borrowed mode (randomised, non-repeating neighbour-note borrowing via transpose + detune).
Modes can be combined, and it can also work as a plain group filter - useful when RR is needed for some articulations and a single group for others.
It resolves the first sampler in the tree automatically and disables that sampler’s own built-in round robin.
Parameters
| ID | Description |
|---|---|
Mute | Disables the processor; no RR action is taken while on. |
Group / Velocity / Borrowed | Three separate mode buttons. Enables one or more RR modes at once. |
Random | Random step order instead of sequential (Group/Velocity modes). |
Count | Number of variations (Group/Velocity modes), 0–30. |
FirstGroup | Starting sampler group for this articulation (Group mode), 1–50. |
Lock | Bypasses the engine and plays only the selected repetition, 0–20 (0 = unlocked). |
ResetTm | Resets the RR counter after this much idle time, 0–5 seconds, if greater than 0. |
Release | Advances the RR counter on note-off instead of note-on. |
IgnoreLegato | Legato transitions don’t advance the RR counter. |
PerNoteRR | Each note number tracks its own RR step counter, instead of one shared counter. |
VelocityOffset | Velocity mode: enable if a velocity offset was already applied earlier in the chain. |
VelocitySpread | Velocity mode: spread round robins evenly across the velocity range instead of offsetting. |
Usage
Load into a sampler’s MIDI Processor chain (exact position depends on the RR method used and what else is in the chain), enable one or more of Group/Velocity/Borrowed, and configure the matching options.
Internal Reference
| Function | Description | Returns |
|---|---|---|
doRoundRobin(note, velocity) | The core engine: resolves the current RR step (honouring reset-on-idle and Lock), applies whichever of Group/Velocity/Borrowed modes are enabled, and advances the step counter for the next hit. Called from onNoteOn or onNoteOff depending on Release. | — |