feat(vst): S18 VST3 channel isolation — beta ReaSampler 9000 pairs with beta extension only

Fork the VST3 class UID (beta UID minted+frozen), on-disk name, and display
name by the one channel bit via app_version; couple UID selection to the
channel at compile time so a refactor can't split identity from data.
This commit is contained in:
2026-07-26 23:54:10 -04:00
parent 0e9ef05c75
commit fe55a9a96e
8 changed files with 193 additions and 36 deletions
+18
View File
@@ -86,6 +86,24 @@ const std::string& dockIdent() {
return kIdent;
}
const std::string& vstOutputName() {
// The .vst3 module OUTPUT_NAME base — FOREVER-STABLE per channel. Stable is
// byte-identical to pre-S18 ("reasampler_9000"); beta is isolated so both install
// side-by-side without a filename collision.
static const std::string kName =
kIsBeta ? "reasampler_9000_beta" : "reasampler_9000";
return kName;
}
const std::string& vstPluginName() {
// The factory display name / editor title / embed label. Stable is byte-identical to
// pre-S18 ("ReaSampler 9000"); beta appends " beta" so the two channels are distinct
// plugins in the FX browser.
static const std::string kName =
kIsBeta ? "ReaSampler 9000 beta" : "ReaSampler 9000";
return kName;
}
std::string channelCommandId(const std::string& suffix) {
return commandIdPrefix() + suffix;
}