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.
This commit is contained in:
2026-08-07 13:45:58 -04:00
parent 86aa8dabba
commit 9b6f725747
5 changed files with 357 additions and 34 deletions
+8
View File
@@ -247,7 +247,15 @@ static void OnTimer()
static void OnBeginLoadProjectState(bool isUndo, project_config_extension_t* /*reg*/)
{
if (isUndo)
{
// BEFORE the reload request, and the whole reason this is a hook rather than
// something the reload's own reapply does on arrival: the reclaimer's undo block
// is open for at least kParkHoldMs after every real mode switch, and a switch is
// exactly what this undo is rolling back. Closing it here is the last moment it
// still closes over the state it was opened on.
reasampler::fxReclaimAbandonForStateLoad();
g_session.requestReload();
}
}
// Intentional no-op: ReaSampler stores state via project EXT STATE, not this