33 lines
1.7 KiB
C++
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
|