Files
reasampler/src/shell/instrument/reasampler_vst.h
T

33 lines
1.7 KiB
C++

// 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