Added velocity to tracks in the sequencer.

This commit is contained in:
Johannes Findeisen 2026-11-06 21:00:20 +01:00
commit b46d4f09bb
13 changed files with 873 additions and 19 deletions

View file

@ -3575,6 +3575,43 @@ qualification.
---
## Phase 109 — Expandable Track Velocity Lanes
### Goal
Expand arrangement tracks downward with a small disclosure arrow and edit MIDI
note velocities directly below their clips. This user-requested GUI increment
uses the existing C note-editing, persistence and history contracts.
### Tasks and acceptance criteria
- [x] Add a small arrow beside each track name; independently expand/collapse
tracks downward and reposition following clips and instrument selectors.
- [x] Draw velocity bars for visible note starts in each track's MIDI clips,
respecting clip offsets, timeline zoom and scrolling.
- [x] Drag a bar's cap vertically to preview and commit velocity (1–127), preserving
note timing, pitch and channel; Escape cancels and undo/redo restores edits.
- [x] Preserve expansion by track ID through reordering and ordinary edits;
reset it on project replacement. Expansion is temporary GUI state.
- [x] Verify real FLTK arrow gestures, lane edits, coincident notes, cancellation,
undo/redo, shifted clip selection and track reordering in GUI integration tests.
- [x] Update README guidance and capture actual expanded and compact sequencer
screenshots; regenerate the promotional overview.
### Implementation status
Implemented on 2026-11-06 in the FLTK sequencer using the existing C API; no
engine or project-format changes. Audio-only tracks and buses can expand but
have no MIDI note bars. Notes beginning before a trimmed clip's visible source
range are omitted. Coincident notes with different velocities can be selected
by their caps; fully overlapping caps select one note, with individual editing
still available in the piano roll. Track expansion is not saved in projects.
Validation: warning-enabled CMake build, CTest GUI integration and offline
checks, plus rendered screenshot inspection. See [the gallery](../screenshots/README.md).
---
## Recommended Execution Order
Reorder the phases when the audit reveals a blocking dependency. Do not mark a