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.
This commit is contained in:
@@ -211,6 +211,16 @@ bool ReaSamplerSession::saveViewStateOnly() {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Its twin bar the dirty mark — the one line that differs is the whole point of the
|
||||
// split, so the two stay spelled out rather than folded behind a flag.
|
||||
bool ReaSamplerSession::flushViewState() {
|
||||
ReaProject* proj = activeSavedProject();
|
||||
if (!proj) return false;
|
||||
|
||||
writeViewState(proj, view_);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ReaSamplerSession::writeAssignmentRequest(const std::string& wire) {
|
||||
ReaProject* proj = activeSavedProject();
|
||||
if (!proj) return false;
|
||||
|
||||
@@ -144,6 +144,13 @@ public:
|
||||
// Returns on the SAME rule as saveToActiveProject above, prohibition included.
|
||||
bool saveViewStateOnly();
|
||||
|
||||
// The same write with the dirty mark OMITTED, for a caller already inside REAPER's
|
||||
// own project save: marking dirty there would leave the project modified the instant
|
||||
// it was saved, which is the whole reason that caller exists (fx_reclaim's
|
||||
// ReleaseFlush). Not a general-purpose sibling — a mutation site that skips the dirty
|
||||
// mark silently loses its write when the user closes without saving.
|
||||
bool flushViewState();
|
||||
|
||||
// Report-only prune dry-run: feeds the pure core with (present, referenced,
|
||||
// owned) — `present` from the folder enumeration, the other two from the
|
||||
// tracking authority. FAIL-SAFE: tracking state the authority cannot read
|
||||
|
||||
Reference in New Issue
Block a user