#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