feat: apply reversible boundary fades across audio clip selections

This commit is contained in:
Johannes Findeisen 2026-11-06 00:20:37 +01:00
commit 310b81ec4d
9 changed files with 47 additions and 7 deletions

View file

@ -39,3 +39,7 @@ Edit/MIDI tools/Correct to scale takes a root (0=C through 11=B) and chromatic,
## Phase 55
Edit/MIDI tools/Shape velocities scales from 0 to 400 percent, rounds, then applies an offset from -127 to 127. Results clamp to 1..127, keeping every note audible rather than introducing velocity-zero note-offs. Use 0 percent with a positive offset for a fixed velocity. No randomization is applied.
## Phase 56
Edit/Audio tools/Set boundary fades sets linear fade-in and fade-out lengths in ticks; 0 or Remove boundary fades clears them. Each fade must fit within half of every selected clip duration. Gain and source offsets stay unchanged. These are boundary envelopes, not overlap-aware crossfades, equal-power curves or destructive WAV processing.

View file

@ -1453,12 +1453,12 @@ Implemented: rounded velocity percentage and offset transforms with explicit 1..
Apply symmetric boundary fades or remove fades on selected audio clips, preserving clip gain, media and timing.
### 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: selection-wide symmetric boundary fade and remove-fade tools preserve gain, references and timing. Fade lengths must fit half every current clip duration; mixed MIDI selections reject atomically. Core late-failure/property tests, existing audio rendering tests and focused GUI fade workflows pass.
---