feat: humanize MIDI timing and dynamics with reproducible seeded edits

This commit is contained in:
Johannes Findeisen 2026-11-06 00:39:19 +01:00
commit d034417c8c
9 changed files with 51 additions and 7 deletions

View file

@ -1587,12 +1587,12 @@ Implemented: transactional consolidation of selected same-track MIDI clips into
Apply seeded timing and velocity variation to MIDI clip sources with reproducible results, bounds checks and undo.
### 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: seeded note-ID keyed timing/velocity humanization, independent of selection order. Timing overflow rejects atomically; velocity saturates to MIDI bounds. Core reproducibility/range/rollback and GUI undo tests pass.
---