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:
@@ -104,6 +104,33 @@ const std::string& binaryName();
|
||||
const std::string& dockTitle();
|
||||
const std::string& dockIdent();
|
||||
|
||||
// --- VST3 instrument identity (S18, beta-in-isolation) ------------------------------
|
||||
//
|
||||
// The ReaSampler 9000 VST3 instrument forks its plugin identity per channel exactly as the
|
||||
// extension forks its binary/dock idents above — one channel per binary, all derived from
|
||||
// the ONE channel bit here, so the VST shell carries no #ifdef fork. These are the VST's
|
||||
// analogues of binaryName()/dockTitle(): the on-disk module name and the human-facing name.
|
||||
//
|
||||
// vstOutputName() — the CMake OUTPUT_NAME base for the .vst3 module. Stable:
|
||||
// "reasampler_9000" (byte-identical to pre-S18). Beta:
|
||||
// "reasampler_9000_beta". Mirrors the CMake target's OUTPUT_NAME (the
|
||||
// authoritative artifact name); exposed here so the one derivation lives
|
||||
// in this module. FOREVER-STABLE per channel — the on-disk filename a
|
||||
// REAPER project's saved instance path may reference.
|
||||
// vstPluginName() — the factory display name (FX browser), editor title band, and S6
|
||||
// embed-strip label. Stable: "ReaSampler 9000". Beta:
|
||||
// "ReaSampler 9000 beta". Sourced from here, never a literal in
|
||||
// reasampler_vst.h / vst_entry.cpp / the editor / the embed strip.
|
||||
//
|
||||
// NOTE: the VST3 CLASS UID is NOT here — a UID is not a string derivation but a compile-time
|
||||
// FUID/INLINE_UID constant the factory needs in brace-init form; it lives in reasampler_vst.h,
|
||||
// channel-selected by the same REASAMPLER_CHANNEL_IS_BETA bit. This module owns the string
|
||||
// identity; reasampler_vst.h owns the binary UID identity. The version display the factory
|
||||
// stamps into PClassInfo2 reuses appVersion() (it already renders "-beta" on beta) — no
|
||||
// separate VST version accessor.
|
||||
const std::string& vstOutputName();
|
||||
const std::string& vstPluginName();
|
||||
|
||||
// --- Channel-qualified action id / name builders ------------------------------------
|
||||
//
|
||||
// The two composition helpers every action-registering shell (main.cpp, actions.cpp)
|
||||
|
||||
Reference in New Issue
Block a user