10 years ago, virtually every VST would offer a list of presets to the host. Nowadays, everybody seems to think their built-in preset browser is all anybody needs.
But my host (usine) is touchscreen compatible, and I have a very elegant method for selecting presets using the touchscreen live (I do not have a keyboard or mouse in live performance) so exposing the preset list to the host is REALLY helpful. Otherwise I have another step for every load and save of any patch, as I have to save and recall the entire state of the VST for every patch I create. I can do it, and I do with vsts such as Kontakt, where I don't see that there is a real alternative, but for a synth that can just keep a preset list internally, it should be easy to implement.
Ideally, you would be able to put presets into banks which could be selected via midi, and update the preset name list that the vst sends to the host. This is how Reaktor and Massive work (as well as Synth1, and almost every other VST written before 2010.)
Even if you don't select your presets via touchscreen, it still might be nice to be able to select them from the host.... it's at least nice to give the user the option. I can't see any reason NOT to do it, even if many users don't take advantage of it. It certainly simplifies (or even allows?) patch changes via MIDI, which is very advantageous live, even if it's not often necessary in the studio.
Thanks for the suggestion and the context around how you'd like this to function. We'll be glad to take a look at how this might be implemented.
I think the vst spec does not limit the number of presets, but some hosts don't do well with more than 128. 128 is also a nice number, as it lines up well with MIDI patch changes. Synth1 used to be able to be loaded up with 1200 presets, and my host didn't like dealing with such a long list! NI's prophet emulation used to ship with 512, which was no problem for my host, but I'm guessing somebody had problems, as none of the current NI products hold more than 128 presets at a time.
If the user can put them into banks that works well. Massive is a good example of this. You can save and load bank files, and then the presets the host sees update appropriately. And the same preset can be selected either via MIDI or the vst program parameter, depending on what works for the host.
For now, I am saving the full state for each preset and that does work.