40 lines
1.8 KiB
C
40 lines
1.8 KiB
C
#pragma once
|
|
// reasampler_uid.h — the FOREVER-FROZEN VST3 class-UID constants, SDK-free.
|
|
//
|
|
// Split out of reasampler_vst.h so the pure extension side can derive the .vstpreset
|
|
// class-ID string (instrument_drop::vstClassIdHex) without pulling in the VST3 SDK.
|
|
// reasampler_vst.h builds the runtime FUID from these same macros; instrument_drop
|
|
// renders the hex string from them — one source of truth, so binary identity and
|
|
// preset-file identity cannot diverge.
|
|
//
|
|
// FOREVER-STABLE once shipped: a REAPER project that instantiates the instrument
|
|
// records the UID, so changing it orphans every saved instance. Never regenerate.
|
|
|
|
#include "version_generated.h" // REASAMPLER_CHANNEL_IS_BETA — the one channel bit
|
|
|
|
// STABLE class UID. FROZEN FOREVER.
|
|
#define REASAMPLER_PROC_UID_1 0x5E45A11E
|
|
#define REASAMPLER_PROC_UID_2 0x9C7B4D6A
|
|
#define REASAMPLER_PROC_UID_3 0xB1E3F208
|
|
#define REASAMPLER_PROC_UID_4 0x4A6C1D9F
|
|
|
|
// BETA class UID. FROZEN FOREVER — locked even though no beta VST has shipped yet.
|
|
#define REASAMPLER_PROC_UID_BETA_1 0xCCFFEB3A
|
|
#define REASAMPLER_PROC_UID_BETA_2 0x4FF532A6
|
|
#define REASAMPLER_PROC_UID_BETA_3 0x9E181798
|
|
#define REASAMPLER_PROC_UID_BETA_4 0x4256955F
|
|
|
|
// Channel-selected UID macros — exactly one class UID per binary. The factory,
|
|
// the runtime FUID, and vstClassIdHex all source these.
|
|
#if REASAMPLER_CHANNEL_IS_BETA
|
|
#define REASAMPLER_ACTIVE_UID_1 REASAMPLER_PROC_UID_BETA_1
|
|
#define REASAMPLER_ACTIVE_UID_2 REASAMPLER_PROC_UID_BETA_2
|
|
#define REASAMPLER_ACTIVE_UID_3 REASAMPLER_PROC_UID_BETA_3
|
|
#define REASAMPLER_ACTIVE_UID_4 REASAMPLER_PROC_UID_BETA_4
|
|
#else
|
|
#define REASAMPLER_ACTIVE_UID_1 REASAMPLER_PROC_UID_1
|
|
#define REASAMPLER_ACTIVE_UID_2 REASAMPLER_PROC_UID_2
|
|
#define REASAMPLER_ACTIVE_UID_3 REASAMPLER_PROC_UID_3
|
|
#define REASAMPLER_ACTIVE_UID_4 REASAMPLER_PROC_UID_4
|
|
#endif
|