comparison vamp-support/RequestResponse.h @ 185:3eb00e5c76c4

Pull step & block size out into framing struct, return in config Update the C++ code to separate out the framing parameters (step and block size) from the configuration structure into their own structure, as in the latest schema, and to return the accepted framing params in the configuration response. This also implies that the plugin stub (which adapts Piper API back to Vamp) makes a note of the returned values, making them available via its own getPreferredStep/BlockSize so that the host can retry the initialise call in the case where it failed for having the wrong values first time.
author Chris Cannam <cannam@all-day-breakfast.com>
date Fri, 03 Feb 2017 16:23:21 +0000
parents 5b113c87b6e6
children 02de5df3a884
comparison
equal deleted inserted replaced
184:150cfa0c71e1 185:3eb00e5c76c4
185 * \class ConfigurationResponse 185 * \class ConfigurationResponse
186 * 186 *
187 * The return value from a configuration request (i.e. setting the 187 * The return value from a configuration request (i.e. setting the
188 * parameters and initialising the plugin). If the configuration was 188 * parameters and initialising the plugin). If the configuration was
189 * successful, the output list will contain the final 189 * successful, the output list will contain the final
190 * post-initialisation output descriptors. If configuration failed, 190 * post-initialisation output descriptors and the required step and
191 * block size. (The step and block size will usually match those
192 * passed to configure, but may differ if the parameter settings
193 * turned out to be incompatible with those.) If configuration failed,
191 * the output list will be empty. 194 * the output list will be empty.
192 * 195 *
193 * \see PluginConfiguration, ConfigurationRequest, LoadRequest, LoadResponse 196 * \see PluginConfiguration, ConfigurationRequest, LoadRequest, LoadResponse
194 */ 197 */
195 struct ConfigurationResponse 198 struct ConfigurationResponse
198 ConfigurationResponse() : // failed by default 201 ConfigurationResponse() : // failed by default
199 plugin(0) { } 202 plugin(0) { }
200 203
201 Vamp::Plugin *plugin; 204 Vamp::Plugin *plugin;
202 Vamp::Plugin::OutputList outputs; 205 Vamp::Plugin::OutputList outputs;
206 Framing framing;
203 }; 207 };
204 208
205 /** 209 /**
206 * \class ProcessRequest 210 * \class ProcessRequest
207 * 211 *