Device parser now reads the rmp<start>/<amt>/<every> and tr<play>/<mute> tokens it
previously ignored, and the firmware performs them:
- Tempo ramp: steps bpm by <amt> every <every> bars (resets to the start at each b<n>
segment boundary). Shows an amber ramp arrow + "+amt/everyb" (up/down by sign; no
starting bpm, per request).
- Gap trainer: cycles <play> audible bars then <mute> silent bars (no click/MIDI/LED;
playheads keep moving). Shows a play|rest symbol + "play/muteb".
- Practice log entries now record + show bars played.
Verified in the CPython harness: ramp 92->96->100->104->108 (+4 every 2 bars), gap
mute cycle play,play,mute,mute, and the on-screen ramp indicator renders.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>