From d22def7c1321de85e2709412ac5040bd72c8a351 Mon Sep 17 00:00:00 2001 From: daniel-c-harvey Date: Fri, 25 Sep 2026 14:16:59 -0400 Subject: [PATCH] Docs: record plugin-editor drop; update SEPT_VERIFY plugin-drop checks --- docs/COMPLETED.md | 18 ++++++++++++++++++ docs/SEPT_VERIFY.md | 11 ++++++++--- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/docs/COMPLETED.md b/docs/COMPLETED.md index 3c30c57..5537745 100644 --- a/docs/COMPLETED.md +++ b/docs/COMPLETED.md @@ -1793,3 +1793,21 @@ in the same block as a note-on failed to reach the already-held, sounding voices voices (`VoiceEngine::startVoice` now calls `applyLiveToActive()`); and the amp spline's read is clamped to `[0,1]` to absorb a swap-step overshoot from the smoother. Not DAW-verified — checks are tracked in `docs/SEPT_VERIFY.md` §5. + +### Plugin-editor drop hand-off + +Dragging a bank card onto a third-party plugin's own editor window (e.g. Serum 2's +oscillator) now hands the file to Windows as an ordinary OS file drop, so the plugin +loads it — the same outcome as dragging the file in from Explorer. REAPER's other +surfaces keep their existing outcomes: dropping on the FX chain list or FX window +chrome still loads ReaSampler 9000, and TCP/MCP/arrange are unchanged. ReaSampler +9000's own editor is exempted from the hand-off (`WindowFacts::ownModule`, a basename +match against the channel's own `.vst3`) — a drop on it still loads the instrument. +The OS hand-off is reversible mid-drag: moving back over REAPER (including after +leaving REAPER for Explorer) hands the drag back to the panel's own drop behavior. +Stock REAPER plugins (ReaEQ etc.) now count as plugin editors for this purpose. Landed +in the same merge: stable and beta ReaSampler 9000 editors previously shared one +Windows window class, so side-by-side installs could run the wrong channel's code — +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. diff --git a/docs/SEPT_VERIFY.md b/docs/SEPT_VERIFY.md index 127b54e..806f0ae 100644 --- a/docs/SEPT_VERIFY.md +++ b/docs/SEPT_VERIFY.md @@ -51,7 +51,7 @@ project rate 48000, unless a check says otherwise. - [ ] 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) +## 4. Drag a card into a plugin's editor (landed Sept 2026) - [ ] Drop a bank card on Serum 2's oscillator in its floating FX editor window — Serum loads the sample @@ -65,9 +65,14 @@ project rate 48000, unless a check says otherwise. 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 an already-open ReaSampler 9000 editor — it loads ReaSampler 9000 onto the + track (no banner, no OS drop) - [ ] Drop a card onto ReaEQ's editor — shows a no-drop cursor, nothing loads +- [ ] Drop a card onto a plugin editor that doesn't accept files (e.g. a compressor) — note whether + it is refused (no-drop cursor, nothing loads) or lands in REAPER's own file import; either outcome + is accepted, but record which one actually happens +- [ ] 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)