feat: navigate arrangement markers and loop named sections

This commit is contained in:
Johannes Findeisen 2026-11-06 00:31:08 +01:00
commit bd39eb1345
8 changed files with 71 additions and 5 deletions

View file

@ -6,3 +6,7 @@ prepared-plan workflow. No new dependencies are required.
## Phase 58 — Persistent Arrangement Markers
Edit/Markers/Set at cursor adds or renames a marker; Remove at cursor removes the exact tick key. Markers draw names and vertical guides in the arrangement and survive project save/load and undo. Up to 128 markers are supported. Names may overlap visually when markers are close; markers do not change playback by themselves.
## Phase 59 — Section Navigation and Looping
View/Previous marker and Next marker navigate without wrapping and stop playback before seeking. Loop current section uses the last marker at or before the cursor through its successor; the final section ends at the final clip endpoint. Empty final sections reject. Loop ranges remain existing UI preferences rather than marker metadata.

View file

@ -1512,12 +1512,12 @@ Implemented: sorted tick-keyed markers, bounded UTF-8 names, undoable GUI editin
Navigate previous/next markers and loop the section between a marker and its successor or the song end.
### Tasks and acceptance criteria
- [ ] Implement bounded C99 model/control APIs and accessible GUI commands.
- [ ] Preserve transactional errors, history, compatibility and callback safety.
- [ ] Verify the feature with automated model/GUI tests and document limitations.
- [x] Implement bounded C99 model/control APIs and accessible GUI commands.
- [x] Preserve transactional errors, history, compatibility and callback safety.
- [x] Verify the feature with automated model/GUI tests and document limitations.
### Implementation status
Planned.
Implemented: strict previous/next navigation and section queries, exposed through View commands. Navigation stops playback safely; section looping shares existing loop controls. Core boundaries/final-section and GUI navigation/loop tests pass.
---