free-audio / clap

Audio Plugin API
https://cleveraudio.org/
MIT License
1.79k stars 102 forks source link

Preset-save extension? #261

Closed sadko4u closed 1 year ago

sadko4u commented 1 year ago

I see there is a preset-load extension to load a preset in a plugin's native file format. But... To load the preset in a plugin's native file format, we should have the preset in plugin's native file format. In other words, there should be some interface that allows to do this for the plugin. Or do I understand this extension draft in wrong way?

robbert-vdh commented 1 year ago

There is work on an extension that allows the host's to enumerate a plugin's presets (as standalone preset files, files containing entire banks of presets, factory presets built into the plugin, etc.). I have no idea what the current status of this is however. Once this is fleshed out, the preset loading draft extension will also be updated to be able to handle these loading all of these presets since the extension in its current form only works when presets are mapped one-to-one to files stored disk.

abique commented 1 year ago

I think a preset-save is unlikely because when you save, you may want to query for location, overwrite?, metadata:

Which is specific to the plugin most of the time. So it should be done from the plugin GUI.

sadko4u commented 1 year ago

Then I don't understand the purpose of the preset-load extension. What should the plugin load then from it's native format? Another one case. Consider your host provides the facility of saving plugin presets. This is pretty usual case when we talk about Ardour and LV2 plugins. The preset of the plugin is stored in user's home directory. Then this preset can be applied to the plugin. Since it is an LV2, the preset is stored in RDF format. For CLAP, I understand that plugin should save it's preset in it's native format. So the question is still open.

abique commented 1 year ago

See https://github.com/free-audio/clap/pull/265