comparison vamp-hostsdk/PluginLoader.h @ 466:a94ab90dfd53 vampipe

Remove RequestResponse, PluginConfiguration and PluginStaticData again. I don't think they are proving general enough to be worth adding to this SDK at this point. Will try them out in piper-cpp instead.
author Chris Cannam
date Thu, 13 Oct 2016 17:06:53 +0100
parents 86624d166f88
children 0545cd3f1738
comparison
equal deleted inserted replaced
465:e32815f133d6 466:a94ab90dfd53
41 #include <string> 41 #include <string>
42 #include <map> 42 #include <map>
43 43
44 #include "hostguard.h" 44 #include "hostguard.h"
45 #include "PluginWrapper.h" 45 #include "PluginWrapper.h"
46 #include "RequestResponse.h"
47 46
48 _VAMP_SDK_HOSTSPACE_BEGIN(PluginLoader.h) 47 _VAMP_SDK_HOSTSPACE_BEGIN(PluginLoader.h)
49 48
50 namespace Vamp { 49 namespace Vamp {
51 50
127 * them in the order in which they were found. 126 * them in the order in which they were found.
128 */ 127 */
129 PluginKeyList listPlugins(); 128 PluginKeyList listPlugins();
130 129
131 /** 130 /**
132 * Search for all available Vamp plugins, and return a list of
133 * static data about each plugin in the order in which they were
134 * found. This is slower but returns more comprehensive
135 * information than listPlugins().
136 *
137 * \see ListResponse, PluginStaticData
138 */
139 ListResponse listPluginData();
140
141 /**
142 * AdapterFlags contains a set of values that may be OR'd together 131 * AdapterFlags contains a set of values that may be OR'd together
143 * to indicate in which circumstances PluginLoader should use a 132 * to indicate in which circumstances PluginLoader should use a
144 * plugin adapter to make a plugin easier to use for a host that 133 * plugin adapter to make a plugin easier to use for a host that
145 * does not want to cater for complex features. 134 * does not want to cater for complex features.
146 * 135 *
209 * \see AdapterFlags, PluginInputDomainAdapter, PluginChannelAdapter 198 * \see AdapterFlags, PluginInputDomainAdapter, PluginChannelAdapter
210 */ 199 */
211 Plugin *loadPlugin(PluginKey key, 200 Plugin *loadPlugin(PluginKey key,
212 float inputSampleRate, 201 float inputSampleRate,
213 int adapterFlags = 0); 202 int adapterFlags = 0);
214
215 /**
216 * Load a Vamp plugin, given its key, inputSampleRate and the
217 * adapter flags, bundled into a LoadRequest structure. The loaded
218 * plugin is returned along with its static data and default
219 * configuration in a LoadResponse.
220 *
221 * \see AdapterFlags, PluginInputDomainAdapter, PluginChannelAdapter, LoadRequest, LoadResponse
222 */
223 LoadResponse loadPlugin(LoadRequest req);
224
225 /**
226 * Configure and initialise a Vamp plugin. This applies the
227 * parameter and program settings found in the PluginConfiguration
228 * part of the supplied ConfigurationRequest and initialises the
229 * plugin. (Many hosts will prefer to do this themselves in
230 * stages, by calling methods on the plugin directly.)
231 *
232 * Return a ConfigurationResponse containing the result of calling
233 * getOutputDescriptors() on the configured and initialised
234 * plugin, representing the outputs of the plugin following
235 * configuration (since output ranges etc can depend on the
236 * parameters). If initialisation fails, returns an empty list.
237 *
238 * \see PluginConfiguration, ConfigurationRequest, ConfigurationResponse
239 */
240 ConfigurationResponse configurePlugin(ConfigurationRequest req);
241 203
242 /** 204 /**
243 * Given a Vamp plugin library name and plugin identifier, return 205 * Given a Vamp plugin library name and plugin identifier, return
244 * the corresponding plugin key in a form suitable for passing in to 206 * the corresponding plugin key in a form suitable for passing in to
245 * loadPlugin(). 207 * loadPlugin().