How-to guide on managing Presets

Hi montag, I don’t know if this may help you (3 years later), I don’t even know if this is the way to go. Anyway, I arrived here looking for a guide on creating factory presets.
Looking at the code, I could create VST3 factory presets that are working on Reaper/Windows.

In IPlugVST3_Defs.h I added a the following define:

#ifndef VST3_PRESET_LIST
  #define VST3_PRESET_LIST
#endif

In my plugin’s header I declared the number of presets

const int kNumPresets = 2;

Then in the plugin’s constructor I created the presets after declaring the params.

//... declaring params
  GetParam(kStereoLink)->InitBool("Link Channels", false);
  GetParam(kLookAhead)->InitBool("Look Ahead", false);
//...

  // Factory Presets
  // Params in order: kGain, kRatio, kThreshold, kAttackMs, kReleaseMs, kStereoLink, kLookAhead
  MakePreset("Bass Attack", 6., 5.4, -20., 30., 300., true, false);
  MakePreset("Kick Drum Sustain", 6. , 2.5, -20., 10., 50., true, true);

Hope it helps somebody. If my response is wrong or out of the subject please let me know and I’ll delete it.