daniel
599d525e06
Docs: record live spline-envelope drags; file two follow-ups in TODO.md
2026-09-25 14:04:35 -04:00
daniel
3ecbdb26e2
Merge live spline-envelope drags: held and new notes follow a dragged knot
2026-09-25 14:02:23 -04:00
daniel
4567744b8f
Fix spline-drag rollback, bake contour leak, held-note live miss, amp clamp
...
Editor close mid-drag now rolls back published contours like capture-loss does; bake detaches liveContours so a printed capture can't observe a live drag; a held note now receives a live publish that lands in the same block as a note-on; amp spline read clamped to [0,1].
2026-09-25 13:59:37 -04:00
daniel
550a0a86e4
Docs: record Phase Omega's landed work in COMPLETED.md, trim it from PLAN.md
2026-09-25 13:46:10 -04:00
daniel
5151cb41dc
Docs: add SEPT_VERIFY.md, the DAW checklist for Aug-Sept work
2026-09-25 13:45:33 -04:00
daniel
f7505d0e53
Make spline EG drags audible live: held and new notes follow a dragged knot
...
Contours ride their own seqlock block into a double-buffered engine copy, and the swap step is smoothed. Each drag move publishes contours without a model write; release still commits and reloads.
2026-09-25 13:42:25 -04:00
daniel
0a77b0071d
Docs: list PLAN.md and VERIFICATION.md in CLAUDE.md, correct TODO-1.0.md's role
2026-09-25 13:37:06 -04:00
daniel
9ff34b0a9e
Docs: record the FX-drain indicator in COMPLETED.md
2026-08-21 16:03:15 -04:00
daniel
67dfa540ee
Merge the indicator polish pass: sign-off note lifted, overclaim corrected, duplicated rationale trimmed
2026-08-21 16:01:03 -04:00
daniel
3fa4d10b91
Lift the sign-off DRAFT note, fix footer/cursor CLAUDE.md overclaim, honest-en the readout-width test, trim duplicated rationale
...
Removed DRAFT marker on approved readout strings; corrected "paint and cursor cannot disagree" to note drag-cue suppression; renamed the width test to state it only bounds character count, not pixels; trimmed restated rationale to its CLAUDE.md/header home.
2026-08-21 15:59:32 -04:00
daniel
ae305b6788
Merge the FX-drain busy indicator: a busy cursor and a direction-naming footer readout over fxReclaimActivity
2026-08-21 15:45:19 -04:00
daniel
bbdeba9dda
Guard the FX-drain busy indicator against silent enum drift and cursor edge cases
...
Promote drainStateNow's switch to error-on-missing-case locally; set DWLP_MSGRESULT on WM_SETCURSOR; add an HTCLIENT guard; skip refreshBusyCursor during a live drag; mark the docked-dialog WM_SETCURSOR routing premise [verify - DAW].
2026-08-21 15:14:55 -04:00
daniel
fbb87316bf
Docs: correct two stale line-count figures in the 600-line-ceiling TODO entry
2026-08-21 14:52:48 -04:00
daniel
4acde051b1
Docs: record the Design View mode-switch redesign in COMPLETED.md
2026-08-21 14:50:22 -04:00
daniel
052fbb0d52
Make the background FX drain visible: a busy cursor over the panel and a footer readout that names its direction, driven off fxReclaimActivity
2026-08-21 14:45:25 -04:00
daniel
da8401239a
Merge the Design View redesign: pure-layer park split, shell restructure, the FX reclaimer, and one undo point per mode switch
2026-08-21 14:14:56 -04:00
daniel
580a41b5ba
Merge the undo-span work: one Ctrl-Z per Design View mode switch, and a single undo-block opener for the tree
2026-08-09 14:08:22 -04:00
daniel
258b1b6b85
Remove the temporary undo-span tracing now that the mid-drain Ctrl-Z fix has landed
...
Deletes the ring-buffer tracer and its diagnostic action; reverts the span
entry points to their pre-tracing no-parameter signatures.
2026-08-09 13:53:56 -04:00
daniel
f6f09d983c
Close the FX reclaim span when REAPER's own Undo/Redo is dispatched, so the switch's point mints first
...
Both command hooks intercept Edit: Undo (40029) and Edit: Redo (40030) and consume
nothing. Undo routes that never dispatch an action remain uncovered.
2026-08-09 13:40:28 -04:00
daniel
e423bf6502
Buffer undo trace to a ring, add dump action, stop per-tick loadSaveProj spam
...
Trace lines fill a 4096-line ring instead of hitting the console per line;
DUMP_UNDO_TRACE drains it in one ShowConsoleMsg call. Overflow is marked, not silent.
2026-08-09 13:16:05 -04:00
daniel
b782fb2731
Add temporary undo-span tracing for the mid-drain Ctrl-Z bug
...
One switch (REASAMPLER_UNDO_TRACE) gates every line. Traces span open/close
reasons, FX writes, UndoBlock depth, timer standoffs, and load-state hooks.
2026-08-09 12:28:50 -04:00
daniel
d5ff476a19
Make Design View membership edits undoable: the view_state write moves inside the block
...
All four actions share one body; the point turns on a model diff, so a no-op
leaves history and the Undo button alone. The Save-As prompt stays outside.
2026-08-07 19:51:37 -04:00
daniel
20fef2a3bf
Keep the extension's tick out of REAPER's own project load, and re-earn the park holds across one load
2026-08-07 18:03:58 -04:00
daniel
3d95eb715c
Undo-block review fixes: exception-safe depth, corrected docs, real test teeth
...
Fixes ctor exception safety, a ValidatePtr2 guard, false SDK-citation and
enforcement claims, the span-depth invariant, and vacuous fx_reclaim tests.
2026-08-07 17:07:56 -04:00
daniel
b7b93a7ac3
One undo-block opener for the whole tree: fourteen sites route through it, and the reclaim span can no longer swallow a user's act
...
The drain refuses a tick inside a foreign block; applyMode wakes the reclaimer
before it opens the span.
2026-08-07 16:38:11 -04:00
daniel
b2f6b3f1d0
Design View: no undo block may open over the reclaim span, and a reapply closes none
...
Every opener ends the span first, so a tag fired mid-drain no longer hijacks the
switch's point. One stated criterion governs both lane sites; no-op actions discard.
2026-08-07 15:13:52 -04:00
daniel
39529a5ac4
Design View: drop the undo blocks around writes that mint nothing; the membership actions own theirs
...
Flag writes are silent from a timer, so a block around a reapply or the reconcile
repair could only manufacture a point. The real switch's span is unchanged.
2026-08-07 14:41:17 -04:00
daniel
67d9ec3da9
Put the FX reclaimer to sleep on a project-state load instead of waking it
...
abandon() clears the wakeup where invalidate() raises it, so File > Revert
cannot converge FX or spend park records against a model nothing re-read.
2026-08-07 14:23:56 -04:00
daniel
39b995e824
Terminate the FX reclaimer's undo span on EVERY project-state load, not just undo
...
BeginLoadProjectState now routes unbranched through fxReclaimAbandonForStateLoad;
only the session's deferred reload stays undo-only.
2026-08-07 13:57:06 -04:00
daniel
9b6f725747
Close the FX reclaimer's undo span at the state-load hook, and expose the drain's direction
...
A Ctrl-Z mid-span used to close the pre-undo block over post-undo state; it now
terminates at BeginLoadProjectState and stops the drain where it stands.
fxReclaimActivity reports Online/Offline/Idle; fxReclaimPending is unchanged.
2026-08-07 13:45:58 -04:00
daniel
86aa8dabba
Collapse a Design View mode switch and its background FX parking to ONE undo point
...
applyMode now returns with its undo block open; the reclaimer closes it when the drain
settles. A transport deferral or a tab switch ends it early -- two points, never a leak.
2026-08-07 12:53:42 -04:00
daniel
2173263bb9
Docs: reflect the Design View redesign — EXPOSE replaces the park refusal, FX offlining moved to the reclaimer, undo repair is ours
2026-08-06 23:56:50 -04:00
daniel
c9c957a3da
Merge Wave 3: the FX reclaimer (per-track atomic drain, generation-owned queue, transport-gated offline, save-time release flush)
2026-08-06 23:35:27 -04:00
daniel
4f6cf60740
Narrow the FX reclaimer's transport gate to defer offline work only; let online drain through, and always run the park clock's observe
2026-08-06 23:04:02 -04:00
daniel
c95203718a
fx_reclaim: use GetCurrentProjectInLoadSave for the save hook, stop disarming ReleaseFlush on one write, validate project before cached-track lookup
2026-08-06 22:52:57 -04:00
daniel
02790f1270
Gate the FX reclaimer on the transport, both directions; move the release's persist off the drain and onto the project save
...
The drain no longer dirties a project on its own initiative — a spent park record rides the user's next save via OnSaveExtensionConfig.
2026-08-06 22:31:47 -04:00
daniel
224dcf84df
Fix the reclaimer stranding a tab-switched-into project: lift the pin and wakeup into FxReclaimQueue, retarget instead of going idle
...
Also validate the cached track in its project, and stop a drop-free tick resetting the report memo.
2026-08-06 22:16:41 -04:00
daniel
35fdfca805
Harden fx_reclaim against project closure mid-drain; cache resolved track per item; correct two stale budget comments
2026-08-06 21:36:08 -04:00
daniel
7687ea76fc
Persist the reclaimer's FX release so a reload cannot re-drive a spent record, and report the FX-restore drops it was swallowing
2026-08-06 21:26:55 -04:00
daniel
5dcfd3a53f
Reclaim drain owns its work: invalidation only bumps a generation, and a generation that moved aborts the tick's commit and its release.
2026-08-06 21:08:34 -04:00
daniel
f04c704353
Make an FX reclaim step one whole track's chain: drop the resume cursor, yield only between tracks
2026-08-06 20:48:17 -04:00
daniel
5a35b71dc0
Add the FX reclaimer: a debounced, time-boxed convergence loop that offlines parked chains and restores returning ones off the switch path
2026-08-06 19:07:17 -04:00
daniel
a9d2397586
Merge Wave 2: Design View shell restructure (FX off the switch, park/lanes/reconcile/tracks split, record-scoped repair, expose-on-lost-record)
2026-08-06 18:38:40 -04:00
daniel
0f6df5fd6d
Design View: expose a park-shaped no-record track visible instead of adopting or refusing it
...
Adopting silently wipes hand repairs or hides untouched tracks forever; refusing was rejected too. EXPOSE hands the track back and self-heals on the next apply.
2026-08-06 18:35:24 -04:00
daniel
024c619884
Fix Wave-2 review findings: FX union on re-park, per-project reconcile memo, shared undo mask, decayed test oracle
2026-08-06 17:50:49 -04:00
daniel
c4038a9e9c
Strip FX writes from the Design View mode switch; split view.cpp into park/lanes/reconcile/tracks and add the record-scoped undo repair pass
2026-08-06 17:19:43 -04:00
daniel
d455b9a2fa
Merge Wave 1: Design View pure-layer split (flag-only park plans, derived FX work list, two-half record, applied-state fingerprint)
2026-08-06 16:54:43 -04:00
daniel
b064081a3c
Fix five Wave-1 pure-layer FX/park review findings: resume-point stall, stale doc comments, implicit mode read, keying reset
2026-08-06 16:50:43 -04:00
daniel
2423225f0c
Split FX out of the park plan: flag-only plans, derived online-first FX work list, two-half record release, applied-state fingerprint
2026-08-06 16:31:59 -04:00
daniel
3eae942625
1.7.5
2026-08-06 09:50:21 -04:00