comparison code-doc/classSpectralCentroid.html @ 35:0976232e353b website

* Update for 2.1 release; add wiki link
author cannam
date Fri, 25 Sep 2009 15:40:18 +0000
parents cc0be37dc9d3
children 8260c0f4e05b
comparison
equal deleted inserted replaced
34:4b4db9230e94 35:0976232e353b
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
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: SpectralCentroid Class Reference</title> 3 <title>VampPluginSDK: SpectralCentroid Class Reference</title>
4 <link href="tabs.css" rel="stylesheet" type="text/css">
4 <link href="doxygen.css" rel="stylesheet" type="text/css"> 5 <link href="doxygen.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.6 --> 7 <!-- Generated by Doxygen 1.5.8 -->
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>
22 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li> 22 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
23 </ul> 23 </ul>
24 </div> 24 </div>
25 </div> 25 </div>
26 <div class="contents"> 26 <div class="contents">
27 <h1>SpectralCentroid Class Reference</h1><!-- doxytag: class="SpectralCentroid" --><!-- doxytag: inherits="Vamp::Plugin" --><code>#include &lt;<a class="el" href="SpectralCentroid_8h-source.html">SpectralCentroid.h</a>&gt;</code> 27 <h1>SpectralCentroid Class Reference</h1><!-- doxytag: class="SpectralCentroid" --><!-- doxytag: inherits="Vamp::Plugin" -->Example plugin that calculates the centre of gravity of the frequency domain representation of each block of audio.
28 <a href="#_details">More...</a>
29 <p>
30 <code>#include &lt;<a class="el" href="SpectralCentroid_8h-source.html">SpectralCentroid.h</a>&gt;</code>
28 <p> 31 <p>
29 <div class="dynheader"> 32 <div class="dynheader">
30 Inheritance diagram for SpectralCentroid:</div> 33 Inheritance diagram for SpectralCentroid:</div>
31 <div class="dynsection"> 34 <div class="dynsection">
32 <p><center><img src="classSpectralCentroid__inherit__graph.png" border="0" usemap="#SpectralCentroid__inherit__map" alt="Inheritance graph"></center> 35 <p><center><img src="classSpectralCentroid__inherit__graph.png" border="0" usemap="#SpectralCentroid__inherit__map" alt="Inheritance graph"></center>
33 <map name="SpectralCentroid__inherit__map"> 36 <map name="SpectralCentroid__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,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> 37 <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="19,81,112,105"><area shape="rect" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="5,7,125,31"></map>
35 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div> 38 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
36 39
37 <p> 40 <p>
38 <a href="classSpectralCentroid-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> 41 <a href="classSpectralCentroid-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
39 Example plugin that calculates the centre of gravity of the frequency domain representation of each block of audio.
40 <p>Definition at line <a class="el" href="SpectralCentroid_8h-source.html#l00047">47</a> of file <a class="el" href="SpectralCentroid_8h-source.html">SpectralCentroid.h</a>.</p>
41 <table border="0" cellpadding="0" cellspacing="0">
42 <tr><td></td></tr> 42 <tr><td></td></tr>
43 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> 43 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
44 <tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, 44 <tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>,
45 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> 45 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>
46 }</td></tr> 46 }</td></tr>
47 47
48 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br> 48 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br class="typebreak">
49 &lt; <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> 49 &lt; <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr>
50 50
51 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> 51 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr>
52 52
53 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; int, <br> 53 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; int, <br class="typebreak">
54 <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> 54 <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr>
55
56 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br>
57 &lt; <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr>
58
59 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; std::string &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr>
60 55
61 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> 56 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
62 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#2cd801ad72f262eceb95ab0d22e7dbcd">SpectralCentroid</a> (float inputSampleRate)</td></tr> 57 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#2cd801ad72f262eceb95ab0d22e7dbcd">SpectralCentroid</a> (float inputSampleRate)</td></tr>
63 58
64 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#483e0d6757bc3dcf61e8066f764f45c6">~SpectralCentroid</a> ()</td></tr> 59 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#483e0d6757bc3dcf61e8066f764f45c6">~SpectralCentroid</a> ()</td></tr>
141 <tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#262f583d71b442bb2d80023e7c85aa4e">m_blockSize</a></td></tr> 136 <tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#262f583d71b442bb2d80023e7c85aa4e">m_blockSize</a></td></tr>
142 137
143 <tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr> 138 <tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr>
144 139
145 </table> 140 </table>
141 <hr><a name="_details"></a><h2>Detailed Description</h2>
142 Example plugin that calculates the centre of gravity of the frequency domain representation of each block of audio.
143 <p>Definition at line <a class="el" href="SpectralCentroid_8h-source.html#l00047">47</a> of file <a class="el" href="SpectralCentroid_8h-source.html">SpectralCentroid.h</a>.</p>
146 <hr><h2>Member Typedef Documentation</h2> 144 <hr><h2>Member Typedef Documentation</h2>
147 <a class="anchor" name="30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="SpectralCentroid::OutputList" ref="30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> 145 <a class="anchor" name="30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="SpectralCentroid::OutputList" ref="30f531b8fb69fac41a24e3d2a6a08ed9" args="" -->
148 <div class="memitem"> 146 <div class="memitem">
149 <div class="memproto"> 147 <div class="memproto">
150 <table class="memname"> 148 <table class="memname">
155 </div> 153 </div>
156 <div class="memdoc"> 154 <div class="memdoc">
157 155
158 <p> 156 <p>
159 157
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> 158 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00327">327</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
161 159
162 </div> 160 </div>
163 </div><p> 161 </div><p>
164 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="SpectralCentroid::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" --> 162 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="SpectralCentroid::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" -->
165 <div class="memitem"> 163 <div class="memitem">
172 </div> 170 </div>
173 <div class="memdoc"> 171 <div class="memdoc">
174 172
175 <p> 173 <p>
176 174
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> 175 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00385">385</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
178 176
179 </div> 177 </div>
180 </div><p> 178 </div><p>
181 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="SpectralCentroid::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" --> 179 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="SpectralCentroid::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" -->
182 <div class="memitem"> 180 <div class="memitem">
189 </div> 187 </div>
190 <div class="memdoc"> 188 <div class="memdoc">
191 189
192 <p> 190 <p>
193 191
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> 192 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00387">387</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
195 193
196 </div> 194 </div>
197 </div><p> 195 </div><p>
198 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="SpectralCentroid::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> 196 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="SpectralCentroid::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" -->
199 <div class="memitem"> 197 <div class="memitem">
272 </div> 270 </div>
273 <div class="memdoc"> 271 <div class="memdoc">
274 272
275 <p> 273 <p>
276 274
277 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00051">51</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p> 275 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00056">56</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p>
278 276
279 </div> 277 </div>
280 </div><p> 278 </div><p>
281 <a class="anchor" name="483e0d6757bc3dcf61e8066f764f45c6"></a><!-- doxytag: member="SpectralCentroid::~SpectralCentroid" ref="483e0d6757bc3dcf61e8066f764f45c6" args="()" --> 279 <a class="anchor" name="483e0d6757bc3dcf61e8066f764f45c6"></a><!-- doxytag: member="SpectralCentroid::~SpectralCentroid" ref="483e0d6757bc3dcf61e8066f764f45c6" args="()" -->
282 <div class="memitem"> 280 <div class="memitem">
293 </div> 291 </div>
294 <div class="memdoc"> 292 <div class="memdoc">
295 293
296 <p> 294 <p>
297 295
298 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00058">58</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p> 296 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00063">63</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p>
299 297
300 </div> 298 </div>
301 </div><p> 299 </div><p>
302 <hr><h2>Member Function Documentation</h2> 300 <hr><h2>Member Function Documentation</h2>
303 <a class="anchor" name="ab1ae16f5c68e2b319668f447908cedb"></a><!-- doxytag: member="SpectralCentroid::initialise" ref="ab1ae16f5c68e2b319668f447908cedb" args="(size_t channels, size_t stepSize, size_t blockSize)" --> 301 <a class="anchor" name="ab1ae16f5c68e2b319668f447908cedb"></a><!-- doxytag: member="SpectralCentroid::initialise" ref="ab1ae16f5c68e2b319668f447908cedb" args="(size_t channels, size_t stepSize, size_t blockSize)" -->
336 <p> 334 <p>
337 The input sample rate should have been already specified at construction time.<p> 335 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. 336 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> 337 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822">Vamp::Plugin</a>.</p>
340 338
341 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00099">99</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p> 339 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00104">104</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p>
342 340
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>, <a class="el" href="SpectralCentroid_8h-source.html#l00074">m_blockSize</a>, and <a class="el" href="SpectralCentroid_8h-source.html#l00073">m_stepSize</a>.</p> 341 <p>References <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00204">Vamp::Plugin::getMaxChannelCount()</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00199">Vamp::Plugin::getMinChannelCount()</a>, <a class="el" href="SpectralCentroid_8h-source.html#l00074">m_blockSize</a>, and <a class="el" href="SpectralCentroid_8h-source.html#l00073">m_stepSize</a>.</p>
344 342
345 </div> 343 </div>
346 </div><p> 344 </div><p>
347 <a class="anchor" name="9b5f5581691ff8f46bb7674d8d74395c"></a><!-- doxytag: member="SpectralCentroid::reset" ref="9b5f5581691ff8f46bb7674d8d74395c" args="()" --> 345 <a class="anchor" name="9b5f5581691ff8f46bb7674d8d74395c"></a><!-- doxytag: member="SpectralCentroid::reset" ref="9b5f5581691ff8f46bb7674d8d74395c" args="()" -->
348 <div class="memitem"> 346 <div class="memitem">
363 Reset the plugin after use, to prepare it for another clean run. 361 Reset the plugin after use, to prepare it for another clean run.
364 <p> 362 <p>
365 Not called for the first initialisation (i.e. initialise must also do a reset). 363 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> 364 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a>.</p>
367 365
368 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00111">111</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p> 366 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00116">116</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p>
369 367
370 </div> 368 </div>
371 </div><p> 369 </div><p>
372 <a class="anchor" name="0ec2cb74c1c5f6e57d0bd9dcf7c8f469"></a><!-- doxytag: member="SpectralCentroid::getInputDomain" ref="0ec2cb74c1c5f6e57d0bd9dcf7c8f469" args="() const " --> 370 <a class="anchor" name="0ec2cb74c1c5f6e57d0bd9dcf7c8f469"></a><!-- doxytag: member="SpectralCentroid::getInputDomain" ref="0ec2cb74c1c5f6e57d0bd9dcf7c8f469" args="() const " -->
373 <div class="memitem"> 371 <div class="memitem">
385 <div class="memdoc"> 383 <div class="memdoc">
386 384
387 <p> 385 <p>
388 Get the plugin's required input domain. 386 Get the plugin's required input domain.
389 <p> 387 <p>
390 If this is TimeDomain, the samples provided to the <a class="el" href="classSpectralCentroid.html#ca96c70e7e75c9e4a7db38485018914c" 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="classSpectralCentroid.html#ca96c70e7e75c9e4a7db38485018914c" 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. 388 If this is TimeDomain, the samples provided to the <a class="el" href="classSpectralCentroid.html#ca96c70e7e75c9e4a7db38485018914c" 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.<p>
389 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="classSpectralCentroid.html#ca96c70e7e75c9e4a7db38485018914c" title="Process a single block of input data.">process()</a>. The input data for the FFT will be rotated so as to place the origin in the centre of the block. 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.
391 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> 390 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p>
392 391
393 <p>Definition at line <a class="el" href="SpectralCentroid_8h-source.html#l00056">56</a> of file <a class="el" href="SpectralCentroid_8h-source.html">SpectralCentroid.h</a>.</p> 392 <p>Definition at line <a class="el" href="SpectralCentroid_8h-source.html#l00056">56</a> of file <a class="el" href="SpectralCentroid_8h-source.html">SpectralCentroid.h</a>.</p>
394 393
395 <p>References <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00152">Vamp::Plugin::FrequencyDomain</a>.</p> 394 <p>References <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00152">Vamp::Plugin::FrequencyDomain</a>.</p>
417 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> 416 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>
418 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> 417 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>
419 Example: "zero_crossings" 418 Example: "zero_crossings"
420 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#d1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p> 419 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#d1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p>
421 420
422 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00063">63</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p> 421 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00068">68</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p>
423 422
424 </div> 423 </div>
425 </div><p> 424 </div><p>
426 <a class="anchor" name="b7e6a620fea568af431be3cfd9dd5a41"></a><!-- doxytag: member="SpectralCentroid::getName" ref="b7e6a620fea568af431be3cfd9dd5a41" args="() const " --> 425 <a class="anchor" name="b7e6a620fea568af431be3cfd9dd5a41"></a><!-- doxytag: member="SpectralCentroid::getName" ref="b7e6a620fea568af431be3cfd9dd5a41" args="() const " -->
427 <div class="memitem"> 426 <div class="memitem">
443 <p> 442 <p>
444 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> 443 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>
445 Example: "Zero Crossings" 444 Example: "Zero Crossings"
446 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p> 445 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p>
447 446
448 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00069">69</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p> 447 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00074">74</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p>
449 448
450 </div> 449 </div>
451 </div><p> 450 </div><p>
452 <a class="anchor" name="8fbb74a46283057d9a0b0e4718ee943c"></a><!-- doxytag: member="SpectralCentroid::getDescription" ref="8fbb74a46283057d9a0b0e4718ee943c" args="() const " --> 451 <a class="anchor" name="8fbb74a46283057d9a0b0e4718ee943c"></a><!-- doxytag: member="SpectralCentroid::getDescription" ref="8fbb74a46283057d9a0b0e4718ee943c" args="() const " -->
453 <div class="memitem"> 452 <div class="memitem">
469 <p> 468 <p>
470 May be empty if the name has said it all already.<p> 469 May be empty if the name has said it all already.<p>
471 Example: "Detect and count zero crossing points" 470 Example: "Detect and count zero crossing points"
472 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p> 471 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p>
473 472
474 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00075">75</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p> 473 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00080">80</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p>
475 474
476 </div> 475 </div>
477 </div><p> 476 </div><p>
478 <a class="anchor" name="c01ff858bf67e2e93ad5d24a6ba8c8c8"></a><!-- doxytag: member="SpectralCentroid::getMaker" ref="c01ff858bf67e2e93ad5d24a6ba8c8c8" args="() const " --> 477 <a class="anchor" name="c01ff858bf67e2e93ad5d24a6ba8c8c8"></a><!-- doxytag: member="SpectralCentroid::getMaker" ref="c01ff858bf67e2e93ad5d24a6ba8c8c8" args="() const " -->
479 <div class="memitem"> 478 <div class="memitem">
494 Get the name of the author or vendor of the plugin in human-readable form. 493 Get the name of the author or vendor of the plugin in human-readable form.
495 <p> 494 <p>
496 This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. 495 This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar.
497 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p> 496 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p>
498 497
499 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00081">81</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p> 498 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00086">86</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p>
500 499
501 </div> 500 </div>
502 </div><p> 501 </div><p>
503 <a class="anchor" name="f64622e66bf678ac2b0b58aa832ca2b3"></a><!-- doxytag: member="SpectralCentroid::getPluginVersion" ref="f64622e66bf678ac2b0b58aa832ca2b3" args="() const " --> 502 <a class="anchor" name="f64622e66bf678ac2b0b58aa832ca2b3"></a><!-- doxytag: member="SpectralCentroid::getPluginVersion" ref="f64622e66bf678ac2b0b58aa832ca2b3" args="() const " -->
504 <div class="memitem"> 503 <div class="memitem">
519 Get the version number of the plugin. 518 Get the version number of the plugin.
520 <p> 519 <p>
521 520
522 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p> 521 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p>
523 522
524 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00087">87</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p> 523 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00092">92</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p>
525 524
526 </div> 525 </div>
527 </div><p> 526 </div><p>
528 <a class="anchor" name="925747d513d598e0fa21ed0ed6520980"></a><!-- doxytag: member="SpectralCentroid::getCopyright" ref="925747d513d598e0fa21ed0ed6520980" args="() const " --> 527 <a class="anchor" name="925747d513d598e0fa21ed0ed6520980"></a><!-- doxytag: member="SpectralCentroid::getCopyright" ref="925747d513d598e0fa21ed0ed6520980" args="() const " -->
529 <div class="memitem"> 528 <div class="memitem">
544 Get the copyright statement or licensing summary for the plugin. 543 Get the copyright statement or licensing summary for the plugin.
545 <p> 544 <p>
546 This can be an informative text, without the same presentation constraints as mentioned for getMaker above. 545 This can be an informative text, without the same presentation constraints as mentioned for getMaker above.
547 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#b7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p> 546 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#b7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p>
548 547
549 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00093">93</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p> 548 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00098">98</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p>
550 549
551 </div> 550 </div>
552 </div><p> 551 </div><p>
553 <a class="anchor" name="894ca9740927102bb80b56b5e9e95877"></a><!-- doxytag: member="SpectralCentroid::getOutputDescriptors" ref="894ca9740927102bb80b56b5e9e95877" args="() const " --> 552 <a class="anchor" name="894ca9740927102bb80b56b5e9e95877"></a><!-- doxytag: member="SpectralCentroid::getOutputDescriptors" ref="894ca9740927102bb80b56b5e9e95877" args="() const " -->
554 <div class="memitem"> 553 <div class="memitem">
569 Get the outputs of this plugin. 568 Get the outputs of this plugin.
570 <p> 569 <p>
571 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="classSpectralCentroid.html#ca96c70e7e75c9e4a7db38485018914c" title="Process a single block of input data.">process()</a> call. 570 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="classSpectralCentroid.html#ca96c70e7e75c9e4a7db38485018914c" title="Process a single block of input data.">process()</a> call.
572 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#d064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p> 571 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#d064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p>
573 572
574 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00116">116</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p> 573 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00121">121</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p>
575 574
576 <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#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#l00297">Vamp::Plugin::OutputDescriptor::sampleType</a>, and <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00227">Vamp::Plugin::OutputDescriptor::unit</a>.</p> 575 <p>References <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00247">Vamp::Plugin::Plugin::OutputDescriptor::binCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00227">Vamp::Plugin::Plugin::OutputDescriptor::description</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00239">Vamp::Plugin::Plugin::OutputDescriptor::hasFixedBinCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00260">Vamp::Plugin::Plugin::OutputDescriptor::hasKnownExtents</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00214">Vamp::Plugin::Plugin::OutputDescriptor::identifier</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00278">Vamp::Plugin::Plugin::OutputDescriptor::isQuantized</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00220">Vamp::Plugin::Plugin::OutputDescriptor::name</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00290">Vamp::Plugin::Plugin::OutputDescriptor::OneSamplePerStep</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00302">Vamp::Plugin::Plugin::OutputDescriptor::sampleType</a>, and <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00232">Vamp::Plugin::Plugin::OutputDescriptor::unit</a>.</p>
577 576
578 </div> 577 </div>
579 </div><p> 578 </div><p>
580 <a class="anchor" name="ca96c70e7e75c9e4a7db38485018914c"></a><!-- doxytag: member="SpectralCentroid::process" ref="ca96c70e7e75c9e4a7db38485018914c" args="(const float *const *inputBuffers, Vamp::RealTime timestamp)" --> 579 <a class="anchor" name="ca96c70e7e75c9e4a7db38485018914c"></a><!-- doxytag: member="SpectralCentroid::process" ref="ca96c70e7e75c9e4a7db38485018914c" args="(const float *const *inputBuffers, Vamp::RealTime timestamp)" -->
581 <div class="memitem"> 580 <div class="memitem">
608 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> 607 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>
609 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> 608 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>
610 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.) 609 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.)
611 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin</a>.</p> 610 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin</a>.</p>
612 611
613 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00141">141</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p> 612 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00146">146</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p>
614 613
615 <p>References <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00339">Vamp::Plugin::Feature::hasTimestamp</a>, <a class="el" href="SpectralCentroid_8h-source.html#l00074">m_blockSize</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00431">Vamp::Plugin::m_inputSampleRate</a>, <a class="el" href="SpectralCentroid_8h-source.html#l00073">m_stepSize</a>, and <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00369">Vamp::Plugin::Feature::values</a>.</p> 614 <p>References <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00344">Vamp::Plugin::Plugin::Feature::hasTimestamp</a>, <a class="el" href="SpectralCentroid_8h-source.html#l00074">m_blockSize</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00436">Vamp::Plugin::m_inputSampleRate</a>, <a class="el" href="SpectralCentroid_8h-source.html#l00073">m_stepSize</a>, and <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00374">Vamp::Plugin::Plugin::Feature::values</a>.</p>
616 615
617 </div> 616 </div>
618 </div><p> 617 </div><p>
619 <a class="anchor" name="83ba39f0870a2f86837605a958dfab1a"></a><!-- doxytag: member="SpectralCentroid::getRemainingFeatures" ref="83ba39f0870a2f86837605a958dfab1a" args="()" --> 618 <a class="anchor" name="83ba39f0870a2f86837605a958dfab1a"></a><!-- doxytag: member="SpectralCentroid::getRemainingFeatures" ref="83ba39f0870a2f86837605a958dfab1a" args="()" -->
620 <div class="memitem"> 619 <div class="memitem">
635 After all blocks have been processed, calculate and return any remaining features derived from the complete input. 634 After all blocks have been processed, calculate and return any remaining features derived from the complete input.
636 <p> 635 <p>
637 636
638 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#eca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a>.</p> 637 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#eca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a>.</p>
639 638
640 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00187">187</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p> 639 <p>Definition at line <a class="el" href="SpectralCentroid_8cpp-source.html#l00192">192</a> of file <a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a>.</p>
641 640
642 </div> 641 </div>
643 </div><p> 642 </div><p>
644 <a class="anchor" name="a529adf83f87a603954eb31407602aac"></a><!-- doxytag: member="SpectralCentroid::getPreferredBlockSize" ref="a529adf83f87a603954eb31407602aac" args="() const " --> 643 <a class="anchor" name="a529adf83f87a603954eb31407602aac"></a><!-- doxytag: member="SpectralCentroid::getPreferredBlockSize" ref="a529adf83f87a603954eb31407602aac" args="() const " -->
645 <div class="memitem"> 644 <div class="memitem">
661 <p> 660 <p>
662 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> 661 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>
663 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. 662 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.
664 <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> 663 <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>
665 664
666 <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> 665 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00179">179</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
667 666
668 <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> 667 <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>
669 668
670 </div> 669 </div>
671 </div><p> 670 </div><p>
689 <p> 688 <p>
690 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> 689 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>
691 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. 690 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.
692 <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> 691 <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>
693 692
694 <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> 693 <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>
695 694
696 <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> 695 <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>
697 696
698 </div> 697 </div>
699 </div><p> 698 </div><p>
716 Get the minimum supported number of input channels. 715 Get the minimum supported number of input channels.
717 <p> 716 <p>
718 717
719 <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> 718 <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>
720 719
721 <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> 720 <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>
722 721
723 <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">ZeroCrossing::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00099">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> 722 <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">ZeroCrossing::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00104">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>
724 723
725 </div> 724 </div>
726 </div><p> 725 </div><p>
727 <a class="anchor" name="2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="SpectralCentroid::getMaxChannelCount" ref="2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " --> 726 <a class="anchor" name="2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="SpectralCentroid::getMaxChannelCount" ref="2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " -->
728 <div class="memitem"> 727 <div class="memitem">
743 Get the maximum supported number of input channels. 742 Get the maximum supported number of input channels.
744 <p> 743 <p>
745 744
746 <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> 745 <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>
747 746
748 <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> 747 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00204">204</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
749 748
750 <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">ZeroCrossing::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00099">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> 749 <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">ZeroCrossing::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00104">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>
751 750
752 </div> 751 </div>
753 </div><p> 752 </div><p>
754 <a class="anchor" name="be13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="SpectralCentroid::getType" ref="be13b3997a69fbcc09e2213faa352f91" args="() const " --> 753 <a class="anchor" name="be13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="SpectralCentroid::getType" ref="be13b3997a69fbcc09e2213faa352f91" args="() const " -->
755 <div class="memitem"> 754 <div class="memitem">
770 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>. 769 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>.
771 <p> 770 <p>
772 Do not reimplement this function in your subclass. 771 Do not reimplement this function in your subclass.
773 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> 772 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p>
774 773
775 <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> 774 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00430">430</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
776 775
777 </div> 776 </div>
778 </div><p> 777 </div><p>
779 <a class="anchor" name="8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="SpectralCentroid::getVampApiVersion" ref="8fd2c48291c64b790f0efb8948508dcf" args="() const " --> 778 <a class="anchor" name="8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="SpectralCentroid::getVampApiVersion" ref="8fd2c48291c64b790f0efb8948508dcf" args="() const " -->
780 <div class="memitem"> 779 <div class="memitem">
982 981
983 <p> 982 <p>
984 983
985 <p>Definition at line <a class="el" href="SpectralCentroid_8h-source.html#l00073">73</a> of file <a class="el" href="SpectralCentroid_8h-source.html">SpectralCentroid.h</a>.</p> 984 <p>Definition at line <a class="el" href="SpectralCentroid_8h-source.html#l00073">73</a> of file <a class="el" href="SpectralCentroid_8h-source.html">SpectralCentroid.h</a>.</p>
986 985
987 <p>Referenced by <a class="el" href="SpectralCentroid_8cpp-source.html#l00099">initialise()</a>, and <a class="el" href="SpectralCentroid_8cpp-source.html#l00141">process()</a>.</p> 986 <p>Referenced by <a class="el" href="SpectralCentroid_8cpp-source.html#l00104">initialise()</a>, and <a class="el" href="SpectralCentroid_8cpp-source.html#l00146">process()</a>.</p>
988 987
989 </div> 988 </div>
990 </div><p> 989 </div><p>
991 <a class="anchor" name="262f583d71b442bb2d80023e7c85aa4e"></a><!-- doxytag: member="SpectralCentroid::m_blockSize" ref="262f583d71b442bb2d80023e7c85aa4e" args="" --> 990 <a class="anchor" name="262f583d71b442bb2d80023e7c85aa4e"></a><!-- doxytag: member="SpectralCentroid::m_blockSize" ref="262f583d71b442bb2d80023e7c85aa4e" args="" -->
992 <div class="memitem"> 991 <div class="memitem">
1001 1000
1002 <p> 1001 <p>
1003 1002
1004 <p>Definition at line <a class="el" href="SpectralCentroid_8h-source.html#l00074">74</a> of file <a class="el" href="SpectralCentroid_8h-source.html">SpectralCentroid.h</a>.</p> 1003 <p>Definition at line <a class="el" href="SpectralCentroid_8h-source.html#l00074">74</a> of file <a class="el" href="SpectralCentroid_8h-source.html">SpectralCentroid.h</a>.</p>
1005 1004
1006 <p>Referenced by <a class="el" href="SpectralCentroid_8cpp-source.html#l00099">initialise()</a>, and <a class="el" href="SpectralCentroid_8cpp-source.html#l00141">process()</a>.</p> 1005 <p>Referenced by <a class="el" href="SpectralCentroid_8cpp-source.html#l00104">initialise()</a>, and <a class="el" href="SpectralCentroid_8cpp-source.html#l00146">process()</a>.</p>
1007 1006
1008 </div> 1007 </div>
1009 </div><p> 1008 </div><p>
1010 <a class="anchor" name="59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="SpectralCentroid::m_inputSampleRate" ref="59b9dd82a4f4eb946cd0474cc81abc23" args="" --> 1009 <a class="anchor" name="59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="SpectralCentroid::m_inputSampleRate" ref="59b9dd82a4f4eb946cd0474cc81abc23" args="" -->
1011 <div class="memitem"> 1010 <div class="memitem">
1018 </div> 1017 </div>
1019 <div class="memdoc"> 1018 <div class="memdoc">
1020 1019
1021 <p> 1020 <p>
1022 1021
1023 <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> 1022 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00436">436</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
1024 1023
1025 <p>Referenced by <a class="el" href="ZeroCrossing_8cpp-source.html#l00111">ZeroCrossing::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">ZeroCrossing::process()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00141">process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00226">PercussionOnsetDetector::process()</a>.</p> 1024 <p>Referenced by <a class="el" href="ZeroCrossing_8cpp-source.html#l00111">ZeroCrossing::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">ZeroCrossing::process()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00146">process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00226">PercussionOnsetDetector::process()</a>.</p>
1026 1025
1027 </div> 1026 </div>
1028 </div><p> 1027 </div><p>
1029 <hr>The documentation for this class was generated from the following files:<ul> 1028 <hr>The documentation for this class was generated from the following files:<ul>
1030 <li><a class="el" href="SpectralCentroid_8h-source.html">SpectralCentroid.h</a><li><a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a></ul> 1029 <li><a class="el" href="SpectralCentroid_8h-source.html">SpectralCentroid.h</a><li><a class="el" href="SpectralCentroid_8cpp-source.html">SpectralCentroid.cpp</a></ul>
1031 </div> 1030 </div>
1032 <hr size="1"><address style="text-align: right;"><small>Generated on Mon Dec 8 14:37:19 2008 for VampPluginSDK by&nbsp; 1031 <hr size="1"><address style="text-align: right;"><small>Generated on Thu Sep 24 13:40:13 2009 for VampPluginSDK by&nbsp;
1033 <a href="http://www.doxygen.org/index.html"> 1032 <a href="http://www.doxygen.org/index.html">
1034 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> 1033 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
1035 </body> 1034 </body>
1036 </html> 1035 </html>