Studio One v4 + Factory Presets

Sometime between 3.6.12 and 3.6.14, the Factory Presets in Studio One v4 stopped showing up.

I decided to try to add a few factory presets to the VST3 SDK AGain sample code to check, and I get the same results - they show up in every DAW except Studio One. Does anyone have any information about this?

The code for AGain is simple and in initialize( ):

addUnit (new Unit (String (“Root”), kRootUnitId, kNoParentUnitId, kPresetParam));

ProgramList* prgList = new ProgramList (String (“Factory Presets”), kPresetParam, kRootUnitId);
prgList->addProgram (USTRING (“Program 1”));
prgList->addProgram (USTRING (“Program 2”));
prgList->addProgram (USTRING (“Program 3”));

addProgramList (prgList);


Given that it works everywhere BUT Studio One, it is easy for me to blame it on Presonus; but I was wondering if I am not following a rule or something else? Or should I contact Presonus?

Thanks as always,


Hi Will,
what about the JX10 mda synthesizer from the SDK? It also has a program list. Does it work in Studio One?
But I really don’t know why this happens.


Hi Arne

The JX10 has the same problem - no factory presets, so this looks like a DAW issue. I am contacting Presonus engineering to confirm, but that may take some time.

Thanks for your help,


AFAIK they don’t support “baked in” presets

It is strange because my very old plugins do show their factory presets in S1 (still to this day) and I was using the same code back then.

I also noticed that Bitwig is the same - no factory presets, only the file-based versions.

Will - are you sure the old plugs that do show factory presets are running as VST3, not VST2?

StudioOne has never supported baked-in factory presets for VST3. IIRC, they do, however, support them for VST2.

Ahhh - yes, the old versions used the VST2 wrapper and generated both VST2 and VST3 at once.

When presented with both VST2 and VST3 versions of the same plugin, it looks like S1 will choose the VST2 version, but only has that little text in the lower right corner that identifies the species.

Thanks, Frank - that’s exactly what was going on. Good to hear from you man!