Mercurial > hg > vamp-plugin-sdk
diff vamp-hostsdk/PluginLoader.h @ 423:8c45dee08a95 vampipe
Add PluginConfiguration, PluginStaticData, and LoadRequest structures, and use them in PluginLoader
author | Chris Cannam |
---|---|
date | Thu, 12 May 2016 12:22:02 +0100 |
parents | 4ec736a36546 |
children | 5502a06537f6 |
line wrap: on
line diff
--- a/vamp-hostsdk/PluginLoader.h Thu Apr 14 14:23:48 2016 +0100 +++ b/vamp-hostsdk/PluginLoader.h Thu May 12 12:22:02 2016 +0100 @@ -43,6 +43,7 @@ #include "hostguard.h" #include "PluginWrapper.h" +#include "LoadRequest.h" _VAMP_SDK_HOSTSPACE_BEGIN(PluginLoader.h) @@ -202,6 +203,34 @@ int adapterFlags = 0); /** + * Load a Vamp plugin, given its key, inputSampleRate and the + * adapter flags, bundled into a LoadRequest structure. The loaded + * plugin is returned along with its static data and default + * configuration in a LoadResponse. + * + * \see AdapterFlags, PluginInputDomainAdapter, PluginChannelAdapter, LoadRequest, LoadResponse + */ + LoadResponse loadPlugin(LoadRequest req); + + /** + * Configure and initialise a Vamp plugin. This applies the + * parameter and program settings found in the supplied + * PluginConfiguration structure and initialises the plugin. (Many + * hosts will prefer to do this themselves in stages, by calling + * methods on the plugin directly.) + * + * Returns the result of calling getOutputDescriptors() on the + * configured and initialised plugin, representing the outputs of + * the plugin following configuration (since output ranges etc can + * depend on the parameters). If plugin initialisation fails, + * returns an empty list. + * + * \see PluginConfiguration + */ + Plugin::OutputList configurePlugin(Plugin *plugin, + PluginConfiguration configuration); + + /** * Given a Vamp plugin library name and plugin identifier, return * the corresponding plugin key in a form suitable for passing in to * loadPlugin().