From 5151cb41dcd6216579e82ef41574b9eecb37b903 Mon Sep 17 00:00:00 2001 From: daniel-c-harvey Date: Fri, 25 Sep 2026 13:45:33 -0400 Subject: [PATCH] Docs: add SEPT_VERIFY.md, the DAW checklist for Aug-Sept work --- docs/SEPT_VERIFY.md | 102 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 docs/SEPT_VERIFY.md diff --git a/docs/SEPT_VERIFY.md b/docs/SEPT_VERIFY.md new file mode 100644 index 0000000..127b54e --- /dev/null +++ b/docs/SEPT_VERIFY.md @@ -0,0 +1,102 @@ +# September DAW verification — new work not yet hand-tested + +Checks for work landed or in progress since the last `VERIFICATION.md` pass that no unit test can +close. Build **Release**, install into `UserPlugins/`, restart REAPER. Panel tail toggle = **None**, +project rate 48000, unless a check says otherwise. + +## 1. Instrument control-surface pass (landed Aug 3, 2026) + +- [ ] Play notes and watch the ReaSampler 9000 editor's master meter — it redraws smoothly (~60 fps) +- [ ] Load a heavy project (several other plugins, high track count) and watch the meter again under + that load — still smooth, no visible stutter +- [ ] Click the single-button "Envelope" toggle on a deck — cycles on/off cleanly; confirm its + disabled-state look when the deck it governs isn't applicable +- [ ] Same check for the "Filter" toggle +- [ ] Same check for the "Limiter" toggle +- [ ] Same check for the "Stage"/"Spline" toggle (the envelope mode selector — one button reading + either "Stage" or "Spline") +- [ ] Click anywhere on an envelope deck's control section (not just a knob) — that envelope becomes + selected for editing on the waveform overlay +- [ ] Switch the instrument to Trigger mode — the loop markers and their caption disappear from the + waveform entirely +- [ ] Switch to Gate mode with looping off — the loop markers still show, greyed out, and are still + grabbable +- [ ] Zoom in on a loop marker and drag it near a zero crossing — it snaps only within a small pixel + radius of the crossing, not from anywhere on the waveform +- [ ] Hold Ctrl while dragging a marker near a zero crossing — snapping is disabled for that drag + +## 2. Bank panel additions (Aug 3) + +- [ ] With a track selected and a bank card focused, click "Insert as FX" — ReaSampler 9000 loads on + that track with the focused sample already loaded +- [ ] Open the panel's top-toolbar "⋯" overflow menu — Re-capture and Insert Conform are both there + and both work +- [ ] Drag a bank card over the arrange view — the cursor shows a crosshair cue while over a valid + arrange-insert target + +## 3. Design View FX parking (Aug 21) + +- [ ] Trigger a mode switch that parks/restores FX on a heavy chain, and watch the docked bank + panel while the reclaimer drains: the cursor goes busy over the panel and the footer reads + "parking FX" / "restoring FX" appropriately. If the cursor never changes, note it — REAPER may not + route `WM_SETCURSOR` to the docked panel at all (`src/shell/panel/CLAUDE.md` Gotchas) +- [ ] Native drag-reorder a parked track's FX chain, switch modes, and confirm each plugin's state + restores to the SAME plugin it came from (not swapped by slot) +- [ ] Do the same reorder via an SWS move command +- [ ] Save the project after a reorder, reopen, then switch modes — restore still keys to the right + plugin +- [ ] Reorder a chain holding two copies of the same plugin — each copy's state restores to itself, + not swapped with its twin + (`docs/TODO.md` §"FX-GUID stability for the park's restore is unverified in the DAW") +- [ ] For mode-switching itself (solo-set restore, transport refusal, persistence, undo point count, + etc.) — see `docs/VERIFICATION.md` §"Mode switching"; not repeated here + +## 4. Drag a card into a plugin's editor (in progress, Sept 2026) + +- [ ] Drop a bank card on Serum 2's oscillator in its floating FX editor window — Serum loads the + sample +- [ ] Drop a bank card on Serum 2's oscillator from the FX chain window — same, Serum loads the + sample +- [ ] Drop a bank card on the FX chain list or window chrome (not the oscillator) — ReaSampler 9000 + loads as before, unchanged +- [ ] Drop a bank card on the TCP, MCP, or arrange — unchanged from current behavior +- [ ] Start a drag over a plugin editor, then move back over the arrange mid-drag — the drag reverts + to the panel's own drop behavior (may only visibly update on the next key press or mouse-button + change) +- [ ] Drag a card out to Windows Explorer and back into REAPER — control hands back to the panel's + own drag correctly +- [ ] Drop a card onto an already-open ReaSampler 9000 editor — it shows its "drop on the panel" + banner and does NOT spawn a second instance +- [ ] Drop a card onto ReaEQ's editor — shows a no-drop cursor, nothing loads + +## 5. Live spline-envelope drags (in progress, 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 +- [ ] Same check for the pitch envelope +- [ ] Same check for the filter envelope +- [ ] After dragging a knot, trigger a new note — it uses the dragged shape +- [ ] Listen closely during a fast drag for any audible glitch beyond what an ordinary knob move + would cause (clicks, zippering) +- [ ] Drag a knot on a held note and listen for an audible pitch/amp/filter glide as it moves, not a + stepped jump +- [ ] Release a dragged knot — commits exactly as before: one undo point, and reopening the project + keeps the dragged shape +- [ ] 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) + +- [ ] 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 + Preserve mode. +- [ ] Same with a 96 kHz file in a 44.1 kHz project +- [ ] Envelope attack times, loop (a single-cycle loop holds its pitch; loop crossfade length) and + filter cutoff sound the same as on a same-rate copy of the file +- [ ] Bake a mismatched-rate sample — the baked result has the same pitch and length as what you + heard +- [ ] Change the project sample rate with ReaSampler 9000 loaded (and with it inactive/bypassed, + then re-enabled) — the sample still plays at correct pitch afterwards +- [ ] 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