feat(version): V4 beta-in-isolation channel via -DREASAMPLER_CHANNEL
Compile-time channel flag forks a fully isolated reaper_reasampler_beta (namespace, command-id prefix, action names, dock ident, -beta render) from one auditable app_version definition. Stable identity byte-unchanged.
This commit is contained in:
+10
-3
@@ -28,9 +28,16 @@
|
||||
|
||||
namespace reasampler {
|
||||
|
||||
// The ext-state namespace the index JSON is stored under. FOREVER-STABLE once
|
||||
// shipped: changing it orphans every already-saved project's index.
|
||||
inline constexpr const char* kProjExtNamespace = "reasampler";
|
||||
// The ext-state namespace every ReaSampler key is stored under. CHANNEL-DERIVED (Phase V,
|
||||
// V4): the pure app_version module owns the one channel-qualified string — "reasampler" on
|
||||
// stable (byte-identical to the pre-V4 build) or "reasampler_beta" on the isolated beta
|
||||
// build. FOREVER-STABLE per channel once shipped: changing either orphans every already-
|
||||
// saved project's state. Beta reads/writes ONLY its own namespace — a project saved by
|
||||
// stable shows empty/default state in beta and vice versa; that isolation is the accepted
|
||||
// V4 safety property (no cross-namespace read, migration, or fallback), not a bug.
|
||||
// Returns const char* (not a constexpr literal) because the string is channel-derived at
|
||||
// build time; the accessor is the single call point for all persist reads/writes below.
|
||||
inline const char* projExtNamespace() { return extStateNamespace().c_str(); }
|
||||
|
||||
// The RETIRED legacy ext-state key: pre-multi-bank projects stored the whole
|
||||
// serialized BankIndex here (single bank). Phase B2 no longer WRITES it — on save
|
||||
|
||||
Reference in New Issue
Block a user