Docs: record cross-rate playback; finish SEPT_VERIFY sample-rate checks
This commit is contained in:
@@ -1811,3 +1811,25 @@ Windows window class, so side-by-side installs could run the wrong channel's cod
|
||||
each channel now registers its own class. Mechanism detail: `src/core/ui/CLAUDE.md`
|
||||
(`window_origin`) and `src/shell/actions/drag_out_win.h`. Not DAW-verified — checks
|
||||
are tracked in `docs/SEPT_VERIFY.md` §4.
|
||||
|
||||
### Cross-rate playback: ReaSampler 9000 plays any file rate at its own pitch and length
|
||||
|
||||
ReaSampler 9000 now plays a sample whose file rate differs from the project rate at its
|
||||
correct pitch and wall-clock length — previously, e.g., a 44.1 kHz file in a 48 kHz project
|
||||
played about 1.47 semitones sharp and short. The fix folds a file-rate/host-rate factor
|
||||
into the read once per note rather than resampling at load; envelope stage times, the
|
||||
filter, the loop crossfade, the Preserve (time-stretch) engine, and the bake all follow the
|
||||
same factor (`SampleData::sourceRateRatio`, `play_params.h`; mechanism detail lives in
|
||||
`src/core/instrument/CLAUDE.md`'s "Two frame domains" section, not restated here).
|
||||
Same-rate playback at Rate 100% is unchanged, pinned by hashes of pre-change renders.
|
||||
|
||||
Landed in the same merge: a Preserve splice-crossfade fix that also changes output at
|
||||
matched rate for high Rate settings (~200%+) — a down-splice previously read audio a prior
|
||||
splice had already overwritten; Daniel approved the change. A file more than 32x the
|
||||
project rate (`kMaxSourceRateRatio`, `play_params.h`) is refused: the ReaSampler 9000
|
||||
editor title shows "... -- <refusal text>, not played" (clearing once another sample loads
|
||||
or the project rate makes it supported), and a bake refuses with "cannot render: ...". A
|
||||
project sample-rate change while the plugin is inactive re-stamps in place rather than
|
||||
reloading from disk.
|
||||
|
||||
Not DAW-verified — checks are tracked in `docs/SEPT_VERIFY.md` §6.
|
||||
|
||||
+8
-2
@@ -74,7 +74,7 @@ project rate 48000, unless a check says otherwise.
|
||||
- [ ] Run stable and beta ReaSampler 9000 side by side and open both editors — each works normally,
|
||||
no crash
|
||||
|
||||
## 5. Live spline-envelope drags (in progress, Sept 2026)
|
||||
## 5. Live spline-envelope drags (landed Sept 2026)
|
||||
|
||||
- [ ] Set the amp envelope to Spline, hold a note, and drag a knot — the sound audibly follows the
|
||||
shape change during the drag itself
|
||||
@@ -90,7 +90,7 @@ project rate 48000, unless a check says otherwise.
|
||||
- [ ] With a note held, add a new point to the spline — audible immediately
|
||||
- [ ] With a note held, delete a point from the spline — audible immediately
|
||||
|
||||
## 6. Sample-rate playback (in progress, Sept 2026)
|
||||
## 6. Sample-rate playback (landed Sept 2026)
|
||||
|
||||
- [ ] In a 48 kHz project, import a 44.1 kHz file via the Media Explorer into ReaSampler 9000; play
|
||||
its root note — same pitch and length as the file auditioned in the Media Explorer. Repeat in
|
||||
@@ -105,3 +105,9 @@ project rate 48000, unless a check says otherwise.
|
||||
- [ ] Existing projects that used mismatched-rate samples WILL sound different now (correct pitch)
|
||||
— reopen one and confirm it's the expected change
|
||||
- [ ] Same-rate samples sound exactly as before
|
||||
- [ ] In Preserve mode at matched rate, set Rate to ~200% — sounds clean (this changed with the
|
||||
splice-crossfade fix; confirm it's an improvement, not a regression)
|
||||
- [ ] Load a file more than 32x the project rate (e.g. a 384 kHz file in an 11.025 kHz project, if
|
||||
one is available) — the editor title shows the refusal message, the sample plays silent, the
|
||||
message clears when another sample is loaded, and a bake shows "cannot render"
|
||||
- [ ] The refusal text is not truncated at the default editor width
|
||||
|
||||
Reference in New Issue
Block a user