Mercurial > hg > vamp-plugin-sdk
comparison vamp-hostsdk/PluginLoader.h @ 460:b409560a805b
Merge from branch vampipe
author | Chris Cannam |
---|---|
date | Mon, 10 Oct 2016 15:48:35 +0100 |
parents | 2819b5c9a395 |
children | 86624d166f88 |
comparison
equal
deleted
inserted
replaced
442:4101e3f80aa0 | 460:b409560a805b |
---|---|
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" | |
46 | 47 |
47 _VAMP_SDK_HOSTSPACE_BEGIN(PluginLoader.h) | 48 _VAMP_SDK_HOSTSPACE_BEGIN(PluginLoader.h) |
48 | 49 |
49 namespace Vamp { | 50 namespace Vamp { |
50 | 51 |
120 * \see getPluginCategory() | 121 * \see getPluginCategory() |
121 */ | 122 */ |
122 typedef std::vector<std::string> PluginCategoryHierarchy; | 123 typedef std::vector<std::string> PluginCategoryHierarchy; |
123 | 124 |
124 /** | 125 /** |
126 * PluginStaticDataList is a list containing static information | |
127 * about a set of Vamp plugins. | |
128 * | |
129 * \see PluginStaticData, listPluginData() | |
130 */ | |
131 typedef std::vector<PluginStaticData> PluginStaticDataList; | |
132 | |
133 /** | |
125 * Search for all available Vamp plugins, and return a list of | 134 * Search for all available Vamp plugins, and return a list of |
126 * them in the order in which they were found. | 135 * them in the order in which they were found. |
127 */ | 136 */ |
128 PluginKeyList listPlugins(); | 137 PluginKeyList listPlugins(); |
138 | |
139 /** | |
140 * Search for all available Vamp plugins, and return a list of | |
141 * static data about each plugin in the order in which they were | |
142 * found. This is slower but returns more comprehensive | |
143 * information than listPlugins(). | |
144 */ | |
145 PluginStaticDataList listPluginData(); | |
129 | 146 |
130 /** | 147 /** |
131 * AdapterFlags contains a set of values that may be OR'd together | 148 * AdapterFlags contains a set of values that may be OR'd together |
132 * to indicate in which circumstances PluginLoader should use a | 149 * to indicate in which circumstances PluginLoader should use a |
133 * plugin adapter to make a plugin easier to use for a host that | 150 * plugin adapter to make a plugin easier to use for a host that |
200 Plugin *loadPlugin(PluginKey key, | 217 Plugin *loadPlugin(PluginKey key, |
201 float inputSampleRate, | 218 float inputSampleRate, |
202 int adapterFlags = 0); | 219 int adapterFlags = 0); |
203 | 220 |
204 /** | 221 /** |
222 * Load a Vamp plugin, given its key, inputSampleRate and the | |
223 * adapter flags, bundled into a LoadRequest structure. The loaded | |
224 * plugin is returned along with its static data and default | |
225 * configuration in a LoadResponse. | |
226 * | |
227 * \see AdapterFlags, PluginInputDomainAdapter, PluginChannelAdapter, LoadRequest, LoadResponse | |
228 */ | |
229 LoadResponse loadPlugin(LoadRequest req); | |
230 | |
231 /** | |
232 * Configure and initialise a Vamp plugin. This applies the | |
233 * parameter and program settings found in the PluginConfiguration | |
234 * part of the supplied ConfigurationRequest and initialises the | |
235 * plugin. (Many hosts will prefer to do this themselves in | |
236 * stages, by calling methods on the plugin directly.) | |
237 * | |
238 * Return a ConfigurationResponse containing the result of calling | |
239 * getOutputDescriptors() on the configured and initialised | |
240 * plugin, representing the outputs of the plugin following | |
241 * configuration (since output ranges etc can depend on the | |
242 * parameters). If initialisation fails, returns an empty list. | |
243 * | |
244 * \see PluginConfiguration, ConfigurationRequest, ConfigurationResponse | |
245 */ | |
246 ConfigurationResponse configurePlugin(ConfigurationRequest req); | |
247 | |
248 /** | |
205 * Given a Vamp plugin library name and plugin identifier, return | 249 * Given a Vamp plugin library name and plugin identifier, return |
206 * the corresponding plugin key in a form suitable for passing in to | 250 * the corresponding plugin key in a form suitable for passing in to |
207 * loadPlugin(). | 251 * loadPlugin(). |
208 */ | 252 */ |
209 PluginKey composePluginKey(std::string libraryName, | 253 PluginKey composePluginKey(std::string libraryName, |