Preset Browsing?

I am updating to JUCE 4.3 (from 4.1) in the hope the cross plugin format preset handling has been implemented. But it seems that still only VST2.4 and AU (at least in Logic) are able to correctly handle factory presets. (i.e. Retrieving a list of presets and letting the user select and automate preset changes from within the DAW.)

AAX and VST3 still seem to suffer from missing JUCE preset functionality, or do I have to do something special so those plugin formats as well profit from JUCE’s preset handling?

(Plugin window resizing now also works in VST3, thats great! Thanks!)


Discard for now the question, if I have to do something special.
Just, should it work or not?


Is this such a is difficult question: Should preset browsing work in JUCE 4.3 and VST3 and AAX?


JUCE 4.3.1 seems to still lack preset browsing. Can this please confirmed. Or is it just me?

Thanks for the opportunity to soliloquy for 3 week now.

I am really astonished why nobody seem to be able to either confirm the issue or tell me thats all my fault. Would you please!

And in the event you can confirm the issue would it be possible to give a statement of wether a fix is to expected or if I should go ahead and fix the framework myself.

It doesn’t look like a rare feature - its a basic requirement of my client which my JUCE based plugin(s) have to comply to.

Thank you very much!

It’s your job to handle getStateInformation and setStateInformation


1 Like

Why would that be related? Please see OP.
This is about functionality to let the DAW obtain and browse preset names and select programs.

If I remember correctly this is achieved using the following methods in the AudioProcessor…

int getNumPrograms()
int getCurrentProgram()
void setCurrentProgram (int index)
String getProgramName (int index)

So report the number of factory presets using getNumPrograms(), the host will call setCurrentProgram() to switch to a factory preset, and the host will get the name of each of the presets using getProgramName().

1 Like

Thanks Anthony,
as the OP suggests this is all implemented and working.

The problem is that the required mechanism for presenting the list of presets to the DAW seems only to be implemented in the VST and AU wrapper, while AAX and VST3 wrapper do not provide the functionality. This has been discussed before. And I only would like to know if it has been fixed now (so it would be my fault) or when to expect a fix to evaluate wether I need to fix JUCE on my own or not. And it would be really helpful if someone from the JUCE developers could give this simple yes/no answer.

Are you not able to use the more common and generally recommended method of just installing factory presets to disk?

To quote the VST3 SDK

Factory presets must be installed as files at the according location

However it does go on to say…

If a Plug-in uses a rather large pool of programs that require some kind of caching or that need to be preloaded somehow, using preset files may not be a sufficient choice. In this case, the Plug-in can define a program list. For this purpose the edit controller has to be extended by the interface Steinberg::Vst::IUnitInfo.


The only way to do factory presets in AAX is to package .tfx settings files in the bundle in [yourplugin].aaxplugin/Contents/Factory Presets/[yourplugin]/
(see the AAX SDK for more info)

While it IS possible to set up a program list in VST3 that works in Cubase, Nuendo and others, you should be aware that StudioOne does NOT support this mechanism (and has indicated they do not intend to). They only support VST3 presets via external files stored on disk.


Thanks for the clarification!
Thats all pretty unfortunate that we have to provide factory presets in various formats and places then…



Agreed. It would be great if JUCE provided this for AAX.

It is not possible for JUCE to provide this for AAX. The AAX spec ONLY provides for factory presets as .tfx files in the bundle. There is no provision in the AAX spec for programmatic (ie. code-based rather than file-based) factory presets. If you want that to change, talk to Avid not ROLI.

Similarly, if you are unhappy that StudioOne doesn’t support VST3 factory presets via the program list mechanism, complain to PreSonus.

As far as I’m aware, JUCE does not have built in support for VST3 presets via the program list mechanism (I had to roll my own) so that would be something to request from ROLI, for those DAWs that do support it (Cubase, Nuendo).


Ah, my apologies.


So, how do people handle the factory presets nowadays ? Do you use a custom application that will generate presets files for AAX/VST3/AU etc ? Are they copied into the correct location via the installer (seems boring to do, and maybe a bit complicated), or is it possible to let the plugin itself fill the factory presets folder (assuming there exists a user-writable folder for factory presets for AAX and VST3 ) on its first instanciation ?

You can put your AAX presets inside the bundle and they’ll be installed – check the Avid dev forum for details.


1 Like