Hello, I’ve seen some vst3 plugins can tell the host where are their preset files, so they are available in the DAW. How can this be done? Is there a way to tell the host: That’s the location and extension of my preset files? Or a way to send the list of available presets to the DAW anyhow?
The DAW doesn’t know anything about how a plugin stores it׳s presets.
If the plugin implements a load/save mechanism, you can store that location in a preference file. The host however, knows nothing about the process: it will only talk the plugin when it wants to load or save the current state into the session (using the state of parameters and/or a custom data chunk)
As far as the DAW browsing your plugin preset files directly, vst has some “standard” file formats: .fxp/.fxb for vst2 and (not expert on the following) .vstpreset for vst3.
These formats I’m afraid are kinda obsolete (vst2) or used mostly only by cubase (vst3).
Your best path for getting that result is to implement the plugin interfaces for:
Getnumprograms= count of all your factory presets (saved where you want, in valuetree XML format)
SetcurrentProgram() = makes your plugin APVTS load your i-th factory plugin.
GetProgramName= returns the name of your i-th factory presets.
It’s not a bulletproof strategy, but most DAWS are pretty apt at showing your list of factory presets “pseudonatively” this way.
Thanks! I think this is what I’ll try. I’ve seen some focusrite plugins that, somehow, allow the DAW to show the avilable presets even without the plugins loaded (you can see that if you use focusrite plugins vst3 on Presonus Studio One) and I was wanting to provide the same with my own plugins. I’ll see if implementing what you suggest helps with this.
What you describe sounds indeed like the programs feature @fefanto showed earlier. This is a way to report the names of your factory presets without pointing the host to actual files.
Our plugins ship with
.fxp files for VSTs,
.tfx files for Pro Tools,
.aupreset files for Logic, and our own internal preset management.
Some users really appreciate support of host presets. They work well with the hosts’ control surface integration and accessibility features.
We do this with the help of a script that converts between preset formats. 8 years ago I shared an early version of this script but it didn’t seem like there was any interest: