feat: select audible sample boundaries with threshold and padding controls

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

View file

@ -41,3 +41,7 @@ Sample fades offers four offline curves: linear in/out and equal-power in/out (s
## Phase 76
Gain / normalize processes only selected samples. Mode 0 accepts linear gain 0..16; mode 1 accepts a linear peak target above 0 and at most 1, rejecting silent selections or required gain above 16. Finite values above unity are not clipped; float overflow rejects atomically. This changes sample data in the local snapshot, unlike the existing clip-gain normalization command; it provides neither true-peak nor LUFS processing.
## Phase 77
Select audible bounds finds the first and last sample strictly above the chosen dBFS threshold and pads within the existing selection. It only changes selection; use Trim clip to selection to apply a nondestructive timeline trim, or export the selection. Entirely silent/below-threshold ranges leave selection unchanged. This is boundary detection, not automatic removal of internal gaps or a noise gate.

View file

@ -1807,12 +1807,12 @@ Implemented: selected sample gain (0..16) and peak normalization (target >0..1,
Find audible selected-range bounds using a user threshold and padding; select detected bounds for export or nondestructive clip trimming. Silence is an explicit no-result error.
### Tasks and acceptance criteria
- [ ] Implement bounded C99 analysis/processing and accessible FLTK controls.
- [ ] Preserve source files, atomic error handling, history and callback safety.
- [ ] Pass meaningful core and GUI checks; document exact behavior and limits.
- [x] Implement bounded C99 analysis/processing and accessible FLTK controls.
- [x] Preserve source files, atomic error handling, history and callback safety.
- [x] Pass meaningful core and GUI checks; document exact behavior and limits.
### Implementation status
Planned.
Implemented: threshold-based audible-range detection with bounded padding and atomic selection updates. Exact threshold/padding, silent no-result, NaN and GUI unchanged/successful selection checks pass.
---