Docs: mark M4 Save-As identity collision as fixed
Update the M4 known-limitation note to reflect the object-identity classifier fix (forked projects no longer cross-contaminate).
This commit is contained in:
+1
-1
@@ -114,7 +114,7 @@ folder still resolves the bank).
|
||||
- Storage: `SetProjExtState` / `GetProjExtState`, namespace `"reasampler"`, keys `bank_index` (serialized JSON) and `project_guid`; relative paths only in the persisted index.
|
||||
- Project identity: keyed off a **minted GUID** stored in ext state (REAPER exposes no native per-project GUID), not the raw `ReaProject*` — a recycled pointer cannot misread a project switch as a Save-As.
|
||||
- Save-As: **copy** semantics (Daniel's decision) — the `reasampler_bank/` folder is copied under the new `.rpp`; the old project's bank stays intact. Every ext-state write calls `MarkProjectDirty` so captures/GUID changes flush on the normal save.
|
||||
- Known limitation (narrow, accepted): if a user does Save-As, closes the copy *without saving*, then reopens that copy to a *different* folder while the original is also open, identities can collide. Force-saving after Save-As would close the hole but was rejected as violating non-destructive.
|
||||
- Save-As collision — fixed (DAW-verified): the project-identity classifier now keys off the **`ReaProject*` object identity** (`sameProjectObject` signal), not the stored GUID alone. A different project object (tab-switch or open) is always treated as a Load and never relocates a bank, so two Save-As-forked projects sharing a copied GUID on disk cannot cross-contaminate. A forked sibling that still shares the original GUID is re-GUID'd on detection so identities diverge. The hole is closed without force-saving — non-destructive preserved.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user