// reasampler_vst.h — shared identity constants for the ReaSampler VST3 instrument: the // plugin's class UID, vendor name/URL/email, so the processor, factory, and editor agree. // A class UID is FOREVER-STABLE once shipped (see this directory's CLAUDE.md) — minted // once, never regenerated. Filename + display name are channel-derived from app_version's // string accessors; this header owns only the binary UID identity. #pragma once #include "pluginterfaces/base/funknown.h" #include "core/wire/reasampler_uid.h" // the FROZEN UID macros + channel selection (SDK-free values) namespace reasampler::vst { // Vendor identity, shared across channels — the channel is carried by the UID + filename + // display fork, not the vendor block. 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 two FOREVER-FROZEN VST3 class UIDs — one per channel — live in reasampler_uid.h // (SDK-free, so the extension's pure instrument_drop can render the .vstpreset class-ID // string from the same constants without pulling the VST3 SDK). The channel bit selects // which one this binary's factory registers — one class per binary, never both. // The runtime FUID for the class this binary registers — the channel-selected UID. static const Steinberg::FUID kReaSamplerProcessorUID(REASAMPLER_ACTIVE_UID_1, REASAMPLER_ACTIVE_UID_2, REASAMPLER_ACTIVE_UID_3, REASAMPLER_ACTIVE_UID_4); } // namespace reasampler::vst