comparison vamp-hostsdk/RequestResponse.h @ 431:2819b5c9a395 vampipe

Use ConfigurationRequest/Response, introduce ProcessRequest/Response.
author Chris Cannam
date Wed, 18 May 2016 10:53:19 +0100
parents fbdb06ce1e9a
children 8dea61e4a7be
comparison
equal deleted inserted replaced
430:fbdb06ce1e9a 431:2819b5c9a395
153 * 153 *
154 * A wrapper for a plugin pointer and PluginConfiguration, bundling up 154 * A wrapper for a plugin pointer and PluginConfiguration, bundling up
155 * the data needed to configure a plugin after it has been loaded. 155 * the data needed to configure a plugin after it has been loaded.
156 * 156 *
157 * \see PluginConfiguration, ConfigurationResponse, LoadRequest, LoadResponse 157 * \see PluginConfiguration, ConfigurationResponse, LoadRequest, LoadResponse
158 *
159 * \note This class was introduced in version 2.7 of the Vamp plugin
160 * SDK, along with the PluginLoader method that returns this structure.
158 */ 161 */
159 struct ConfigurationRequest 162 struct ConfigurationRequest
160 { 163 {
161 public: 164 public:
162 ConfigurationRequest() : // invalid request by default 165 ConfigurationRequest() : // invalid request by default
174 * successful, the output list will contain the final 177 * successful, the output list will contain the final
175 * post-initialisation output descriptors. If configuration failed, 178 * post-initialisation output descriptors. If configuration failed,
176 * the output list will be empty. 179 * the output list will be empty.
177 * 180 *
178 * \see PluginConfiguration, ConfigurationRequest, LoadRequest, LoadResponse 181 * \see PluginConfiguration, ConfigurationRequest, LoadRequest, LoadResponse
182 *
183 * \note This class was introduced in version 2.7 of the Vamp plugin
184 * SDK, along with the PluginLoader method that returns this structure.
179 */ 185 */
180 struct ConfigurationResponse 186 struct ConfigurationResponse
181 { 187 {
182 public: 188 public:
183 ConfigurationResponse() // failed by default 189 ConfigurationResponse() // failed by default
184 { } 190 { }
185 191
186 Plugin::OutputList outputs; 192 Plugin::OutputList outputs;
187 }; 193 };
188 194
195 /**
196 * \class ProcessRequest RequestResponse.h <vamp-hostsdk/RequestResponse.h>
197 *
198 * A structure that bundles the necessary data for making a process
199 * call: plugin, input buffers, and timestamp. Caller retains
200 * ownership of the plugin, but the buffers are passed "by value" to
201 * avoid ownership concerns.
202 *
203 * \see Plugin::process()
204 *
205 * \note This class was introduced in version 2.7 of the Vamp plugin
206 * SDK, but it is not currently used by the SDK. It is supplied as a
207 * convenience for code using the SDK, and for symmetry with the load
208 * and configuration request structs.
209 */
210 struct ProcessRequest
211 {
212 public:
213 ProcessRequest() : // invalid by default
214 plugin(0) { }
215
216 Plugin *plugin;
217 RealTime timestamp;
218 std::vector<std::vector<float> > input;
219 };
220
221 /**
222 * \class ProcessResponse RequestResponse.h <vamp-hostsdk/RequestResponse.h>
223 *
224 * A structure that bundles the data returned by a process call and by
225 * Plugin::getRemainingFeatures(). This is simply a FeatureSet
226 * wrapper, named for symmetry with the other request-response pairs.
227 *
228 * \see Plugin::process(), Plugin::getRemainingFeatures()
229 *
230 * \note This class was introduced in version 2.7 of the Vamp plugin
231 * SDK, but it is not currently used by the SDK. It is supplied as a
232 * convenience for code using the SDK, and for symmetry with the load
233 * and configuration request structs.
234 */
235 struct ProcessResponse
236 {
237 public:
238 ProcessResponse() // empty by default
239 { }
240
241 Plugin::FeatureSet features;
242 };
243
189 } 244 }
190 245
191 } 246 }
192 247
193 _VAMP_SDK_HOSTSPACE_END(RequestResponse.h) 248 _VAMP_SDK_HOSTSPACE_END(RequestResponse.h)