Only note-on/off MIDI events seem to be processed in step entry mode, so we could use CCs (sustain/CC-64 specifically) for advantage in step entry to enter rests or to extend notes beyond their default length (that being the current quantize length).
How about utilizing a sustain-down event like this:
If no notes are held down, a sustain-down causes the step entry position to be advanced by one unit.
If note(s) are held down, a sustain-down causes the step entry position to be advanced by one unit, the notes get recorded in the new slot, and those notes get tied to the notes in the previous slot (i.e., the previous notes just get extended in length).
In either case, sustain-up is ignored and can occur at any time.
Trivial Example:
Quantize value is eighth note, quantize length value is eighth note, step entry position is at N.
We do:
Note-down-then-up, note-down-then-up, sustain-down, note-down-then-up
Here’s the result:
Starting at pos. N we have: eighth note, eighth note, eighth rest, eighth note.
More Complex Example:
Quantize value is quarter note, quantize length value is eighth note, step entry position is at N.
We do:
- Note down, note up.
- Sustain down.
- Note down, sustain down, note up.
Here’s the result:
Pos. N: eighth note, eighth rest
Pos N+1: quarter rest
Pos N+2 and N+3: dotted quarter note, eighth rest.