comparison code-doc/classZeroCrossing.html @ 21:cc0be37dc9d3 website

* Updates for 2.0
author cannam
date Tue, 09 Dec 2008 11:02:57 +0000
parents 351c4ebce5f9
children 0976232e353b
comparison
equal deleted inserted replaced
20:34e758355884 21:cc0be37dc9d3
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 <title>VampPluginSDK: ZeroCrossing Class Reference</title> 3 <title>VampPluginSDK: ZeroCrossing Class Reference</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css"> 4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css"> 5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body> 6 </head><body>
7 <!-- Generated by Doxygen 1.5.5 --> 7 <!-- Generated by Doxygen 1.5.6 -->
8 <div class="navigation" id="top"> 8 <div class="navigation" id="top">
9 <div class="tabs"> 9 <div class="tabs">
10 <ul> 10 <ul>
11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li> 11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12 <li><a href="namespaces.html"><span>Namespaces</span></a></li> 12 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
29 <div class="dynheader"> 29 <div class="dynheader">
30 Inheritance diagram for ZeroCrossing:</div> 30 Inheritance diagram for ZeroCrossing:</div>
31 <div class="dynsection"> 31 <div class="dynsection">
32 <p><center><img src="classZeroCrossing__inherit__graph.png" border="0" usemap="#ZeroCrossing__inherit__map" alt="Inheritance graph"></center> 32 <p><center><img src="classZeroCrossing__inherit__graph.png" border="0" usemap="#ZeroCrossing__inherit__map" alt="Inheritance graph"></center>
33 <map name="ZeroCrossing__inherit__map"> 33 <map name="ZeroCrossing__inherit__map">
34 <area shape="rect" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction..." alt="" coords="20,82,119,106"><area shape="rect" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="5,7,133,31"></map> 34 <area shape="rect" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction..." alt="" coords="20,80,119,107"><area shape="rect" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="5,6,133,32"></map>
35 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div> 35 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
36 36
37 <p> 37 <p>
38 <a href="classZeroCrossing-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> 38 <a href="classZeroCrossing-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
39 Example plugin that calculates the positions and density of zero-crossing points in an audio waveform. 39 Example plugin that calculates the positions and density of zero-crossing points in an audio waveform.
114 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#be13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr> 114 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#be13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr>
115 115
116 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to distinguish between <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction...">Vamp::Plugin</a> and other potential sibling subclasses of <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a>. <a href="#be13b3997a69fbcc09e2213faa352f91"></a><br></td></tr> 116 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to distinguish between <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction...">Vamp::Plugin</a> and other potential sibling subclasses of <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a>. <a href="#be13b3997a69fbcc09e2213faa352f91"></a><br></td></tr>
117 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a> () const </td></tr> 117 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a> () const </td></tr>
118 118
119 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html" title="If you want to compile using FFTW instead of the built-in FFT implementation for...">Vamp</a> API compatibility level of the plugin. <a href="#8fd2c48291c64b790f0efb8948508dcf"></a><br></td></tr> 119 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#8fd2c48291c64b790f0efb8948508dcf"></a><br></td></tr>
120 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ac3e49b3b66cacfbb768dfdf07444f21">getParameterDescriptors</a> () const </td></tr> 120 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ac3e49b3b66cacfbb768dfdf07444f21">getParameterDescriptors</a> () const </td></tr>
121 121
122 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#ac3e49b3b66cacfbb768dfdf07444f21"></a><br></td></tr> 122 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#ac3e49b3b66cacfbb768dfdf07444f21"></a><br></td></tr>
123 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#97ababcd45348ceec998d0f8e0f38bf7">getParameter</a> (std::string) const </td></tr> 123 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#97ababcd45348ceec998d0f8e0f38bf7">getParameter</a> (std::string) const </td></tr>
124 124
155 </div> 155 </div>
156 <div class="memdoc"> 156 <div class="memdoc">
157 157
158 <p> 158 <p>
159 159
160 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00309">309</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p> 160 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00322">322</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
161 161
162 </div> 162 </div>
163 </div><p> 163 </div><p>
164 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="ZeroCrossing::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" --> 164 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="ZeroCrossing::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" -->
165 <div class="memitem"> 165 <div class="memitem">
172 </div> 172 </div>
173 <div class="memdoc"> 173 <div class="memdoc">
174 174
175 <p> 175 <p>
176 176
177 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00347">347</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p> 177 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00380">380</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
178 178
179 </div> 179 </div>
180 </div><p> 180 </div><p>
181 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="ZeroCrossing::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" --> 181 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="ZeroCrossing::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" -->
182 <div class="memitem"> 182 <div class="memitem">
189 </div> 189 </div>
190 <div class="memdoc"> 190 <div class="memdoc">
191 191
192 <p> 192 <p>
193 193
194 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00348">348</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p> 194 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00382">382</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
195 195
196 </div> 196 </div>
197 </div><p> 197 </div><p>
198 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="ZeroCrossing::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> 198 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="ZeroCrossing::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" -->
199 <div class="memitem"> 199 <div class="memitem">
206 </div> 206 </div>
207 <div class="memdoc"> 207 <div class="memdoc">
208 208
209 <p> 209 <p>
210 210
211 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00195">195</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p> 211 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00203">203</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
212 212
213 </div> 213 </div>
214 </div><p> 214 </div><p>
215 <a class="anchor" name="7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="ZeroCrossing::ProgramList" ref="7f66f00437b21e5f694fe02356b12f20" args="" --> 215 <a class="anchor" name="7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="ZeroCrossing::ProgramList" ref="7f66f00437b21e5f694fe02356b12f20" args="" -->
216 <div class="memitem"> 216 <div class="memitem">
223 </div> 223 </div>
224 <div class="memdoc"> 224 <div class="memdoc">
225 225
226 <p> 226 <p>
227 227
228 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00217">217</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p> 228 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00225">225</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
229 229
230 </div> 230 </div>
231 </div><p> 231 </div><p>
232 <hr><h2>Member Enumeration Documentation</h2> 232 <hr><h2>Member Enumeration Documentation</h2>
233 <a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="ZeroCrossing::InputDomain" ref="39cb7649d6dcc20e4cb1640cd55907bc" args="" --> 233 <a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="ZeroCrossing::InputDomain" ref="39cb7649d6dcc20e4cb1640cd55907bc" args="" -->
249 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em>&nbsp;</td><td> 249 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em>&nbsp;</td><td>
250 </td></tr> 250 </td></tr>
251 </table> 251 </table>
252 </dl> 252 </dl>
253 253
254 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00149">149</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p> 254 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00152">152</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
255 255
256 </div> 256 </div>
257 </div><p> 257 </div><p>
258 <hr><h2>Constructor &amp; Destructor Documentation</h2> 258 <hr><h2>Constructor &amp; Destructor Documentation</h2>
259 <a class="anchor" name="9855153a54bdc9ba75cc1a705a149473"></a><!-- doxytag: member="ZeroCrossing::ZeroCrossing" ref="9855153a54bdc9ba75cc1a705a149473" args="(float inputSampleRate)" --> 259 <a class="anchor" name="9855153a54bdc9ba75cc1a705a149473"></a><!-- doxytag: member="ZeroCrossing::ZeroCrossing" ref="9855153a54bdc9ba75cc1a705a149473" args="(float inputSampleRate)" -->
264 <td class="memname">ZeroCrossing::ZeroCrossing </td> 264 <td class="memname">ZeroCrossing::ZeroCrossing </td>
265 <td>(</td> 265 <td>(</td>
266 <td class="paramtype">float&nbsp;</td> 266 <td class="paramtype">float&nbsp;</td>
267 <td class="paramname"> <em>inputSampleRate</em> </td> 267 <td class="paramname"> <em>inputSampleRate</em> </td>
268 <td>&nbsp;)&nbsp;</td> 268 <td>&nbsp;)&nbsp;</td>
269 <td width="100%"></td> 269 <td></td>
270 </tr> 270 </tr>
271 </table> 271 </table>
272 </div> 272 </div>
273 <div class="memdoc"> 273 <div class="memdoc">
274 274
275 <p> 275 <p>
276 276
277 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00045">45</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p> 277 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00046">46</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p>
278 278
279 </div> 279 </div>
280 </div><p> 280 </div><p>
281 <a class="anchor" name="f1de0da862e6e2443581e4e16044675b"></a><!-- doxytag: member="ZeroCrossing::~ZeroCrossing" ref="f1de0da862e6e2443581e4e16044675b" args="()" --> 281 <a class="anchor" name="f1de0da862e6e2443581e4e16044675b"></a><!-- doxytag: member="ZeroCrossing::~ZeroCrossing" ref="f1de0da862e6e2443581e4e16044675b" args="()" -->
282 <div class="memitem"> 282 <div class="memitem">
285 <tr> 285 <tr>
286 <td class="memname">ZeroCrossing::~ZeroCrossing </td> 286 <td class="memname">ZeroCrossing::~ZeroCrossing </td>
287 <td>(</td> 287 <td>(</td>
288 <td class="paramname"> </td> 288 <td class="paramname"> </td>
289 <td>&nbsp;)&nbsp;</td> 289 <td>&nbsp;)&nbsp;</td>
290 <td width="100%"><code> [virtual]</code></td> 290 <td><code> [virtual]</code></td>
291 </tr> 291 </tr>
292 </table> 292 </table>
293 </div> 293 </div>
294 <div class="memdoc"> 294 <div class="memdoc">
295 295
296 <p> 296 <p>
297 297
298 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00052">52</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p> 298 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00053">53</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p>
299 299
300 </div> 300 </div>
301 </div><p> 301 </div><p>
302 <hr><h2>Member Function Documentation</h2> 302 <hr><h2>Member Function Documentation</h2>
303 <a class="anchor" name="f21bbcc87a6eb7875dfab7d86222dccc"></a><!-- doxytag: member="ZeroCrossing::initialise" ref="f21bbcc87a6eb7875dfab7d86222dccc" args="(size_t channels, size_t stepSize, size_t blockSize)" --> 303 <a class="anchor" name="f21bbcc87a6eb7875dfab7d86222dccc"></a><!-- doxytag: member="ZeroCrossing::initialise" ref="f21bbcc87a6eb7875dfab7d86222dccc" args="(size_t channels, size_t stepSize, size_t blockSize)" -->
323 <td class="paramname"> <em>blockSize</em></td><td>&nbsp;</td> 323 <td class="paramname"> <em>blockSize</em></td><td>&nbsp;</td>
324 </tr> 324 </tr>
325 <tr> 325 <tr>
326 <td></td> 326 <td></td>
327 <td>)</td> 327 <td>)</td>
328 <td></td><td></td><td width="100%"><code> [virtual]</code></td> 328 <td></td><td></td><td><code> [virtual]</code></td>
329 </tr> 329 </tr>
330 </table> 330 </table>
331 </div> 331 </div>
332 <div class="memdoc"> 332 <div class="memdoc">
333 333
336 <p> 336 <p>
337 The input sample rate should have been already specified at construction time.<p> 337 The input sample rate should have been already specified at construction time.<p>
338 Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. 338 Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported.
339 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822">Vamp::Plugin</a>.</p> 339 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822">Vamp::Plugin</a>.</p>
340 340
341 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00093">93</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p> 341 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00094">94</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p>
342 342
343 <p>References <a class="el" href="Plugin_8h-source.html#l00196">Vamp::Plugin::getMaxChannelCount()</a>, <a class="el" href="Plugin_8h-source.html#l00191">Vamp::Plugin::getMinChannelCount()</a>, and <a class="el" href="ZeroCrossing_8h-source.html#l00073">m_stepSize</a>.</p> 343 <p>References <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00199">Vamp::Plugin::getMaxChannelCount()</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00194">Vamp::Plugin::getMinChannelCount()</a>, and <a class="el" href="ZeroCrossing_8h-source.html#l00073">m_stepSize</a>.</p>
344 344
345 </div> 345 </div>
346 </div><p> 346 </div><p>
347 <a class="anchor" name="9ae6c4a31ea027dceb1e97ead807e228"></a><!-- doxytag: member="ZeroCrossing::reset" ref="9ae6c4a31ea027dceb1e97ead807e228" args="()" --> 347 <a class="anchor" name="9ae6c4a31ea027dceb1e97ead807e228"></a><!-- doxytag: member="ZeroCrossing::reset" ref="9ae6c4a31ea027dceb1e97ead807e228" args="()" -->
348 <div class="memitem"> 348 <div class="memitem">
351 <tr> 351 <tr>
352 <td class="memname">void ZeroCrossing::reset </td> 352 <td class="memname">void ZeroCrossing::reset </td>
353 <td>(</td> 353 <td>(</td>
354 <td class="paramname"> </td> 354 <td class="paramname"> </td>
355 <td>&nbsp;)&nbsp;</td> 355 <td>&nbsp;)&nbsp;</td>
356 <td width="100%"><code> [virtual]</code></td> 356 <td><code> [virtual]</code></td>
357 </tr> 357 </tr>
358 </table> 358 </table>
359 </div> 359 </div>
360 <div class="memdoc"> 360 <div class="memdoc">
361 361
363 Reset the plugin after use, to prepare it for another clean run. 363 Reset the plugin after use, to prepare it for another clean run.
364 <p> 364 <p>
365 Not called for the first initialisation (i.e. initialise must also do a reset). 365 Not called for the first initialisation (i.e. initialise must also do a reset).
366 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a>.</p> 366 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a>.</p>
367 367
368 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00104">104</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p> 368 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00105">105</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p>
369 369
370 <p>References <a class="el" href="ZeroCrossing_8h-source.html#l00074">m_previousSample</a>.</p> 370 <p>References <a class="el" href="ZeroCrossing_8h-source.html#l00074">m_previousSample</a>.</p>
371 371
372 </div> 372 </div>
373 </div><p> 373 </div><p>
378 <tr> 378 <tr>
379 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> ZeroCrossing::getInputDomain </td> 379 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> ZeroCrossing::getInputDomain </td>
380 <td>(</td> 380 <td>(</td>
381 <td class="paramname"> </td> 381 <td class="paramname"> </td>
382 <td>&nbsp;)&nbsp;</td> 382 <td>&nbsp;)&nbsp;</td>
383 <td width="100%"> const<code> [inline, virtual]</code></td> 383 <td> const<code> [inline, virtual]</code></td>
384 </tr> 384 </tr>
385 </table> 385 </table>
386 </div> 386 </div>
387 <div class="memdoc"> 387 <div class="memdoc">
388 388
392 If this is TimeDomain, the samples provided to the <a class="el" href="classZeroCrossing.html#bf4aaa6fd8cc03de63f4e1e8942633da" title="Process a single block of input data.">process()</a> function (below) will be in the time domain, as for a traditional audio processing plugin. If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classZeroCrossing.html#bf4aaa6fd8cc03de63f4e1e8942633da" title="Process a single block of input data.">process()</a>. The plugin does not get to choose the window type -- the host will either let the user do so, or will use a Hanning window. 392 If this is TimeDomain, the samples provided to the <a class="el" href="classZeroCrossing.html#bf4aaa6fd8cc03de63f4e1e8942633da" title="Process a single block of input data.">process()</a> function (below) will be in the time domain, as for a traditional audio processing plugin. If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classZeroCrossing.html#bf4aaa6fd8cc03de63f4e1e8942633da" title="Process a single block of input data.">process()</a>. The plugin does not get to choose the window type -- the host will either let the user do so, or will use a Hanning window.
393 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> 393 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p>
394 394
395 <p>Definition at line <a class="el" href="ZeroCrossing_8h-source.html#l00056">56</a> of file <a class="el" href="ZeroCrossing_8h-source.html">ZeroCrossing.h</a>.</p> 395 <p>Definition at line <a class="el" href="ZeroCrossing_8h-source.html#l00056">56</a> of file <a class="el" href="ZeroCrossing_8h-source.html">ZeroCrossing.h</a>.</p>
396 396
397 <p>References <a class="el" href="Plugin_8h-source.html#l00149">Vamp::Plugin::TimeDomain</a>.</p> 397 <p>References <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00152">Vamp::Plugin::TimeDomain</a>.</p>
398 398
399 </div> 399 </div>
400 </div><p> 400 </div><p>
401 <a class="anchor" name="f2baf9e19fcdd11cfe97ace56d4f5c1a"></a><!-- doxytag: member="ZeroCrossing::getIdentifier" ref="f2baf9e19fcdd11cfe97ace56d4f5c1a" args="() const " --> 401 <a class="anchor" name="f2baf9e19fcdd11cfe97ace56d4f5c1a"></a><!-- doxytag: member="ZeroCrossing::getIdentifier" ref="f2baf9e19fcdd11cfe97ace56d4f5c1a" args="() const " -->
402 <div class="memitem"> 402 <div class="memitem">
405 <tr> 405 <tr>
406 <td class="memname">string ZeroCrossing::getIdentifier </td> 406 <td class="memname">string ZeroCrossing::getIdentifier </td>
407 <td>(</td> 407 <td>(</td>
408 <td class="paramname"> </td> 408 <td class="paramname"> </td>
409 <td>&nbsp;)&nbsp;</td> 409 <td>&nbsp;)&nbsp;</td>
410 <td width="100%"> const<code> [virtual]</code></td> 410 <td> const<code> [virtual]</code></td>
411 </tr> 411 </tr>
412 </table> 412 </table>
413 </div> 413 </div>
414 <div class="memdoc"> 414 <div class="memdoc">
415 415
419 This should be reasonably short and contain no whitespace or punctuation characters. It may only contain the characters [a-zA-Z0-9_-]. This is the authoritative way for a program to identify a plugin within a given library.<p> 419 This should be reasonably short and contain no whitespace or punctuation characters. It may only contain the characters [a-zA-Z0-9_-]. This is the authoritative way for a program to identify a plugin within a given library.<p>
420 This text may be visible to the user, but it should not be the main text used to identify a plugin to the user (that will be the name, below).<p> 420 This text may be visible to the user, but it should not be the main text used to identify a plugin to the user (that will be the name, below).<p>
421 Example: "zero_crossings" 421 Example: "zero_crossings"
422 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#d1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p> 422 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#d1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p>
423 423
424 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00057">57</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p> 424 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00058">58</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p>
425 425
426 </div> 426 </div>
427 </div><p> 427 </div><p>
428 <a class="anchor" name="fa96f7ce6e7d9f03768f48c6a9d88498"></a><!-- doxytag: member="ZeroCrossing::getName" ref="fa96f7ce6e7d9f03768f48c6a9d88498" args="() const " --> 428 <a class="anchor" name="fa96f7ce6e7d9f03768f48c6a9d88498"></a><!-- doxytag: member="ZeroCrossing::getName" ref="fa96f7ce6e7d9f03768f48c6a9d88498" args="() const " -->
429 <div class="memitem"> 429 <div class="memitem">
432 <tr> 432 <tr>
433 <td class="memname">string ZeroCrossing::getName </td> 433 <td class="memname">string ZeroCrossing::getName </td>
434 <td>(</td> 434 <td>(</td>
435 <td class="paramname"> </td> 435 <td class="paramname"> </td>
436 <td>&nbsp;)&nbsp;</td> 436 <td>&nbsp;)&nbsp;</td>
437 <td width="100%"> const<code> [virtual]</code></td> 437 <td> const<code> [virtual]</code></td>
438 </tr> 438 </tr>
439 </table> 439 </table>
440 </div> 440 </div>
441 <div class="memdoc"> 441 <div class="memdoc">
442 442
445 <p> 445 <p>
446 This should be brief and self-contained, as it may be used to identify the plugin to the user in isolation (i.e. without also showing the plugin's "identifier").<p> 446 This should be brief and self-contained, as it may be used to identify the plugin to the user in isolation (i.e. without also showing the plugin's "identifier").<p>
447 Example: "Zero Crossings" 447 Example: "Zero Crossings"
448 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p> 448 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p>
449 449
450 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00063">63</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p> 450 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00064">64</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p>
451 451
452 </div> 452 </div>
453 </div><p> 453 </div><p>
454 <a class="anchor" name="710bb0b013157adaeef2a9e6867b4478"></a><!-- doxytag: member="ZeroCrossing::getDescription" ref="710bb0b013157adaeef2a9e6867b4478" args="() const " --> 454 <a class="anchor" name="710bb0b013157adaeef2a9e6867b4478"></a><!-- doxytag: member="ZeroCrossing::getDescription" ref="710bb0b013157adaeef2a9e6867b4478" args="() const " -->
455 <div class="memitem"> 455 <div class="memitem">
458 <tr> 458 <tr>
459 <td class="memname">string ZeroCrossing::getDescription </td> 459 <td class="memname">string ZeroCrossing::getDescription </td>
460 <td>(</td> 460 <td>(</td>
461 <td class="paramname"> </td> 461 <td class="paramname"> </td>
462 <td>&nbsp;)&nbsp;</td> 462 <td>&nbsp;)&nbsp;</td>
463 <td width="100%"> const<code> [virtual]</code></td> 463 <td> const<code> [virtual]</code></td>
464 </tr> 464 </tr>
465 </table> 465 </table>
466 </div> 466 </div>
467 <div class="memdoc"> 467 <div class="memdoc">
468 468
471 <p> 471 <p>
472 May be empty if the name has said it all already.<p> 472 May be empty if the name has said it all already.<p>
473 Example: "Detect and count zero crossing points" 473 Example: "Detect and count zero crossing points"
474 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p> 474 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p>
475 475
476 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00069">69</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p> 476 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00070">70</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p>
477 477
478 </div> 478 </div>
479 </div><p> 479 </div><p>
480 <a class="anchor" name="c68561634a3c329a029c2fd3deaeae2a"></a><!-- doxytag: member="ZeroCrossing::getMaker" ref="c68561634a3c329a029c2fd3deaeae2a" args="() const " --> 480 <a class="anchor" name="c68561634a3c329a029c2fd3deaeae2a"></a><!-- doxytag: member="ZeroCrossing::getMaker" ref="c68561634a3c329a029c2fd3deaeae2a" args="() const " -->
481 <div class="memitem"> 481 <div class="memitem">
484 <tr> 484 <tr>
485 <td class="memname">string ZeroCrossing::getMaker </td> 485 <td class="memname">string ZeroCrossing::getMaker </td>
486 <td>(</td> 486 <td>(</td>
487 <td class="paramname"> </td> 487 <td class="paramname"> </td>
488 <td>&nbsp;)&nbsp;</td> 488 <td>&nbsp;)&nbsp;</td>
489 <td width="100%"> const<code> [virtual]</code></td> 489 <td> const<code> [virtual]</code></td>
490 </tr> 490 </tr>
491 </table> 491 </table>
492 </div> 492 </div>
493 <div class="memdoc"> 493 <div class="memdoc">
494 494
496 Get the name of the author or vendor of the plugin in human-readable form. 496 Get the name of the author or vendor of the plugin in human-readable form.
497 <p> 497 <p>
498 This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. 498 This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar.
499 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p> 499 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p>
500 500
501 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00075">75</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p> 501 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00076">76</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p>
502 502
503 </div> 503 </div>
504 </div><p> 504 </div><p>
505 <a class="anchor" name="d685f6c2f443f07a1634550c335571eb"></a><!-- doxytag: member="ZeroCrossing::getPluginVersion" ref="d685f6c2f443f07a1634550c335571eb" args="() const " --> 505 <a class="anchor" name="d685f6c2f443f07a1634550c335571eb"></a><!-- doxytag: member="ZeroCrossing::getPluginVersion" ref="d685f6c2f443f07a1634550c335571eb" args="() const " -->
506 <div class="memitem"> 506 <div class="memitem">
509 <tr> 509 <tr>
510 <td class="memname">int ZeroCrossing::getPluginVersion </td> 510 <td class="memname">int ZeroCrossing::getPluginVersion </td>
511 <td>(</td> 511 <td>(</td>
512 <td class="paramname"> </td> 512 <td class="paramname"> </td>
513 <td>&nbsp;)&nbsp;</td> 513 <td>&nbsp;)&nbsp;</td>
514 <td width="100%"> const<code> [virtual]</code></td> 514 <td> const<code> [virtual]</code></td>
515 </tr> 515 </tr>
516 </table> 516 </table>
517 </div> 517 </div>
518 <div class="memdoc"> 518 <div class="memdoc">
519 519
521 Get the version number of the plugin. 521 Get the version number of the plugin.
522 <p> 522 <p>
523 523
524 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p> 524 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p>
525 525
526 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00081">81</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p> 526 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00082">82</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p>
527 527
528 </div> 528 </div>
529 </div><p> 529 </div><p>
530 <a class="anchor" name="f9c41b92aa8ff8bddaebf75569ff789c"></a><!-- doxytag: member="ZeroCrossing::getCopyright" ref="f9c41b92aa8ff8bddaebf75569ff789c" args="() const " --> 530 <a class="anchor" name="f9c41b92aa8ff8bddaebf75569ff789c"></a><!-- doxytag: member="ZeroCrossing::getCopyright" ref="f9c41b92aa8ff8bddaebf75569ff789c" args="() const " -->
531 <div class="memitem"> 531 <div class="memitem">
534 <tr> 534 <tr>
535 <td class="memname">string ZeroCrossing::getCopyright </td> 535 <td class="memname">string ZeroCrossing::getCopyright </td>
536 <td>(</td> 536 <td>(</td>
537 <td class="paramname"> </td> 537 <td class="paramname"> </td>
538 <td>&nbsp;)&nbsp;</td> 538 <td>&nbsp;)&nbsp;</td>
539 <td width="100%"> const<code> [virtual]</code></td> 539 <td> const<code> [virtual]</code></td>
540 </tr> 540 </tr>
541 </table> 541 </table>
542 </div> 542 </div>
543 <div class="memdoc"> 543 <div class="memdoc">
544 544
546 Get the copyright statement or licensing summary for the plugin. 546 Get the copyright statement or licensing summary for the plugin.
547 <p> 547 <p>
548 This can be an informative text, without the same presentation constraints as mentioned for getMaker above. 548 This can be an informative text, without the same presentation constraints as mentioned for getMaker above.
549 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#b7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p> 549 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#b7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p>
550 550
551 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00087">87</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p> 551 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00088">88</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p>
552 552
553 </div> 553 </div>
554 </div><p> 554 </div><p>
555 <a class="anchor" name="c9d590a6feb1fc9a37d7892aefe2b688"></a><!-- doxytag: member="ZeroCrossing::getOutputDescriptors" ref="c9d590a6feb1fc9a37d7892aefe2b688" args="() const " --> 555 <a class="anchor" name="c9d590a6feb1fc9a37d7892aefe2b688"></a><!-- doxytag: member="ZeroCrossing::getOutputDescriptors" ref="c9d590a6feb1fc9a37d7892aefe2b688" args="() const " -->
556 <div class="memitem"> 556 <div class="memitem">
559 <tr> 559 <tr>
560 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">ZeroCrossing::OutputList</a> ZeroCrossing::getOutputDescriptors </td> 560 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">ZeroCrossing::OutputList</a> ZeroCrossing::getOutputDescriptors </td>
561 <td>(</td> 561 <td>(</td>
562 <td class="paramname"> </td> 562 <td class="paramname"> </td>
563 <td>&nbsp;)&nbsp;</td> 563 <td>&nbsp;)&nbsp;</td>
564 <td width="100%"> const<code> [virtual]</code></td> 564 <td> const<code> [virtual]</code></td>
565 </tr> 565 </tr>
566 </table> 566 </table>
567 </div> 567 </div>
568 <div class="memdoc"> 568 <div class="memdoc">
569 569
571 Get the outputs of this plugin. 571 Get the outputs of this plugin.
572 <p> 572 <p>
573 An output's index in this list is used as its numeric index when looking it up in the FeatureSet returned from the <a class="el" href="classZeroCrossing.html#bf4aaa6fd8cc03de63f4e1e8942633da" title="Process a single block of input data.">process()</a> call. 573 An output's index in this list is used as its numeric index when looking it up in the FeatureSet returned from the <a class="el" href="classZeroCrossing.html#bf4aaa6fd8cc03de63f4e1e8942633da" title="Process a single block of input data.">process()</a> call.
574 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#d064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p> 574 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#d064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p>
575 575
576 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00110">110</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p> 576 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00111">111</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p>
577 577
578 <p>References <a class="el" href="Plugin_8h-source.html#l00239">Vamp::Plugin::OutputDescriptor::binCount</a>, <a class="el" href="Plugin_8h-source.html#l00219">Vamp::Plugin::OutputDescriptor::description</a>, <a class="el" href="Plugin_8h-source.html#l00231">Vamp::Plugin::OutputDescriptor::hasFixedBinCount</a>, <a class="el" href="Plugin_8h-source.html#l00252">Vamp::Plugin::OutputDescriptor::hasKnownExtents</a>, <a class="el" href="Plugin_8h-source.html#l00206">Vamp::Plugin::OutputDescriptor::identifier</a>, <a class="el" href="Plugin_8h-source.html#l00270">Vamp::Plugin::OutputDescriptor::isQuantized</a>, <a class="el" href="Plugin_8h-source.html#l00397">Vamp::Plugin::m_inputSampleRate</a>, <a class="el" href="Plugin_8h-source.html#l00212">Vamp::Plugin::OutputDescriptor::name</a>, <a class="el" href="Plugin_8h-source.html#l00282">Vamp::Plugin::OutputDescriptor::OneSamplePerStep</a>, <a class="el" href="Plugin_8h-source.html#l00277">Vamp::Plugin::OutputDescriptor::quantizeStep</a>, <a class="el" href="Plugin_8h-source.html#l00306">Vamp::Plugin::OutputDescriptor::sampleRate</a>, <a class="el" href="Plugin_8h-source.html#l00294">Vamp::Plugin::OutputDescriptor::sampleType</a>, <a class="el" href="Plugin_8h-source.html#l00224">Vamp::Plugin::OutputDescriptor::unit</a>, and <a class="el" href="Plugin_8h-source.html#l00288">Vamp::Plugin::OutputDescriptor::VariableSampleRate</a>.</p> 578 <p>References <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00242">Vamp::Plugin::OutputDescriptor::binCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00222">Vamp::Plugin::OutputDescriptor::description</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00234">Vamp::Plugin::OutputDescriptor::hasFixedBinCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00255">Vamp::Plugin::OutputDescriptor::hasKnownExtents</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00209">Vamp::Plugin::OutputDescriptor::identifier</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00273">Vamp::Plugin::OutputDescriptor::isQuantized</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00431">Vamp::Plugin::m_inputSampleRate</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00215">Vamp::Plugin::OutputDescriptor::name</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00285">Vamp::Plugin::OutputDescriptor::OneSamplePerStep</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00280">Vamp::Plugin::OutputDescriptor::quantizeStep</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00309">Vamp::Plugin::OutputDescriptor::sampleRate</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00297">Vamp::Plugin::OutputDescriptor::sampleType</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00227">Vamp::Plugin::OutputDescriptor::unit</a>, and <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00291">Vamp::Plugin::OutputDescriptor::VariableSampleRate</a>.</p>
579 579
580 </div> 580 </div>
581 </div><p> 581 </div><p>
582 <a class="anchor" name="bf4aaa6fd8cc03de63f4e1e8942633da"></a><!-- doxytag: member="ZeroCrossing::process" ref="bf4aaa6fd8cc03de63f4e1e8942633da" args="(const float *const *inputBuffers, Vamp::RealTime timestamp)" --> 582 <a class="anchor" name="bf4aaa6fd8cc03de63f4e1e8942633da"></a><!-- doxytag: member="ZeroCrossing::process" ref="bf4aaa6fd8cc03de63f4e1e8942633da" args="(const float *const *inputBuffers, Vamp::RealTime timestamp)" -->
583 <div class="memitem"> 583 <div class="memitem">
596 <td class="paramname"> <em>timestamp</em></td><td>&nbsp;</td> 596 <td class="paramname"> <em>timestamp</em></td><td>&nbsp;</td>
597 </tr> 597 </tr>
598 <tr> 598 <tr>
599 <td></td> 599 <td></td>
600 <td>)</td> 600 <td>)</td>
601 <td></td><td></td><td width="100%"><code> [virtual]</code></td> 601 <td></td><td></td><td><code> [virtual]</code></td>
602 </tr> 602 </tr>
603 </table> 603 </table>
604 </div> 604 </div>
605 <div class="memdoc"> 605 <div class="memdoc">
606 606
607 <p> 607 <p>
608 Process a single block of input data. 608 Process a single block of input data.
609 <p> 609 <p>
610 If the plugin's inputDomain is TimeDomain, inputBuffers will point to one array of floats per input channel, and each of these arrays will contain blockSize consecutive audio samples (the host will zero-pad as necessary). The timestamp will be the real time in seconds of the start of the supplied block of samples.<p> 610 If the plugin's inputDomain is TimeDomain, inputBuffers will point to one array of floats per input channel, and each of these arrays will contain blockSize consecutive audio samples (the host will zero-pad as necessary). The timestamp in this case will be the real time in seconds of the start of the supplied block of samples.<p>
611 If the plugin's inputDomain is FrequencyDomain, inputBuffers will point to one array of floats per input channel, and each of these arrays will contain blockSize/2+1 consecutive pairs of real and imaginary component floats corresponding to bins 0..(blockSize/2) of the FFT output. That is, bin 0 (the first pair of floats) contains the DC output, up to bin blockSize/2 which contains the Nyquist-frequency output. There will therefore be blockSize+2 floats per channel in total. The timestamp will be the real time in seconds of the centre of the FFT input window (i.e. the very first block passed to process might contain the FFT of half a block of zero samples and the first half-block of the actual data, with a timestamp of zero).<p> 611 If the plugin's inputDomain is FrequencyDomain, inputBuffers will point to one array of floats per input channel, and each of these arrays will contain blockSize/2+1 consecutive pairs of real and imaginary component floats corresponding to bins 0..(blockSize/2) of the FFT output. That is, bin 0 (the first pair of floats) contains the DC output, up to bin blockSize/2 which contains the Nyquist-frequency output. There will therefore be blockSize+2 floats per channel in total. The timestamp will be the real time in seconds of the centre of the FFT input window (i.e. the very first block passed to process might contain the FFT of half a block of zero samples and the first half-block of the actual data, with a timestamp of zero).<p>
612 Return any features that have become available after this process call. (These do not necessarily have to fall within the process block, except for OneSamplePerStep outputs.) 612 Return any features that have become available after this process call. (These do not necessarily have to fall within the process block, except for OneSamplePerStep outputs.)
613 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin</a>.</p> 613 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin</a>.</p>
614 614
615 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00141">141</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p> 615 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00142">142</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p>
616 616
617 <p>References <a class="el" href="RealTime_8cpp-source.html#l00232">Vamp::RealTime::frame2RealTime()</a>, <a class="el" href="Plugin_8h-source.html#l00325">Vamp::Plugin::Feature::hasTimestamp</a>, <a class="el" href="Plugin_8h-source.html#l00397">Vamp::Plugin::m_inputSampleRate</a>, <a class="el" href="ZeroCrossing_8h-source.html#l00074">m_previousSample</a>, <a class="el" href="ZeroCrossing_8h-source.html#l00073">m_stepSize</a>, <a class="el" href="Plugin_8h-source.html#l00332">Vamp::Plugin::Feature::timestamp</a>, and <a class="el" href="Plugin_8h-source.html#l00339">Vamp::Plugin::Feature::values</a>.</p> 617 <p>References <a class="el" href="structVamp_1_1RealTime.html#939b4b1d1ca190db69a418883f16ce8a">Vamp::RealTime::frame2RealTime()</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00339">Vamp::Plugin::Feature::hasTimestamp</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00431">Vamp::Plugin::m_inputSampleRate</a>, <a class="el" href="ZeroCrossing_8h-source.html#l00074">m_previousSample</a>, <a class="el" href="ZeroCrossing_8h-source.html#l00073">m_stepSize</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00347">Vamp::Plugin::Feature::timestamp</a>, and <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00369">Vamp::Plugin::Feature::values</a>.</p>
618 618
619 </div> 619 </div>
620 </div><p> 620 </div><p>
621 <a class="anchor" name="70996d1b7166e303903daf92a9a37ad8"></a><!-- doxytag: member="ZeroCrossing::getRemainingFeatures" ref="70996d1b7166e303903daf92a9a37ad8" args="()" --> 621 <a class="anchor" name="70996d1b7166e303903daf92a9a37ad8"></a><!-- doxytag: member="ZeroCrossing::getRemainingFeatures" ref="70996d1b7166e303903daf92a9a37ad8" args="()" -->
622 <div class="memitem"> 622 <div class="memitem">
625 <tr> 625 <tr>
626 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">ZeroCrossing::FeatureSet</a> ZeroCrossing::getRemainingFeatures </td> 626 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">ZeroCrossing::FeatureSet</a> ZeroCrossing::getRemainingFeatures </td>
627 <td>(</td> 627 <td>(</td>
628 <td class="paramname"> </td> 628 <td class="paramname"> </td>
629 <td>&nbsp;)&nbsp;</td> 629 <td>&nbsp;)&nbsp;</td>
630 <td width="100%"><code> [virtual]</code></td> 630 <td><code> [virtual]</code></td>
631 </tr> 631 </tr>
632 </table> 632 </table>
633 </div> 633 </div>
634 <div class="memdoc"> 634 <div class="memdoc">
635 635
637 After all blocks have been processed, calculate and return any remaining features derived from the complete input. 637 After all blocks have been processed, calculate and return any remaining features derived from the complete input.
638 <p> 638 <p>
639 639
640 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#eca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a>.</p> 640 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#eca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a>.</p>
641 641
642 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00190">190</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p> 642 <p>Definition at line <a class="el" href="ZeroCrossing_8cpp-source.html#l00191">191</a> of file <a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a>.</p>
643 643
644 </div> 644 </div>
645 </div><p> 645 </div><p>
646 <a class="anchor" name="a529adf83f87a603954eb31407602aac"></a><!-- doxytag: member="ZeroCrossing::getPreferredBlockSize" ref="a529adf83f87a603954eb31407602aac" args="() const " --> 646 <a class="anchor" name="a529adf83f87a603954eb31407602aac"></a><!-- doxytag: member="ZeroCrossing::getPreferredBlockSize" ref="a529adf83f87a603954eb31407602aac" args="() const " -->
647 <div class="memitem"> 647 <div class="memitem">
650 <tr> 650 <tr>
651 <td class="memname">virtual size_t Vamp::Plugin::getPreferredBlockSize </td> 651 <td class="memname">virtual size_t Vamp::Plugin::getPreferredBlockSize </td>
652 <td>(</td> 652 <td>(</td>
653 <td class="paramname"> </td> 653 <td class="paramname"> </td>
654 <td>&nbsp;)&nbsp;</td> 654 <td>&nbsp;)&nbsp;</td>
655 <td width="100%"> const<code> [inline, virtual, inherited]</code></td> 655 <td> const<code> [inline, virtual, inherited]</code></td>
656 </tr> 656 </tr>
657 </table> 657 </table>
658 </div> 658 </div>
659 <div class="memdoc"> 659 <div class="memdoc">
660 660
661 <p> 661 <p>
662 Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). 662 Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function).
663 <p> 663 <p>
664 This should be called before <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a>.<p> 664 This should be called before <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a>.<p>
665 A plugin that can handle any block size may return 0. The final block size will be set in the <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a> call. 665 A plugin that can handle any block size may return 0. The final block size will be set in the <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a> call.
666 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#d5e0ea8042bdec4dd18428991117e07a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#2c62a656313a819650656643a867ad01">Vamp::HostExt::PluginWrapper</a>, and <a class="el" href="classPercussionOnsetDetector.html#410c0b47c6c849d7ed9b726b84402ad0">PercussionOnsetDetector</a>.</p> 666 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#21e45180b19873f9ab69fe7a4e184a03">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#d5e0ea8042bdec4dd18428991117e07a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#2c62a656313a819650656643a867ad01">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#68b8569b71504a0478caf990dbe30683">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#410c0b47c6c849d7ed9b726b84402ad0">PercussionOnsetDetector</a>.</p>
667 667
668 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00171">171</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p> 668 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00174">174</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
669 669
670 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00164">Vamp::HostExt::PluginWrapper::getPreferredBlockSize()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00283">Vamp::HostExt::PluginInputDomainAdapter::Impl::getPreferredBlockSize()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00314">Vamp::HostExt::PluginBufferingAdapter::Impl::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p> 670 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p>
671 671
672 </div> 672 </div>
673 </div><p> 673 </div><p>
674 <a class="anchor" name="514c716c22f81c055f19b56c3f882567"></a><!-- doxytag: member="ZeroCrossing::getPreferredStepSize" ref="514c716c22f81c055f19b56c3f882567" args="() const " --> 674 <a class="anchor" name="514c716c22f81c055f19b56c3f882567"></a><!-- doxytag: member="ZeroCrossing::getPreferredStepSize" ref="514c716c22f81c055f19b56c3f882567" args="() const " -->
675 <div class="memitem"> 675 <div class="memitem">
678 <tr> 678 <tr>
679 <td class="memname">virtual size_t Vamp::Plugin::getPreferredStepSize </td> 679 <td class="memname">virtual size_t Vamp::Plugin::getPreferredStepSize </td>
680 <td>(</td> 680 <td>(</td>
681 <td class="paramname"> </td> 681 <td class="paramname"> </td>
682 <td>&nbsp;)&nbsp;</td> 682 <td>&nbsp;)&nbsp;</td>
683 <td width="100%"> const<code> [inline, virtual, inherited]</code></td> 683 <td> const<code> [inline, virtual, inherited]</code></td>
684 </tr> 684 </tr>
685 </table> 685 </table>
686 </div> 686 </div>
687 <div class="memdoc"> 687 <div class="memdoc">
688 688
689 <p> 689 <p>
690 Get the preferred step size (window increment -- the distance in sample frames between the start frames of consecutive blocks passed to the <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. 690 Get the preferred step size (window increment -- the distance in sample frames between the start frames of consecutive blocks passed to the <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin.
691 <p> 691 <p>
692 This should be called before <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a>.<p> 692 This should be called before <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a>.<p>
693 A plugin may return 0 if it has no particular interest in the step size. In this case, the host should make the step size equal to the block size if the plugin is accepting input in the time domain. If the plugin is accepting input in the frequency domain, the host may use any step size. The final step size will be set in the <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a> call. 693 A plugin may return 0 if it has no particular interest in the step size. In this case, the host should make the step size equal to the block size if the plugin is accepting input in the time domain. If the plugin is accepting input in the frequency domain, the host may use any step size. The final step size will be set in the <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a> call.
694 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#859ad5d59402691daed3cf1af1899ebe">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#d979af9f1cbf2eeb16f4eaedb4a4f565">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a>, and <a class="el" href="classPercussionOnsetDetector.html#733824891e11c306a7a678534b89b968">PercussionOnsetDetector</a>.</p> 694 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#859ad5d59402691daed3cf1af1899ebe">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#d979af9f1cbf2eeb16f4eaedb4a4f565">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#d450bb7e7df559ae3d68dfbfb085676f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#733824891e11c306a7a678534b89b968">PercussionOnsetDetector</a>.</p>
695 695
696 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00186">186</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p> 696 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00189">189</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
697 697
698 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00158">Vamp::HostExt::PluginWrapper::getPreferredStepSize()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00271">Vamp::HostExt::PluginInputDomainAdapter::Impl::getPreferredStepSize()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00314">Vamp::HostExt::PluginBufferingAdapter::Impl::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p> 698 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p>
699 699
700 </div> 700 </div>
701 </div><p> 701 </div><p>
702 <a class="anchor" name="267b42e866df3cf0d190893e8096f525"></a><!-- doxytag: member="ZeroCrossing::getMinChannelCount" ref="267b42e866df3cf0d190893e8096f525" args="() const " --> 702 <a class="anchor" name="267b42e866df3cf0d190893e8096f525"></a><!-- doxytag: member="ZeroCrossing::getMinChannelCount" ref="267b42e866df3cf0d190893e8096f525" args="() const " -->
703 <div class="memitem"> 703 <div class="memitem">
706 <tr> 706 <tr>
707 <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td> 707 <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td>
708 <td>(</td> 708 <td>(</td>
709 <td class="paramname"> </td> 709 <td class="paramname"> </td>
710 <td>&nbsp;)&nbsp;</td> 710 <td>&nbsp;)&nbsp;</td>
711 <td width="100%"> const<code> [inline, virtual, inherited]</code></td> 711 <td> const<code> [inline, virtual, inherited]</code></td>
712 </tr> 712 </tr>
713 </table> 713 </table>
714 </div> 714 </div>
715 <div class="memdoc"> 715 <div class="memdoc">
716 716
718 Get the minimum supported number of input channels. 718 Get the minimum supported number of input channels.
719 <p> 719 <p>
720 720
721 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#67d1198c0e58d3f0076d0eda599ff28d">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#2b28f1cf37d46a514f1e1411a6037bf8">Vamp::HostExt::PluginWrapper</a>.</p> 721 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#67d1198c0e58d3f0076d0eda599ff28d">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#2b28f1cf37d46a514f1e1411a6037bf8">Vamp::HostExt::PluginWrapper</a>.</p>
722 722
723 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00191">191</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p> 723 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00194">194</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
724 724
725 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00170">Vamp::HostExt::PluginWrapper::getMinChannelCount()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00093">initialise()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00095">SpectralCentroid::initialise()</a>, <a class="el" href="PluginChannelAdapter_8cpp-source.html#l00119">Vamp::HostExt::PluginChannelAdapter::Impl::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">AmplitudeFollower::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p> 725 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00094">initialise()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00099">SpectralCentroid::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp-source.html#l00092">PowerSpectrum::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp-source.html#l00676">FixedTempoEstimator::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">AmplitudeFollower::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p>
726 726
727 </div> 727 </div>
728 </div><p> 728 </div><p>
729 <a class="anchor" name="2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="ZeroCrossing::getMaxChannelCount" ref="2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " --> 729 <a class="anchor" name="2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="ZeroCrossing::getMaxChannelCount" ref="2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " -->
730 <div class="memitem"> 730 <div class="memitem">
733 <tr> 733 <tr>
734 <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td> 734 <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td>
735 <td>(</td> 735 <td>(</td>
736 <td class="paramname"> </td> 736 <td class="paramname"> </td>
737 <td>&nbsp;)&nbsp;</td> 737 <td>&nbsp;)&nbsp;</td>
738 <td width="100%"> const<code> [inline, virtual, inherited]</code></td> 738 <td> const<code> [inline, virtual, inherited]</code></td>
739 </tr> 739 </tr>
740 </table> 740 </table>
741 </div> 741 </div>
742 <div class="memdoc"> 742 <div class="memdoc">
743 743
745 Get the maximum supported number of input channels. 745 Get the maximum supported number of input channels.
746 <p> 746 <p>
747 747
748 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#25091905e97e39d515d8ffc1a9f2b9e0">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#985eb21f1827bfbc3950d6871b107a58">Vamp::HostExt::PluginWrapper</a>.</p> 748 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#25091905e97e39d515d8ffc1a9f2b9e0">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#985eb21f1827bfbc3950d6871b107a58">Vamp::HostExt::PluginWrapper</a>.</p>
749 749
750 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00196">196</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p> 750 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00199">199</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
751 751
752 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00175">Vamp::HostExt::PluginWrapper::getMaxChannelCount()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00093">initialise()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00095">SpectralCentroid::initialise()</a>, <a class="el" href="PluginChannelAdapter_8cpp-source.html#l00119">Vamp::HostExt::PluginChannelAdapter::Impl::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">AmplitudeFollower::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p> 752 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00094">initialise()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00099">SpectralCentroid::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp-source.html#l00092">PowerSpectrum::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp-source.html#l00676">FixedTempoEstimator::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">AmplitudeFollower::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p>
753 753
754 </div> 754 </div>
755 </div><p> 755 </div><p>
756 <a class="anchor" name="be13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="ZeroCrossing::getType" ref="be13b3997a69fbcc09e2213faa352f91" args="() const " --> 756 <a class="anchor" name="be13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="ZeroCrossing::getType" ref="be13b3997a69fbcc09e2213faa352f91" args="() const " -->
757 <div class="memitem"> 757 <div class="memitem">
760 <tr> 760 <tr>
761 <td class="memname">virtual std::string Vamp::Plugin::getType </td> 761 <td class="memname">virtual std::string Vamp::Plugin::getType </td>
762 <td>(</td> 762 <td>(</td>
763 <td class="paramname"> </td> 763 <td class="paramname"> </td>
764 <td>&nbsp;)&nbsp;</td> 764 <td>&nbsp;)&nbsp;</td>
765 <td width="100%"> const<code> [inline, virtual, inherited]</code></td> 765 <td> const<code> [inline, virtual, inherited]</code></td>
766 </tr> 766 </tr>
767 </table> 767 </table>
768 </div> 768 </div>
769 <div class="memdoc"> 769 <div class="memdoc">
770 770
772 Used to distinguish between <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction...">Vamp::Plugin</a> and other potential sibling subclasses of <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a>. 772 Used to distinguish between <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction...">Vamp::Plugin</a> and other potential sibling subclasses of <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a>.
773 <p> 773 <p>
774 Do not reimplement this function in your subclass. 774 Do not reimplement this function in your subclass.
775 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> 775 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p>
776 776
777 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00391">391</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p> 777 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00425">425</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
778 778
779 </div> 779 </div>
780 </div><p> 780 </div><p>
781 <a class="anchor" name="8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="ZeroCrossing::getVampApiVersion" ref="8fd2c48291c64b790f0efb8948508dcf" args="() const " --> 781 <a class="anchor" name="8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="ZeroCrossing::getVampApiVersion" ref="8fd2c48291c64b790f0efb8948508dcf" args="() const " -->
782 <div class="memitem"> 782 <div class="memitem">
785 <tr> 785 <tr>
786 <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td> 786 <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td>
787 <td>(</td> 787 <td>(</td>
788 <td class="paramname"> </td> 788 <td class="paramname"> </td>
789 <td>&nbsp;)&nbsp;</td> 789 <td>&nbsp;)&nbsp;</td>
790 <td width="100%"> const<code> [inline, virtual, inherited]</code></td> 790 <td> const<code> [inline, virtual, inherited]</code></td>
791 </tr> 791 </tr>
792 </table> 792 </table>
793 </div> 793 </div>
794 <div class="memdoc"> 794 <div class="memdoc">
795 795
796 <p> 796 <p>
797 Get the <a class="el" href="namespaceVamp.html" title="If you want to compile using FFTW instead of the built-in FFT implementation for...">Vamp</a> API compatibility level of the plugin. 797 Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin.
798 <p> 798 <p>
799 799
800 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#98aadddc8403eb46c9d8c5a9d1fdd19e">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#74147fda6b44ff2169bd4a1eea0d46ff">Vamp::HostExt::PluginWrapper</a>.</p> 800 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#98aadddc8403eb46c9d8c5a9d1fdd19e">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#74147fda6b44ff2169bd4a1eea0d46ff">Vamp::HostExt::PluginWrapper</a>.</p>
801 801
802 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00067">67</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p> 802 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00072">72</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
803 803
804 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00478">enumeratePlugins()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="PluginWrapper_8cpp-source.html#l00080">Vamp::HostExt::PluginWrapper::getVampApiVersion()</a>.</p> 804 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>.</p>
805 805
806 </div> 806 </div>
807 </div><p> 807 </div><p>
808 <a class="anchor" name="ac3e49b3b66cacfbb768dfdf07444f21"></a><!-- doxytag: member="ZeroCrossing::getParameterDescriptors" ref="ac3e49b3b66cacfbb768dfdf07444f21" args="() const " --> 808 <a class="anchor" name="ac3e49b3b66cacfbb768dfdf07444f21"></a><!-- doxytag: member="ZeroCrossing::getParameterDescriptors" ref="ac3e49b3b66cacfbb768dfdf07444f21" args="() const " -->
809 <div class="memitem"> 809 <div class="memitem">
812 <tr> 812 <tr>
813 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginBase::getParameterDescriptors </td> 813 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginBase::getParameterDescriptors </td>
814 <td>(</td> 814 <td>(</td>
815 <td class="paramname"> </td> 815 <td class="paramname"> </td>
816 <td>&nbsp;)&nbsp;</td> 816 <td>&nbsp;)&nbsp;</td>
817 <td width="100%"> const<code> [inline, virtual, inherited]</code></td> 817 <td> const<code> [inline, virtual, inherited]</code></td>
818 </tr> 818 </tr>
819 </table> 819 </table>
820 </div> 820 </div>
821 <div class="memdoc"> 821 <div class="memdoc">
822 822
823 <p> 823 <p>
824 Get the controllable parameters of this plugin. 824 Get the controllable parameters of this plugin.
825 <p> 825 <p>
826 826
827 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#bfa93b20d9b5651a32042a9bb7c8df13">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#3b075b8f950b344503f0d27ac0fe332e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#9df01323a09e117bc12354ebe9244edf">AmplitudeFollower</a>, and <a class="el" href="classPercussionOnsetDetector.html#bceae88cc9762b0ea310d7aad71de815">PercussionOnsetDetector</a>.</p> 827 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#602faa0bfaae83e2ca53b36292271a76">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#9be71561265c2e6e43b7feaddaa91f36">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#9df01323a09e117bc12354ebe9244edf">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#e157465a4e07d180bab05b5c3a4d8987">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#bceae88cc9762b0ea310d7aad71de815">PercussionOnsetDetector</a>.</p>
828 828
829 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00200">200</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p> 829 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00208">208</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
830 830
831 <p>Referenced by <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="PluginWrapper_8cpp-source.html#l00122">Vamp::HostExt::PluginWrapper::getParameterDescriptors()</a>.</p> 831 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>.</p>
832 832
833 </div> 833 </div>
834 </div><p> 834 </div><p>
835 <a class="anchor" name="97ababcd45348ceec998d0f8e0f38bf7"></a><!-- doxytag: member="ZeroCrossing::getParameter" ref="97ababcd45348ceec998d0f8e0f38bf7" args="(std::string) const " --> 835 <a class="anchor" name="97ababcd45348ceec998d0f8e0f38bf7"></a><!-- doxytag: member="ZeroCrossing::getParameter" ref="97ababcd45348ceec998d0f8e0f38bf7" args="(std::string) const " -->
836 <div class="memitem"> 836 <div class="memitem">
840 <td class="memname">virtual float Vamp::PluginBase::getParameter </td> 840 <td class="memname">virtual float Vamp::PluginBase::getParameter </td>
841 <td>(</td> 841 <td>(</td>
842 <td class="paramtype">std::string&nbsp;</td> 842 <td class="paramtype">std::string&nbsp;</td>
843 <td class="paramname"> </td> 843 <td class="paramname"> </td>
844 <td>&nbsp;)&nbsp;</td> 844 <td>&nbsp;)&nbsp;</td>
845 <td width="100%"> const<code> [inline, virtual, inherited]</code></td> 845 <td> const<code> [inline, virtual, inherited]</code></td>
846 </tr> 846 </tr>
847 </table> 847 </table>
848 </div> 848 </div>
849 <div class="memdoc"> 849 <div class="memdoc">
850 850
851 <p> 851 <p>
852 Get the value of a named parameter. 852 Get the value of a named parameter.
853 <p> 853 <p>
854 The argument is the identifier field from that parameter's descriptor. 854 The argument is the identifier field from that parameter's descriptor.
855 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#f0c46d4f67ca93be7c76f3ea2e6c8efb">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#034920f56c8d7609a85447c42556048c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#b278c4b6f2ca23248dc94ad775273f39">AmplitudeFollower</a>, and <a class="el" href="classPercussionOnsetDetector.html#9b28da8315fcde46ce7644d6592ba527">PercussionOnsetDetector</a>.</p> 855 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#f0c46d4f67ca93be7c76f3ea2e6c8efb">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#034920f56c8d7609a85447c42556048c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#b278c4b6f2ca23248dc94ad775273f39">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#2030b05fb1228b30ace16200780c9152">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#9b28da8315fcde46ce7644d6592ba527">PercussionOnsetDetector</a>.</p>
856 856
857 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00208">208</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p> 857 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00216">216</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
858
859 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00128">Vamp::HostExt::PluginWrapper::getParameter()</a>.</p>
860 858
861 </div> 859 </div>
862 </div><p> 860 </div><p>
863 <a class="anchor" name="6c718ce822f7b73b98940d59dcaa9366"></a><!-- doxytag: member="ZeroCrossing::setParameter" ref="6c718ce822f7b73b98940d59dcaa9366" args="(std::string, float)" --> 861 <a class="anchor" name="6c718ce822f7b73b98940d59dcaa9366"></a><!-- doxytag: member="ZeroCrossing::setParameter" ref="6c718ce822f7b73b98940d59dcaa9366" args="(std::string, float)" -->
864 <div class="memitem"> 862 <div class="memitem">
877 <td class="paramname"></td><td>&nbsp;</td> 875 <td class="paramname"></td><td>&nbsp;</td>
878 </tr> 876 </tr>
879 <tr> 877 <tr>
880 <td></td> 878 <td></td>
881 <td>)</td> 879 <td>)</td>
882 <td></td><td></td><td width="100%"><code> [inline, virtual, inherited]</code></td> 880 <td></td><td></td><td><code> [inline, virtual, inherited]</code></td>
883 </tr> 881 </tr>
884 </table> 882 </table>
885 </div> 883 </div>
886 <div class="memdoc"> 884 <div class="memdoc">
887 885
888 <p> 886 <p>
889 Set a named parameter. 887 Set a named parameter.
890 <p> 888 <p>
891 The first argument is the identifier field from that parameter's descriptor. 889 The first argument is the identifier field from that parameter's descriptor.
892 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#29f75395aa75b9de0228aa11edf9c6d6">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#e1fc37ece4d20e40f3066a3361a99340">AmplitudeFollower</a>, and <a class="el" href="classPercussionOnsetDetector.html#a097d72488e1211f05fc661ff5c6dc01">PercussionOnsetDetector</a>.</p> 890 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#29f75395aa75b9de0228aa11edf9c6d6">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#e1fc37ece4d20e40f3066a3361a99340">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#8a5a413025384cf451c64d2c2ce13a75">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a097d72488e1211f05fc661ff5c6dc01">PercussionOnsetDetector</a>.</p>
893 891
894 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00214">214</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p> 892 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00222">222</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
895
896 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00134">Vamp::HostExt::PluginWrapper::setParameter()</a>.</p>
897 893
898 </div> 894 </div>
899 </div><p> 895 </div><p>
900 <a class="anchor" name="bb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="ZeroCrossing::getPrograms" ref="bb307c60bdb981d5f5af50c3c4ae84af" args="() const " --> 896 <a class="anchor" name="bb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="ZeroCrossing::getPrograms" ref="bb307c60bdb981d5f5af50c3c4ae84af" args="() const " -->
901 <div class="memitem"> 897 <div class="memitem">
904 <tr> 900 <tr>
905 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td> 901 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td>
906 <td>(</td> 902 <td>(</td>
907 <td class="paramname"> </td> 903 <td class="paramname"> </td>
908 <td>&nbsp;)&nbsp;</td> 904 <td>&nbsp;)&nbsp;</td>
909 <td width="100%"> const<code> [inline, virtual, inherited]</code></td> 905 <td> const<code> [inline, virtual, inherited]</code></td>
910 </tr> 906 </tr>
911 </table> 907 </table>
912 </div> 908 </div>
913 <div class="memdoc"> 909 <div class="memdoc">
914 910
915 <p> 911 <p>
916 Get the program settings available in this plugin. 912 Get the program settings available in this plugin.
917 <p> 913 <p>
918 A program is a named shorthand for a set of parameter values; changing the program may cause the plugin to alter the values of its published parameters (and/or non-public internal processing parameters). The host should re-read the plugin's parameter values after setting a new program.<p> 914 A program is a named shorthand for a set of parameter values; changing the program may cause the plugin to alter the values of its published parameters (and/or non-public internal processing parameters). The host should re-read the plugin's parameter values after setting a new program.<p>
919 The programs must have unique names. 915 The programs must have unique names.
920 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#7ac5681dcfe08b7b8a796bffc0aff3e3">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#f3abaf717dc4b00cad5770ed6dfa01e1">Vamp::HostExt::PluginWrapper</a>.</p> 916 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#e0cde5cd625418c1bc470b91f75daafc">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#131fbe1df81215020b9aa8cecef4c802">Vamp::HostExt::PluginWrapper</a>.</p>
921 917
922 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00229">229</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p> 918 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00237">237</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
923
924 <p>Referenced by <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="PluginWrapper_8cpp-source.html#l00140">Vamp::HostExt::PluginWrapper::getPrograms()</a>.</p>
925 919
926 </div> 920 </div>
927 </div><p> 921 </div><p>
928 <a class="anchor" name="24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="ZeroCrossing::getCurrentProgram" ref="24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " --> 922 <a class="anchor" name="24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="ZeroCrossing::getCurrentProgram" ref="24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " -->
929 <div class="memitem"> 923 <div class="memitem">
932 <tr> 926 <tr>
933 <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td> 927 <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td>
934 <td>(</td> 928 <td>(</td>
935 <td class="paramname"> </td> 929 <td class="paramname"> </td>
936 <td>&nbsp;)&nbsp;</td> 930 <td>&nbsp;)&nbsp;</td>
937 <td width="100%"> const<code> [inline, virtual, inherited]</code></td> 931 <td> const<code> [inline, virtual, inherited]</code></td>
938 </tr> 932 </tr>
939 </table> 933 </table>
940 </div> 934 </div>
941 <div class="memdoc"> 935 <div class="memdoc">
942 936
944 Get the current program. 938 Get the current program.
945 <p> 939 <p>
946 940
947 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#34859eff8ca8d862af39be9636ec1867">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#7a312dd42d161064b70afd7ff24c0651">Vamp::HostExt::PluginWrapper</a>.</p> 941 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#34859eff8ca8d862af39be9636ec1867">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#7a312dd42d161064b70afd7ff24c0651">Vamp::HostExt::PluginWrapper</a>.</p>
948 942
949 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00234">234</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p> 943 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00242">242</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
950
951 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00146">Vamp::HostExt::PluginWrapper::getCurrentProgram()</a>.</p>
952 944
953 </div> 945 </div>
954 </div><p> 946 </div><p>
955 <a class="anchor" name="add3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="ZeroCrossing::selectProgram" ref="add3a547ef140bae200473a9518e3353" args="(std::string)" --> 947 <a class="anchor" name="add3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="ZeroCrossing::selectProgram" ref="add3a547ef140bae200473a9518e3353" args="(std::string)" -->
956 <div class="memitem"> 948 <div class="memitem">
960 <td class="memname">virtual void Vamp::PluginBase::selectProgram </td> 952 <td class="memname">virtual void Vamp::PluginBase::selectProgram </td>
961 <td>(</td> 953 <td>(</td>
962 <td class="paramtype">std::string&nbsp;</td> 954 <td class="paramtype">std::string&nbsp;</td>
963 <td class="paramname"> </td> 955 <td class="paramname"> </td>
964 <td>&nbsp;)&nbsp;</td> 956 <td>&nbsp;)&nbsp;</td>
965 <td width="100%"><code> [inline, virtual, inherited]</code></td> 957 <td><code> [inline, virtual, inherited]</code></td>
966 </tr> 958 </tr>
967 </table> 959 </table>
968 </div> 960 </div>
969 <div class="memdoc"> 961 <div class="memdoc">
970 962
971 <p> 963 <p>
972 Select a program. 964 Select a program.
973 <p> 965 <p>
974 (If the given program name is not one of the available programs, do nothing.) 966 (If the given program name is not one of the available programs, do nothing.)
975 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p> 967 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p>
976 968
977 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00240">240</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p> 969 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00248">248</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
978
979 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00152">Vamp::HostExt::PluginWrapper::selectProgram()</a>.</p>
980 970
981 </div> 971 </div>
982 </div><p> 972 </div><p>
983 <hr><h2>Member Data Documentation</h2> 973 <hr><h2>Member Data Documentation</h2>
984 <a class="anchor" name="584f100b87c78f9af9da040d79567d52"></a><!-- doxytag: member="ZeroCrossing::m_stepSize" ref="584f100b87c78f9af9da040d79567d52" args="" --> 974 <a class="anchor" name="584f100b87c78f9af9da040d79567d52"></a><!-- doxytag: member="ZeroCrossing::m_stepSize" ref="584f100b87c78f9af9da040d79567d52" args="" -->
994 984
995 <p> 985 <p>
996 986
997 <p>Definition at line <a class="el" href="ZeroCrossing_8h-source.html#l00073">73</a> of file <a class="el" href="ZeroCrossing_8h-source.html">ZeroCrossing.h</a>.</p> 987 <p>Definition at line <a class="el" href="ZeroCrossing_8h-source.html#l00073">73</a> of file <a class="el" href="ZeroCrossing_8h-source.html">ZeroCrossing.h</a>.</p>
998 988
999 <p>Referenced by <a class="el" href="ZeroCrossing_8cpp-source.html#l00093">initialise()</a>, and <a class="el" href="ZeroCrossing_8cpp-source.html#l00141">process()</a>.</p> 989 <p>Referenced by <a class="el" href="ZeroCrossing_8cpp-source.html#l00094">initialise()</a>, and <a class="el" href="ZeroCrossing_8cpp-source.html#l00142">process()</a>.</p>
1000 990
1001 </div> 991 </div>
1002 </div><p> 992 </div><p>
1003 <a class="anchor" name="0f2d9f2cab0a8a30344e1f2c0ebb8ee8"></a><!-- doxytag: member="ZeroCrossing::m_previousSample" ref="0f2d9f2cab0a8a30344e1f2c0ebb8ee8" args="" --> 993 <a class="anchor" name="0f2d9f2cab0a8a30344e1f2c0ebb8ee8"></a><!-- doxytag: member="ZeroCrossing::m_previousSample" ref="0f2d9f2cab0a8a30344e1f2c0ebb8ee8" args="" -->
1004 <div class="memitem"> 994 <div class="memitem">
1013 1003
1014 <p> 1004 <p>
1015 1005
1016 <p>Definition at line <a class="el" href="ZeroCrossing_8h-source.html#l00074">74</a> of file <a class="el" href="ZeroCrossing_8h-source.html">ZeroCrossing.h</a>.</p> 1006 <p>Definition at line <a class="el" href="ZeroCrossing_8h-source.html#l00074">74</a> of file <a class="el" href="ZeroCrossing_8h-source.html">ZeroCrossing.h</a>.</p>
1017 1007
1018 <p>Referenced by <a class="el" href="ZeroCrossing_8cpp-source.html#l00141">process()</a>, and <a class="el" href="ZeroCrossing_8cpp-source.html#l00104">reset()</a>.</p> 1008 <p>Referenced by <a class="el" href="ZeroCrossing_8cpp-source.html#l00142">process()</a>, and <a class="el" href="ZeroCrossing_8cpp-source.html#l00105">reset()</a>.</p>
1019 1009
1020 </div> 1010 </div>
1021 </div><p> 1011 </div><p>
1022 <a class="anchor" name="59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="ZeroCrossing::m_inputSampleRate" ref="59b9dd82a4f4eb946cd0474cc81abc23" args="" --> 1012 <a class="anchor" name="59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="ZeroCrossing::m_inputSampleRate" ref="59b9dd82a4f4eb946cd0474cc81abc23" args="" -->
1023 <div class="memitem"> 1013 <div class="memitem">
1030 </div> 1020 </div>
1031 <div class="memdoc"> 1021 <div class="memdoc">
1032 1022
1033 <p> 1023 <p>
1034 1024
1035 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00397">397</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p> 1025 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00431">431</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
1036 1026
1037 <p>Referenced by <a class="el" href="ZeroCrossing_8cpp-source.html#l00110">getOutputDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00047">Vamp::HostExt::PluginRateExtractor::getRate()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00238">Vamp::HostExt::PluginBufferingAdapter::PluginBufferingAdapter()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00113">Vamp::HostExt::PluginInputDomainAdapter::PluginInputDomainAdapter()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00141">process()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00137">SpectralCentroid::process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00226">PercussionOnsetDetector::process()</a>.</p> 1027 <p>Referenced by <a class="el" href="ZeroCrossing_8cpp-source.html#l00111">getOutputDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00142">process()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00141">SpectralCentroid::process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00226">PercussionOnsetDetector::process()</a>.</p>
1038 1028
1039 </div> 1029 </div>
1040 </div><p> 1030 </div><p>
1041 <hr>The documentation for this class was generated from the following files:<ul> 1031 <hr>The documentation for this class was generated from the following files:<ul>
1042 <li><a class="el" href="ZeroCrossing_8h-source.html">ZeroCrossing.h</a><li><a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a></ul> 1032 <li><a class="el" href="ZeroCrossing_8h-source.html">ZeroCrossing.h</a><li><a class="el" href="ZeroCrossing_8cpp-source.html">ZeroCrossing.cpp</a></ul>
1043 </div> 1033 </div>
1044 <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jul 9 11:36:08 2008 for VampPluginSDK by&nbsp; 1034 <hr size="1"><address style="text-align: right;"><small>Generated on Mon Dec 8 14:37:19 2008 for VampPluginSDK by&nbsp;
1045 <a href="http://www.doxygen.org/index.html"> 1035 <a href="http://www.doxygen.org/index.html">
1046 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address> 1036 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
1047 </body> 1037 </body>
1048 </html> 1038 </html>