// reasampler_vst.h — shared identity constants for the ReaSampler VST3 instrument // (Phase S). One place for the plugin's class UID, name, vendor, and version so the // processor, factory, and editor agree. // // The class UID is FOREVER-STABLE once shipped: a REAPER project that instantiates this // instrument records the UID, so changing it orphans every saved instance. Minted once // for the spike; do not regenerate. #pragma once #include "pluginterfaces/base/funknown.h" namespace reasampler::vst { // Human-facing identity. "ReaSampler" is the tool; the instrument surfaces as // "ReaSampler Instrument" in REAPER's FX browser to distinguish it from the extension. inline constexpr const char* kPluginName = "ReaSampler Instrument"; inline constexpr const char* kVendorName = "ReaSampler"; inline constexpr const char* kVendorUrl = "https://github.com/daniel-c-harvey/reasampler"; inline constexpr const char* kVendorEmail = "mailto:the.real.daniel.harvey@gmail.com"; // The processor class UID (the SingleComponentEffect). FOREVER-STABLE once shipped — // a saved REAPER project records it, so changing it orphans every saved instance. // Minted once for the S1 spike (2026-07-26). Defined as four longs so the factory's // INLINE_UID (compile-time brace init) and the runtime FUID below share one source. #define REASAMPLER_PROC_UID_1 0x5E45A11E #define REASAMPLER_PROC_UID_2 0x9C7B4D6A #define REASAMPLER_PROC_UID_3 0xB1E3F208 #define REASAMPLER_PROC_UID_4 0x4A6C1D9F static const Steinberg::FUID kReaSamplerProcessorUID(REASAMPLER_PROC_UID_1, REASAMPLER_PROC_UID_2, REASAMPLER_PROC_UID_3, REASAMPLER_PROC_UID_4); } // namespace reasampler::vst