Add the FX reclaimer: a debounced, time-boxed convergence loop that offlines parked chains and restores returning ones off the switch path

This commit is contained in:
2026-08-06 19:07:17 -04:00
parent a9d2397586
commit 5a35b71dc0
8 changed files with 840 additions and 22 deletions
+6
View File
@@ -29,6 +29,12 @@ inline const char* trackFlagParm(Flag f) {
return "B_SHOWINTCP"; // unreachable; keeps the compiler quiet
}
// The FX's own durable identity, braced exactly like the track GUID keys, empty when
// REAPER reports none. The ONE such read: the park's snapshot and the reclaimer's
// resolve must address the same chain by the same names, or a restore lands one
// plugin's state on another. See its definition for the stability caveat.
std::string fxGuidString(MediaTrack* tr, int fx);
// A re-park's FX half, unioned rather than overwritten: keeps every FX identity
// `prior` already names (the user's real pre-park state, still offline while the
// reclaimer hasn't run) and appends whatever identity `live` sees that `prior`