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:
@@ -252,11 +252,15 @@ static void testTableHasBothScopes() {
|
||||
std::set<std::string> ids;
|
||||
int item = 0, track = 0;
|
||||
for (const auto& def : table) {
|
||||
// Every id is a non-empty CEREBELLUM_REASAMPLER_ string and is UNIQUE
|
||||
// (duplicate ids would collide on registration).
|
||||
std::string id = def.commandString;
|
||||
CHECK(id.rfind("CEREBELLUM_REASAMPLER_", 0) == 0);
|
||||
CHECK(ids.insert(id).second); // false if duplicate
|
||||
// Every command SUFFIX (Phase V, V4 — the channel prefix is prepended by the shell)
|
||||
// is a non-empty, UNIQUE string (duplicate suffixes would collide once composed).
|
||||
std::string suffix = def.commandSuffix;
|
||||
CHECK(!suffix.empty());
|
||||
// The suffix is NOT prefixed with the channel family here — that is composed at
|
||||
// register time. A leftover "CEREBELLUM_REASAMPLER_" in the table would be a
|
||||
// double-prefix bug, so assert its ABSENCE.
|
||||
CHECK(suffix.rfind("CEREBELLUM_REASAMPLER_", 0) != 0);
|
||||
CHECK(ids.insert(suffix).second); // false if duplicate
|
||||
// Every scope resolves to a supported offline source.
|
||||
CHECK(renderSettingsFor(sourceModeForScope(def.scope), 1.0).supported);
|
||||
|
||||
@@ -269,16 +273,17 @@ static void testTableHasBothScopes() {
|
||||
}
|
||||
|
||||
static void testScopeActionIdsAreTheShippedStrings() {
|
||||
// Pin the shipped CAPTURE_ITEM / CAPTURE_TRACK ids so a future edit that silently
|
||||
// changes them (breaking user keybindings) fails the gate.
|
||||
// Pin the shipped CAPTURE_ITEM / CAPTURE_TRACK SUFFIXES so a future edit that silently
|
||||
// changes them (breaking user keybindings once composed with the channel prefix) fails
|
||||
// the gate. The full stable id is prefix + suffix ("CEREBELLUM_REASAMPLER_CAPTURE_ITEM").
|
||||
const auto& table = captureActionTable();
|
||||
std::string itemId, trackId;
|
||||
for (const auto& def : table) {
|
||||
if (def.scope == CaptureScope::Item) itemId = def.commandString;
|
||||
if (def.scope == CaptureScope::Track) trackId = def.commandString;
|
||||
if (def.scope == CaptureScope::Item) itemId = def.commandSuffix;
|
||||
if (def.scope == CaptureScope::Track) trackId = def.commandSuffix;
|
||||
}
|
||||
CHECK(itemId == "CEREBELLUM_REASAMPLER_CAPTURE_ITEM");
|
||||
CHECK(trackId == "CEREBELLUM_REASAMPLER_CAPTURE_TRACK");
|
||||
CHECK(itemId == "CAPTURE_ITEM");
|
||||
CHECK(trackId == "CAPTURE_TRACK");
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
Reference in New Issue
Block a user