feat: repeat arrangement phrases with bounded atomic pattern copies

This commit is contained in:
Johannes Findeisen 2026-11-06 00:15:42 +01:00
commit ea9789b188
10 changed files with 70 additions and 4 deletions

View file

@ -15,3 +15,7 @@ Use Left/Right in the sequencer (or Edit/Nudge selection) to move the selected p
## Phase 49
Ctrl+C/Ctrl+V in the sequencer, or Edit/Copy clips and Paste clips at cursor, copy/paste the selection. Earliest clip lands on the cursor. The earliest source track maps to the currently selected destination track; intervening track spacing is retained. All required tracks must already exist and must not be buses. Instruments, automation and media bytes are not copied. The clipboard survives document changes within the window but is not the OS clipboard.
## Phase 50
Edit/Repeat selected phrase asks for 1..1024 additional copies. The bounding span includes gaps and overlaps; copies remain on their original tracks. The entire repeat is one undo step. Clip/note capacity and timeline endpoints can limit the requested count.

View file

@ -1363,12 +1363,12 @@ Implemented: independent control-thread clipboard snapshots, fresh-ID paste at t
Repeat a selected phrase by its complete bounding span with bounded copy counts and all-or-nothing capacity validation.
### Tasks and acceptance criteria
- [ ] Provide the control/model behavior and accessible GUI commands.
- [ ] Validate bounds and failure rollback; preserve existing project compatibility and callback safety.
- [ ] Test the new workflow and document scope and limitations.
- [x] Provide the control/model behavior and accessible GUI commands.
- [x] Validate bounds and failure rollback; preserve existing project compatibility and callback safety.
- [x] Test the new workflow and document scope and limitations.
### Implementation status
Planned.
Implemented: bounded phrase repeat uses the complete selected bounding span, including gaps, with fresh clip/note IDs and atomic capacity/range validation. Core repeat/capacity tests and focused GUI phrase workflows pass.
---