comparison code-doc/classVamp_1_1Plugin.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: Vamp::Plugin Class Reference</title> 3 <title>VampPluginSDK: Vamp::Plugin 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>
24 </div> 24 </div>
25 <div class="navpath"><a class="el" href="namespaceVamp.html">Vamp</a>::<a class="el" href="classVamp_1_1Plugin.html">Plugin</a> 25 <div class="navpath"><a class="el" href="namespaceVamp.html">Vamp</a>::<a class="el" href="classVamp_1_1Plugin.html">Plugin</a>
26 </div> 26 </div>
27 </div> 27 </div>
28 <div class="contents"> 28 <div class="contents">
29 <h1>Vamp::Plugin Class Reference</h1><!-- doxytag: class="Vamp::Plugin" --><!-- doxytag: inherits="Vamp::PluginBase" --><code>#include &lt;<a class="el" href="Plugin_8h-source.html">vamp-sdk/Plugin.h</a>&gt;</code> 29 <h1>Vamp::Plugin Class Reference</h1><!-- doxytag: class="Vamp::Plugin" --><!-- doxytag: inherits="Vamp::PluginBase" --><code>#include &lt;<a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>&gt;</code>
30 <p> 30 <p>
31 <div class="dynheader"> 31 <div class="dynheader">
32 Inheritance diagram for Vamp::Plugin:</div> 32 Inheritance diagram for Vamp::Plugin:</div>
33 <div class="dynsection"> 33 <div class="dynsection">
34 <p><center><img src="classVamp_1_1Plugin__inherit__graph.png" border="0" usemap="#Vamp_1_1Plugin__inherit__map" alt="Inheritance graph"></center> 34 <p><center><img src="classVamp_1_1Plugin__inherit__graph.png" border="0" usemap="#Vamp_1_1Plugin__inherit__map" alt="Inheritance graph"></center>
35 <map name="Vamp_1_1Plugin__inherit__map"> 35 <map name="Vamp_1_1Plugin__inherit__map">
36 <area shape="rect" href="classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function." alt="" coords="381,6,509,30"><area shape="rect" href="classPercussionOnsetDetector.html" title="Example plugin that detects percussive events." alt="" coords="360,54,531,78"><area shape="rect" href="classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation..." alt="" coords="387,102,504,126"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginRateExtractor.html" title="Vamp::HostExt::PluginRateExtractor" alt="" coords="329,150,561,174"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="345,198,545,222"><area shape="rect" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C&#45;language..." alt="" coords="360,246,531,270"><area shape="rect" href="classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero&#45;crossing points..." alt="" coords="396,294,495,318"><area shape="rect" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="5,150,133,174"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by..." alt="" coords="684,126,935,150"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management..." alt="" coords="687,174,932,198"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time&#45;domain input..." alt="" coords="673,222,945,246"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl_1_1PluginDeletionNotifyAdapter.html" title="Vamp::HostExt::PluginLoader::Impl::PluginDeletionNotifyAdapter" alt="" coords="612,270,1007,294"></map> 36 <area shape="rect" href="classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function." alt="" coords="365,5,493,32"><area shape="rect" href="classFixedTempoEstimator.html" title="Example plugin that estimates the tempo of a short fixed&#45;tempo sample." alt="" coords="356,56,503,83"><area shape="rect" href="classPercussionOnsetDetector.html" title="Example plugin that detects percussive events." alt="" coords="344,107,515,133"><area shape="rect" href="classPowerSpectrum.html" title="Example plugin that returns a power spectrum calculated (trivially) from the frequency..." alt="" coords="373,157,485,184"><area shape="rect" href="classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation..." alt="" coords="371,208,488,235"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="329,259,529,285"><area shape="rect" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C&#45;language..." alt="" coords="344,309,515,336"><area shape="rect" href="classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero&#45;crossing points..." alt="" coords="380,360,479,387"><area shape="rect" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="5,183,133,209"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by..." alt="" coords="592,183,840,209"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management..." alt="" coords="593,233,839,260"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time&#45;domain input..." alt="" coords="580,284,852,311"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods..." alt="" coords="579,335,853,361"></map>
37 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div> 37 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
38 38
39 <p> 39 <p>
40 <a href="classVamp_1_1Plugin-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> 40 <a href="classVamp_1_1Plugin-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
41 <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> is a base class for plugin instance classes that provide feature extraction from audio or related data. 41 <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> is a base class for plugin instance classes that provide feature extraction from audio or related data.
52 6. Host finally checks the number of values, resolution, extents etc per output (which may vary depending on the number of channels, step size and block size as well as the parameter values).<p> 52 6. Host finally checks the number of values, resolution, extents etc per output (which may vary depending on the number of channels, step size and block size as well as the parameter values).<p>
53 7. Host will repeatedly call the process method to pass in blocks of input data. This method may return features extracted from that data (if the plugin is causal).<p> 53 7. Host will repeatedly call the process method to pass in blocks of input data. This method may return features extracted from that data (if the plugin is causal).<p>
54 8. Host will call getRemainingFeatures exactly once, after all the input data has been processed. This may return any non-causal or leftover features.<p> 54 8. Host will call getRemainingFeatures exactly once, after all the input data has been processed. This may return any non-causal or leftover features.<p>
55 9. At any point after initialise was called, the host may optionally call the reset method and restart processing. (This does not mean it can change the parameters, which are fixed from initialise until destruction.)<p> 55 9. At any point after initialise was called, the host may optionally call the reset method and restart processing. (This does not mean it can change the parameters, which are fixed from initialise until destruction.)<p>
56 A plugin does not need to handle the case where setParameter or selectProgram is called after initialise has been called. It's the host's responsibility not to do that. Similarly, the plugin may safely assume that initialise is called no more than once. 56 A plugin does not need to handle the case where setParameter or selectProgram is called after initialise has been called. It's the host's responsibility not to do that. Similarly, the plugin may safely assume that initialise is called no more than once.
57 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00121">121</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p> 57 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00124">124</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
58 <table border="0" cellpadding="0" cellspacing="0"> 58 <table border="0" cellpadding="0" cellspacing="0">
59 <tr><td></td></tr> 59 <tr><td></td></tr>
60 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> 60 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
61 <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>, 61 <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>,
62 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> 62 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>
111 <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> 111 <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>
112 112
113 <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> 113 <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>
114 <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> 114 <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>
115 115
116 <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> 116 <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>
117 <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_1PluginBase.html#d1c6dfc77aa03d937a885b7f08258f4a">getIdentifier</a> () const =0</td></tr> 117 <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_1PluginBase.html#d1c6dfc77aa03d937a885b7f08258f4a">getIdentifier</a> () const =0</td></tr>
118 118
119 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#d1c6dfc77aa03d937a885b7f08258f4a"></a><br></td></tr> 119 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#d1c6dfc77aa03d937a885b7f08258f4a"></a><br></td></tr>
120 <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_1PluginBase.html#18619d5097e444ecefee0c359da53232">getName</a> () const =0</td></tr> 120 <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_1PluginBase.html#18619d5097e444ecefee0c359da53232">getName</a> () const =0</td></tr>
121 121
174 </div> 174 </div>
175 <div class="memdoc"> 175 <div class="memdoc">
176 176
177 <p> 177 <p>
178 178
179 <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> 179 <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>
180 180
181 </div> 181 </div>
182 </div><p> 182 </div><p>
183 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::Plugin::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" --> 183 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::Plugin::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" -->
184 <div class="memitem"> 184 <div class="memitem">
191 </div> 191 </div>
192 <div class="memdoc"> 192 <div class="memdoc">
193 193
194 <p> 194 <p>
195 195
196 <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> 196 <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>
197 197
198 </div> 198 </div>
199 </div><p> 199 </div><p>
200 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::Plugin::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" --> 200 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::Plugin::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" -->
201 <div class="memitem"> 201 <div class="memitem">
208 </div> 208 </div>
209 <div class="memdoc"> 209 <div class="memdoc">
210 210
211 <p> 211 <p>
212 212
213 <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> 213 <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>
214 214
215 </div> 215 </div>
216 </div><p> 216 </div><p>
217 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::Plugin::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> 217 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::Plugin::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" -->
218 <div class="memitem"> 218 <div class="memitem">
225 </div> 225 </div>
226 <div class="memdoc"> 226 <div class="memdoc">
227 227
228 <p> 228 <p>
229 229
230 <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> 230 <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>
231 231
232 </div> 232 </div>
233 </div><p> 233 </div><p>
234 <a class="anchor" name="7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::Plugin::ProgramList" ref="7f66f00437b21e5f694fe02356b12f20" args="" --> 234 <a class="anchor" name="7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::Plugin::ProgramList" ref="7f66f00437b21e5f694fe02356b12f20" args="" -->
235 <div class="memitem"> 235 <div class="memitem">
242 </div> 242 </div>
243 <div class="memdoc"> 243 <div class="memdoc">
244 244
245 <p> 245 <p>
246 246
247 <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> 247 <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>
248 248
249 </div> 249 </div>
250 </div><p> 250 </div><p>
251 <hr><h2>Member Enumeration Documentation</h2> 251 <hr><h2>Member Enumeration Documentation</h2>
252 <a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::Plugin::InputDomain" ref="39cb7649d6dcc20e4cb1640cd55907bc" args="" --> 252 <a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::Plugin::InputDomain" ref="39cb7649d6dcc20e4cb1640cd55907bc" args="" -->
268 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em>&nbsp;</td><td> 268 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em>&nbsp;</td><td>
269 </td></tr> 269 </td></tr>
270 </table> 270 </table>
271 </dl> 271 </dl>
272 272
273 <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> 273 <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>
274 274
275 </div> 275 </div>
276 </div><p> 276 </div><p>
277 <hr><h2>Constructor &amp; Destructor Documentation</h2> 277 <hr><h2>Constructor &amp; Destructor Documentation</h2>
278 <a class="anchor" name="42d3096f9c1f58b1876024cd8d9ab80b"></a><!-- doxytag: member="Vamp::Plugin::~Plugin" ref="42d3096f9c1f58b1876024cd8d9ab80b" args="()" --> 278 <a class="anchor" name="42d3096f9c1f58b1876024cd8d9ab80b"></a><!-- doxytag: member="Vamp::Plugin::~Plugin" ref="42d3096f9c1f58b1876024cd8d9ab80b" args="()" -->
282 <tr> 282 <tr>
283 <td class="memname">virtual Vamp::Plugin::~Plugin </td> 283 <td class="memname">virtual Vamp::Plugin::~Plugin </td>
284 <td>(</td> 284 <td>(</td>
285 <td class="paramname"> </td> 285 <td class="paramname"> </td>
286 <td>&nbsp;)&nbsp;</td> 286 <td>&nbsp;)&nbsp;</td>
287 <td width="100%"><code> [inline, virtual]</code></td> 287 <td><code> [inline, virtual]</code></td>
288 </tr> 288 </tr>
289 </table> 289 </table>
290 </div> 290 </div>
291 <div class="memdoc"> 291 <div class="memdoc">
292 292
293 <p> 293 <p>
294 294
295 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00124">124</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p> 295 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00127">127</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
296 296
297 </div> 297 </div>
298 </div><p> 298 </div><p>
299 <a class="anchor" name="1b78c4f46c72ef345ed27f0b9bf20ac9"></a><!-- doxytag: member="Vamp::Plugin::Plugin" ref="1b78c4f46c72ef345ed27f0b9bf20ac9" args="(float inputSampleRate)" --> 299 <a class="anchor" name="1b78c4f46c72ef345ed27f0b9bf20ac9"></a><!-- doxytag: member="Vamp::Plugin::Plugin" ref="1b78c4f46c72ef345ed27f0b9bf20ac9" args="(float inputSampleRate)" -->
300 <div class="memitem"> 300 <div class="memitem">
304 <td class="memname">Vamp::Plugin::Plugin </td> 304 <td class="memname">Vamp::Plugin::Plugin </td>
305 <td>(</td> 305 <td>(</td>
306 <td class="paramtype">float&nbsp;</td> 306 <td class="paramtype">float&nbsp;</td>
307 <td class="paramname"> <em>inputSampleRate</em> </td> 307 <td class="paramname"> <em>inputSampleRate</em> </td>
308 <td>&nbsp;)&nbsp;</td> 308 <td>&nbsp;)&nbsp;</td>
309 <td width="100%"><code> [inline, protected]</code></td> 309 <td><code> [inline, protected]</code></td>
310 </tr> 310 </tr>
311 </table> 311 </table>
312 </div> 312 </div>
313 <div class="memdoc"> 313 <div class="memdoc">
314 314
315 <p> 315 <p>
316 316
317 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00394">394</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p> 317 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00428">428</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
318 318
319 </div> 319 </div>
320 </div><p> 320 </div><p>
321 <hr><h2>Member Function Documentation</h2> 321 <hr><h2>Member Function Documentation</h2>
322 <a class="anchor" name="f26212cf5fc511b603a8b48034247822"></a><!-- doxytag: member="Vamp::Plugin::initialise" ref="f26212cf5fc511b603a8b48034247822" args="(size_t inputChannels, size_t stepSize, size_t blockSize)=0" --> 322 <a class="anchor" name="f26212cf5fc511b603a8b48034247822"></a><!-- doxytag: member="Vamp::Plugin::initialise" ref="f26212cf5fc511b603a8b48034247822" args="(size_t inputChannels, size_t stepSize, size_t blockSize)=0" -->
342 <td class="paramname"> <em>blockSize</em></td><td>&nbsp;</td> 342 <td class="paramname"> <em>blockSize</em></td><td>&nbsp;</td>
343 </tr> 343 </tr>
344 <tr> 344 <tr>
345 <td></td> 345 <td></td>
346 <td>)</td> 346 <td>)</td>
347 <td></td><td></td><td width="100%"><code> [pure virtual]</code></td> 347 <td></td><td></td><td><code> [pure virtual]</code></td>
348 </tr> 348 </tr>
349 </table> 349 </table>
350 </div> 350 </div>
351 <div class="memdoc"> 351 <div class="memdoc">
352 352
353 <p> 353 <p>
354 Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames). 354 Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames).
355 <p> 355 <p>
356 The input sample rate should have been already specified at construction time.<p> 356 The input sample rate should have been already specified at construction time.<p>
357 Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. 357 Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported.
358 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#dd6a2f1ee7e47bd97fa599cead14b738">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#de0473c8fc54636431967cbf41649c1c">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#72d201eca10ec73bf16e07984f58f94c">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#eb727e44ee8ad1aceb90964d20f8d90d">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#349c528260622308f3850bcda8a448ab">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#ab1ae16f5c68e2b319668f447908cedb">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#f21bbcc87a6eb7875dfab7d86222dccc">ZeroCrossing</a>.</p> 358 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#de0473c8fc54636431967cbf41649c1c">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#dd6a2f1ee7e47bd97fa599cead14b738">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#72d201eca10ec73bf16e07984f58f94c">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#1e994576d43efe103bf8f83b69716745">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#eb727e44ee8ad1aceb90964d20f8d90d">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a7500a4ffbc4653baaf5101defdb37f5">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#349c528260622308f3850bcda8a448ab">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#e2d046334c4bede5be72a0d97e4dfb29">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#ab1ae16f5c68e2b319668f447908cedb">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#f21bbcc87a6eb7875dfab7d86222dccc">ZeroCrossing</a>.</p>
359 359
360 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00062">Vamp::HostExt::PluginWrapper::initialise()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00203">Vamp::HostExt::PluginInputDomainAdapter::Impl::initialise()</a>, <a class="el" href="PluginChannelAdapter_8cpp-source.html#l00119">Vamp::HostExt::PluginChannelAdapter::Impl::initialise()</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> 360 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p>
361 361
362 </div> 362 </div>
363 </div><p> 363 </div><p>
364 <a class="anchor" name="ad67dc9d0052417511070c4ebcfbf24f"></a><!-- doxytag: member="Vamp::Plugin::reset" ref="ad67dc9d0052417511070c4ebcfbf24f" args="()=0" --> 364 <a class="anchor" name="ad67dc9d0052417511070c4ebcfbf24f"></a><!-- doxytag: member="Vamp::Plugin::reset" ref="ad67dc9d0052417511070c4ebcfbf24f" args="()=0" -->
365 <div class="memitem"> 365 <div class="memitem">
368 <tr> 368 <tr>
369 <td class="memname">virtual void Vamp::Plugin::reset </td> 369 <td class="memname">virtual void Vamp::Plugin::reset </td>
370 <td>(</td> 370 <td>(</td>
371 <td class="paramname"> </td> 371 <td class="paramname"> </td>
372 <td>&nbsp;)&nbsp;</td> 372 <td>&nbsp;)&nbsp;</td>
373 <td width="100%"><code> [pure virtual]</code></td> 373 <td><code> [pure virtual]</code></td>
374 </tr> 374 </tr>
375 </table> 375 </table>
376 </div> 376 </div>
377 <div class="memdoc"> 377 <div class="memdoc">
378 378
379 <p> 379 <p>
380 Reset the plugin after use, to prepare it for another clean run. 380 Reset the plugin after use, to prepare it for another clean run.
381 <p> 381 <p>
382 Not called for the first initialisation (i.e. initialise must also do a reset). 382 Not called for the first initialisation (i.e. initialise must also do a reset).
383 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#5d54c5bbd76bc27b7a243827148afeaa">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#131fd9fe8a1795d7370d8a721176868a">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#d19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#cebd835e80e84669df078fbd7591d8f7">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#9b1075e992cd9599764ef3881fb91d1a">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#9b5f5581691ff8f46bb7674d8d74395c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#9ae6c4a31ea027dceb1e97ead807e228">ZeroCrossing</a>.</p> 383 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#131fd9fe8a1795d7370d8a721176868a">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#5d54c5bbd76bc27b7a243827148afeaa">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#d19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#cebd835e80e84669df078fbd7591d8f7">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#c41708397255400c6682fee6c1b3d45f">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#9b1075e992cd9599764ef3881fb91d1a">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#091ba21e1697ea4208f42e8295c389d9">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#9b5f5581691ff8f46bb7674d8d74395c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#9ae6c4a31ea027dceb1e97ead807e228">ZeroCrossing</a>.</p>
384
385 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00068">Vamp::HostExt::PluginWrapper::reset()</a>.</p>
386 384
387 </div> 385 </div>
388 </div><p> 386 </div><p>
389 <a class="anchor" name="e1d317a9702cbeda65ddf0ec500c1ff6"></a><!-- doxytag: member="Vamp::Plugin::getInputDomain" ref="e1d317a9702cbeda65ddf0ec500c1ff6" args="() const =0" --> 387 <a class="anchor" name="e1d317a9702cbeda65ddf0ec500c1ff6"></a><!-- doxytag: member="Vamp::Plugin::getInputDomain" ref="e1d317a9702cbeda65ddf0ec500c1ff6" args="() const =0" -->
390 <div class="memitem"> 388 <div class="memitem">
393 <tr> 391 <tr>
394 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::Plugin::getInputDomain </td> 392 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::Plugin::getInputDomain </td>
395 <td>(</td> 393 <td>(</td>
396 <td class="paramname"> </td> 394 <td class="paramname"> </td>
397 <td>&nbsp;)&nbsp;</td> 395 <td>&nbsp;)&nbsp;</td>
398 <td width="100%"> const<code> [pure virtual]</code></td> 396 <td> const<code> [pure virtual]</code></td>
399 </tr> 397 </tr>
400 </table> 398 </table>
401 </div> 399 </div>
402 <div class="memdoc"> 400 <div class="memdoc">
403 401
404 <p> 402 <p>
405 Get the plugin's required input domain. 403 Get the plugin's required input domain.
406 <p> 404 <p>
407 If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" 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="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" 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. 405 If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" 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="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" 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.
408 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#9c5239a4da67f1a426cd059e1a2856eb">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#376fa97a1c721255541fe35d71368976">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#031aa818fd48fd0f4b5e1bf80c032870">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#fc07a389b5f922b944b0350fd232d2eb">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#4f6954267696ee5bfa7dd1c4a6cfa92a">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#0ec2cb74c1c5f6e57d0bd9dcf7c8f469">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#afe2ce6ebd353a14c40db7e8e60f4051">ZeroCrossing</a>.</p> 406 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#8e9d25673367c741631a60cbb36e91d2">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#e203faf8384c9e1fddc381409aa8a214">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#fc07a389b5f922b944b0350fd232d2eb">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#055689c9b41b0945e8d3cdbc3b8c3a2e">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#4f6954267696ee5bfa7dd1c4a6cfa92a">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#e04e0e34847a93f3444d04c802ee56ef">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#0ec2cb74c1c5f6e57d0bd9dcf7c8f469">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#afe2ce6ebd353a14c40db7e8e60f4051">ZeroCrossing</a>.</p>
409 407
410 <p>Referenced by <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00074">Vamp::HostExt::PluginWrapper::getInputDomain()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00283">Vamp::HostExt::PluginInputDomainAdapter::Impl::getPreferredBlockSize()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00271">Vamp::HostExt::PluginInputDomainAdapter::Impl::getPreferredStepSize()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00203">Vamp::HostExt::PluginInputDomainAdapter::Impl::initialise()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00314">Vamp::HostExt::PluginBufferingAdapter::Impl::initialise()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00355">Vamp::HostExt::PluginLoader::Impl::loadPlugin()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00342">Vamp::HostExt::PluginInputDomainAdapter::Impl::process()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p> 408 <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>
411 409
412 </div> 410 </div>
413 </div><p> 411 </div><p>
414 <a class="anchor" name="a529adf83f87a603954eb31407602aac"></a><!-- doxytag: member="Vamp::Plugin::getPreferredBlockSize" ref="a529adf83f87a603954eb31407602aac" args="() const " --> 412 <a class="anchor" name="a529adf83f87a603954eb31407602aac"></a><!-- doxytag: member="Vamp::Plugin::getPreferredBlockSize" ref="a529adf83f87a603954eb31407602aac" args="() const " -->
415 <div class="memitem"> 413 <div class="memitem">
418 <tr> 416 <tr>
419 <td class="memname">virtual size_t Vamp::Plugin::getPreferredBlockSize </td> 417 <td class="memname">virtual size_t Vamp::Plugin::getPreferredBlockSize </td>
420 <td>(</td> 418 <td>(</td>
421 <td class="paramname"> </td> 419 <td class="paramname"> </td>
422 <td>&nbsp;)&nbsp;</td> 420 <td>&nbsp;)&nbsp;</td>
423 <td width="100%"> const<code> [inline, virtual]</code></td> 421 <td> const<code> [inline, virtual]</code></td>
424 </tr> 422 </tr>
425 </table> 423 </table>
426 </div> 424 </div>
427 <div class="memdoc"> 425 <div class="memdoc">
428 426
429 <p> 427 <p>
430 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). 428 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).
431 <p> 429 <p>
432 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> 430 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>
433 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. 431 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.
434 <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> 432 <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>
435 433
436 <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> 434 <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>
437 435
438 <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> 436 <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>
439 437
440 </div> 438 </div>
441 </div><p> 439 </div><p>
442 <a class="anchor" name="514c716c22f81c055f19b56c3f882567"></a><!-- doxytag: member="Vamp::Plugin::getPreferredStepSize" ref="514c716c22f81c055f19b56c3f882567" args="() const " --> 440 <a class="anchor" name="514c716c22f81c055f19b56c3f882567"></a><!-- doxytag: member="Vamp::Plugin::getPreferredStepSize" ref="514c716c22f81c055f19b56c3f882567" args="() const " -->
443 <div class="memitem"> 441 <div class="memitem">
446 <tr> 444 <tr>
447 <td class="memname">virtual size_t Vamp::Plugin::getPreferredStepSize </td> 445 <td class="memname">virtual size_t Vamp::Plugin::getPreferredStepSize </td>
448 <td>(</td> 446 <td>(</td>
449 <td class="paramname"> </td> 447 <td class="paramname"> </td>
450 <td>&nbsp;)&nbsp;</td> 448 <td>&nbsp;)&nbsp;</td>
451 <td width="100%"> const<code> [inline, virtual]</code></td> 449 <td> const<code> [inline, virtual]</code></td>
452 </tr> 450 </tr>
453 </table> 451 </table>
454 </div> 452 </div>
455 <div class="memdoc"> 453 <div class="memdoc">
456 454
457 <p> 455 <p>
458 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. 456 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.
459 <p> 457 <p>
460 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> 458 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>
461 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. 459 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.
462 <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> 460 <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>
463 461
464 <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> 462 <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>
465 463
466 <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> 464 <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>
467 465
468 </div> 466 </div>
469 </div><p> 467 </div><p>
470 <a class="anchor" name="267b42e866df3cf0d190893e8096f525"></a><!-- doxytag: member="Vamp::Plugin::getMinChannelCount" ref="267b42e866df3cf0d190893e8096f525" args="() const " --> 468 <a class="anchor" name="267b42e866df3cf0d190893e8096f525"></a><!-- doxytag: member="Vamp::Plugin::getMinChannelCount" ref="267b42e866df3cf0d190893e8096f525" args="() const " -->
471 <div class="memitem"> 469 <div class="memitem">
474 <tr> 472 <tr>
475 <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td> 473 <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td>
476 <td>(</td> 474 <td>(</td>
477 <td class="paramname"> </td> 475 <td class="paramname"> </td>
478 <td>&nbsp;)&nbsp;</td> 476 <td>&nbsp;)&nbsp;</td>
479 <td width="100%"> const<code> [inline, virtual]</code></td> 477 <td> const<code> [inline, virtual]</code></td>
480 </tr> 478 </tr>
481 </table> 479 </table>
482 </div> 480 </div>
483 <div class="memdoc"> 481 <div class="memdoc">
484 482
486 Get the minimum supported number of input channels. 484 Get the minimum supported number of input channels.
487 <p> 485 <p>
488 486
489 <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> 487 <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>
490 488
491 <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> 489 <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>
492 490
493 <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">ZeroCrossing::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> 491 <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">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>
494 492
495 </div> 493 </div>
496 </div><p> 494 </div><p>
497 <a class="anchor" name="2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="Vamp::Plugin::getMaxChannelCount" ref="2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " --> 495 <a class="anchor" name="2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="Vamp::Plugin::getMaxChannelCount" ref="2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " -->
498 <div class="memitem"> 496 <div class="memitem">
501 <tr> 499 <tr>
502 <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td> 500 <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td>
503 <td>(</td> 501 <td>(</td>
504 <td class="paramname"> </td> 502 <td class="paramname"> </td>
505 <td>&nbsp;)&nbsp;</td> 503 <td>&nbsp;)&nbsp;</td>
506 <td width="100%"> const<code> [inline, virtual]</code></td> 504 <td> const<code> [inline, virtual]</code></td>
507 </tr> 505 </tr>
508 </table> 506 </table>
509 </div> 507 </div>
510 <div class="memdoc"> 508 <div class="memdoc">
511 509
513 Get the maximum supported number of input channels. 511 Get the maximum supported number of input channels.
514 <p> 512 <p>
515 513
516 <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> 514 <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>
517 515
518 <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> 516 <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>
519 517
520 <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">ZeroCrossing::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> 518 <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">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>
521 519
522 </div> 520 </div>
523 </div><p> 521 </div><p>
524 <a class="anchor" name="d064d5d132b5c9bd7064f429c3309e35"></a><!-- doxytag: member="Vamp::Plugin::getOutputDescriptors" ref="d064d5d132b5c9bd7064f429c3309e35" args="() const =0" --> 522 <a class="anchor" name="d064d5d132b5c9bd7064f429c3309e35"></a><!-- doxytag: member="Vamp::Plugin::getOutputDescriptors" ref="d064d5d132b5c9bd7064f429c3309e35" args="() const =0" -->
525 <div class="memitem"> 523 <div class="memitem">
528 <tr> 526 <tr>
529 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::Plugin::getOutputDescriptors </td> 527 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::Plugin::getOutputDescriptors </td>
530 <td>(</td> 528 <td>(</td>
531 <td class="paramname"> </td> 529 <td class="paramname"> </td>
532 <td>&nbsp;)&nbsp;</td> 530 <td>&nbsp;)&nbsp;</td>
533 <td width="100%"> const<code> [pure virtual]</code></td> 531 <td> const<code> [pure virtual]</code></td>
534 </tr> 532 </tr>
535 </table> 533 </table>
536 </div> 534 </div>
537 <div class="memdoc"> 535 <div class="memdoc">
538 536
539 <p> 537 <p>
540 Get the outputs of this plugin. 538 Get the outputs of this plugin.
541 <p> 539 <p>
542 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="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> call. 540 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="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> call.
543 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#e02670cca9d25cdc4100cbe7a12e3e68">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#85a027f5859efb31d315205e234e94c0">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#02c8c01972affeea58b091335e791ace">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#043e3c3db77d76267cd8069e1485bf26">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#a4537aa0eb58a67d6e824d46924cf782">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#894ca9740927102bb80b56b5e9e95877">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#c9d590a6feb1fc9a37d7892aefe2b688">ZeroCrossing</a>.</p> 541 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#f8cc914897a284433de220f1153f3845">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#9649a113da0252fe8bd9fc731b047ae0">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#5a9411305f713b4c9827844b89acd270">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#043e3c3db77d76267cd8069e1485bf26">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#83121c205a723fe6297e2bf8870622a4">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#a4537aa0eb58a67d6e824d46924cf782">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#6aac5f93e3a8c033026d739fed427242">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#894ca9740927102bb80b56b5e9e95877">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#c9d590a6feb1fc9a37d7892aefe2b688">ZeroCrossing</a>.</p>
544 542
545 <p>Referenced by <a class="el" href="PluginAdapter_8cpp-source.html#l00619">Vamp::PluginAdapterBase::Impl::checkOutputMap()</a>, <a class="el" href="vamp-simple-host_8cpp-source.html#l00478">enumeratePlugins()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00181">Vamp::HostExt::PluginWrapper::getOutputDescriptors()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00367">Vamp::HostExt::PluginBufferingAdapter::Impl::getOutputDescriptors()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p> 543 <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>
546 544
547 </div> 545 </div>
548 </div><p> 546 </div><p>
549 <a class="anchor" name="e4aed3bebfe80a2e2fccd3d37af26996"></a><!-- doxytag: member="Vamp::Plugin::process" ref="e4aed3bebfe80a2e2fccd3d37af26996" args="(const float *const *inputBuffers, RealTime timestamp)=0" --> 547 <a class="anchor" name="e4aed3bebfe80a2e2fccd3d37af26996"></a><!-- doxytag: member="Vamp::Plugin::process" ref="e4aed3bebfe80a2e2fccd3d37af26996" args="(const float *const *inputBuffers, RealTime timestamp)=0" -->
550 <div class="memitem"> 548 <div class="memitem">
563 <td class="paramname"> <em>timestamp</em></td><td>&nbsp;</td> 561 <td class="paramname"> <em>timestamp</em></td><td>&nbsp;</td>
564 </tr> 562 </tr>
565 <tr> 563 <tr>
566 <td></td> 564 <td></td>
567 <td>)</td> 565 <td>)</td>
568 <td></td><td></td><td width="100%"><code> [pure virtual]</code></td> 566 <td></td><td></td><td><code> [pure virtual]</code></td>
569 </tr> 567 </tr>
570 </table> 568 </table>
571 </div> 569 </div>
572 <div class="memdoc"> 570 <div class="memdoc">
573 571
574 <p> 572 <p>
575 Process a single block of input data. 573 Process a single block of input data.
576 <p> 574 <p>
577 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> 575 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>
578 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> 576 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>
579 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.) 577 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.)
580 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#82c29a512c0587ea0121eee4b0c2a684">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#262206b978d9de28ee4bb35f437e915e">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#294e663b4d9ec885791faa1b440571ed">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#0867737693c16801d40a6adbde07ec07">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#fca78043c2843c1d45019983515e23f7">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#48d0f95cac31ffd190cff89b50a2a5bd">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#dfd989812b3e0cb8f4b498f56a5a9614">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#ca96c70e7e75c9e4a7db38485018914c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#bf4aaa6fd8cc03de63f4e1e8942633da">ZeroCrossing</a>.</p> 578 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#55058a20c1f8bffc0dc927350df778a0">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#6ff37bf754ff8711dbcb2f020fa3902c">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#38fe1080b343ba10e5d8a4b30c87cbdd">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#b36a81ac9a0ded8d83c6b855263c0231">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#3314b456a4780601c021dac25b478846">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#48d0f95cac31ffd190cff89b50a2a5bd">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#1cf76b0e55cf4ed3da095cffcdeaec3c">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#dfd989812b3e0cb8f4b498f56a5a9614">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#a5664ffc2b37a16db471fae791c1f55f">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#ca96c70e7e75c9e4a7db38485018914c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#bf4aaa6fd8cc03de63f4e1e8942633da">ZeroCrossing</a>.</p>
581 579
582 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00187">Vamp::HostExt::PluginWrapper::process()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00342">Vamp::HostExt::PluginInputDomainAdapter::Impl::process()</a>, <a class="el" href="PluginChannelAdapter_8cpp-source.html#l00177">Vamp::HostExt::PluginChannelAdapter::Impl::process()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00690">Vamp::PluginAdapterBase::Impl::process()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00485">Vamp::HostExt::PluginBufferingAdapter::Impl::processBlock()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p> 580 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p>
583 581
584 </div> 582 </div>
585 </div><p> 583 </div><p>
586 <a class="anchor" name="eca2a26e658ba0314ba90d25dd2195d6"></a><!-- doxytag: member="Vamp::Plugin::getRemainingFeatures" ref="eca2a26e658ba0314ba90d25dd2195d6" args="()=0" --> 584 <a class="anchor" name="eca2a26e658ba0314ba90d25dd2195d6"></a><!-- doxytag: member="Vamp::Plugin::getRemainingFeatures" ref="eca2a26e658ba0314ba90d25dd2195d6" args="()=0" -->
587 <div class="memitem"> 585 <div class="memitem">
590 <tr> 588 <tr>
591 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::Plugin::getRemainingFeatures </td> 589 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::Plugin::getRemainingFeatures </td>
592 <td>(</td> 590 <td>(</td>
593 <td class="paramname"> </td> 591 <td class="paramname"> </td>
594 <td>&nbsp;)&nbsp;</td> 592 <td>&nbsp;)&nbsp;</td>
595 <td width="100%"><code> [pure virtual]</code></td> 593 <td><code> [pure virtual]</code></td>
596 </tr> 594 </tr>
597 </table> 595 </table>
598 </div> 596 </div>
599 <div class="memdoc"> 597 <div class="memdoc">
600 598
601 <p> 599 <p>
602 After all blocks have been processed, calculate and return any remaining features derived from the complete input. 600 After all blocks have been processed, calculate and return any remaining features derived from the complete input.
603 <p> 601 <p>
604 602
605 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#d3f5f16a89a821da2ec1186fd2062e83">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#8771cba75552aaa1340b68de9bf1659c">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#1dce55a75a32b08fc56a52a300d9fcbe">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#368606f643b88e0df0823d85e36f030c">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#d3d6767ed137783e84f842b4d4732ffa">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#83ba39f0870a2f86837605a958dfab1a">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#70996d1b7166e303903daf92a9a37ad8">ZeroCrossing</a>.</p> 603 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#28423951b2eda1a1fc371485434f417b">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#984a4c11f3fbdcfd90e4837b1619a5ab">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#e9dcbd1ba8197ff90b4fc6bf7ade7688">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#2bc8c0992e64f06991fb7cf89f99857e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#368606f643b88e0df0823d85e36f030c">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#4965cf99be77fc4d1de51e11d83936b0">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#d3d6767ed137783e84f842b4d4732ffa">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#c8a9661a785d38f4c5ce8ca2d53e69f9">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#83ba39f0870a2f86837605a958dfab1a">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#70996d1b7166e303903daf92a9a37ad8">ZeroCrossing</a>.</p>
606 604
607 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00193">Vamp::HostExt::PluginWrapper::getRemainingFeatures()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00452">Vamp::HostExt::PluginBufferingAdapter::Impl::getRemainingFeatures()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00701">Vamp::PluginAdapterBase::Impl::getRemainingFeatures()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p> 605 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p>
608 606
609 </div> 607 </div>
610 </div><p> 608 </div><p>
611 <a class="anchor" name="be13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::Plugin::getType" ref="be13b3997a69fbcc09e2213faa352f91" args="() const " --> 609 <a class="anchor" name="be13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::Plugin::getType" ref="be13b3997a69fbcc09e2213faa352f91" args="() const " -->
612 <div class="memitem"> 610 <div class="memitem">
615 <tr> 613 <tr>
616 <td class="memname">virtual std::string Vamp::Plugin::getType </td> 614 <td class="memname">virtual std::string Vamp::Plugin::getType </td>
617 <td>(</td> 615 <td>(</td>
618 <td class="paramname"> </td> 616 <td class="paramname"> </td>
619 <td>&nbsp;)&nbsp;</td> 617 <td>&nbsp;)&nbsp;</td>
620 <td width="100%"> const<code> [inline, virtual]</code></td> 618 <td> const<code> [inline, virtual]</code></td>
621 </tr> 619 </tr>
622 </table> 620 </table>
623 </div> 621 </div>
624 <div class="memdoc"> 622 <div class="memdoc">
625 623
627 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>. 625 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>.
628 <p> 626 <p>
629 Do not reimplement this function in your subclass. 627 Do not reimplement this function in your subclass.
630 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> 628 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p>
631 629
632 <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> 630 <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>
633 631
634 </div> 632 </div>
635 </div><p> 633 </div><p>
636 <a class="anchor" name="8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="Vamp::Plugin::getVampApiVersion" ref="8fd2c48291c64b790f0efb8948508dcf" args="() const " --> 634 <a class="anchor" name="8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="Vamp::Plugin::getVampApiVersion" ref="8fd2c48291c64b790f0efb8948508dcf" args="() const " -->
637 <div class="memitem"> 635 <div class="memitem">
640 <tr> 638 <tr>
641 <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td> 639 <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td>
642 <td>(</td> 640 <td>(</td>
643 <td class="paramname"> </td> 641 <td class="paramname"> </td>
644 <td>&nbsp;)&nbsp;</td> 642 <td>&nbsp;)&nbsp;</td>
645 <td width="100%"> const<code> [inline, virtual, inherited]</code></td> 643 <td> const<code> [inline, virtual, inherited]</code></td>
646 </tr> 644 </tr>
647 </table> 645 </table>
648 </div> 646 </div>
649 <div class="memdoc"> 647 <div class="memdoc">
650 648
651 <p> 649 <p>
652 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. 650 Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin.
653 <p> 651 <p>
654 652
655 <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> 653 <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>
656 654
657 <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> 655 <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>
658 656
659 <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> 657 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>.</p>
660 658
661 </div> 659 </div>
662 </div><p> 660 </div><p>
663 <a class="anchor" name="d1c6dfc77aa03d937a885b7f08258f4a"></a><!-- doxytag: member="Vamp::Plugin::getIdentifier" ref="d1c6dfc77aa03d937a885b7f08258f4a" args="() const =0" --> 661 <a class="anchor" name="d1c6dfc77aa03d937a885b7f08258f4a"></a><!-- doxytag: member="Vamp::Plugin::getIdentifier" ref="d1c6dfc77aa03d937a885b7f08258f4a" args="() const =0" -->
664 <div class="memitem"> 662 <div class="memitem">
667 <tr> 665 <tr>
668 <td class="memname">virtual std::string Vamp::PluginBase::getIdentifier </td> 666 <td class="memname">virtual std::string Vamp::PluginBase::getIdentifier </td>
669 <td>(</td> 667 <td>(</td>
670 <td class="paramname"> </td> 668 <td class="paramname"> </td>
671 <td>&nbsp;)&nbsp;</td> 669 <td>&nbsp;)&nbsp;</td>
672 <td width="100%"> const<code> [pure virtual, inherited]</code></td> 670 <td> const<code> [pure virtual, inherited]</code></td>
673 </tr> 671 </tr>
674 </table> 672 </table>
675 </div> 673 </div>
676 <div class="memdoc"> 674 <div class="memdoc">
677 675
679 Get the computer-usable name of the plugin. 677 Get the computer-usable name of the plugin.
680 <p> 678 <p>
681 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> 679 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>
682 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> 680 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>
683 Example: "zero_crossings" 681 Example: "zero_crossings"
684 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#b27423a656f878d97d2ad2eba4e76c7a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#4baa9e48f717c2b3e7f92496aa39d904">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#fe7576af95c8fcc7f5bad42eec9f9f29">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#267c83a7533146c127e2c3be310e0154">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#1b2c4c8440c024c4c635fcef5697949f">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#f2baf9e19fcdd11cfe97ace56d4f5c1a">ZeroCrossing</a>.</p> 682 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#b27423a656f878d97d2ad2eba4e76c7a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#4baa9e48f717c2b3e7f92496aa39d904">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#fe7576af95c8fcc7f5bad42eec9f9f29">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#b818edcf1555177d10260e197e3a5e7a">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#267c83a7533146c127e2c3be310e0154">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#9e9d8349461cbb88d7565a5e8c51b64e">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#1b2c4c8440c024c4c635fcef5697949f">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#f2baf9e19fcdd11cfe97ace56d4f5c1a">ZeroCrossing</a>.</p>
685 683
686 <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>, <a class="el" href="PluginWrapper_8cpp-source.html#l00086">Vamp::HostExt::PluginWrapper::getIdentifier()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p> 684 <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>
687 685
688 </div> 686 </div>
689 </div><p> 687 </div><p>
690 <a class="anchor" name="18619d5097e444ecefee0c359da53232"></a><!-- doxytag: member="Vamp::Plugin::getName" ref="18619d5097e444ecefee0c359da53232" args="() const =0" --> 688 <a class="anchor" name="18619d5097e444ecefee0c359da53232"></a><!-- doxytag: member="Vamp::Plugin::getName" ref="18619d5097e444ecefee0c359da53232" args="() const =0" -->
691 <div class="memitem"> 689 <div class="memitem">
694 <tr> 692 <tr>
695 <td class="memname">virtual std::string Vamp::PluginBase::getName </td> 693 <td class="memname">virtual std::string Vamp::PluginBase::getName </td>
696 <td>(</td> 694 <td>(</td>
697 <td class="paramname"> </td> 695 <td class="paramname"> </td>
698 <td>&nbsp;)&nbsp;</td> 696 <td>&nbsp;)&nbsp;</td>
699 <td width="100%"> const<code> [pure virtual, inherited]</code></td> 697 <td> const<code> [pure virtual, inherited]</code></td>
700 </tr> 698 </tr>
701 </table> 699 </table>
702 </div> 700 </div>
703 <div class="memdoc"> 701 <div class="memdoc">
704 702
705 <p> 703 <p>
706 Get a human-readable name or title of the plugin. 704 Get a human-readable name or title of the plugin.
707 <p> 705 <p>
708 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> 706 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>
709 Example: "Zero Crossings" 707 Example: "Zero Crossings"
710 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#45f1d0377e233eeddd1b7cefb48be62a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#c70a3265bb25aeb03f6dd8f8a0442088">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#7cfed00bc9d96ba6c709b69ab6a40594">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#a98f1ad061a11af98c054011a8844e6f">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#b7e6a620fea568af431be3cfd9dd5a41">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#fa96f7ce6e7d9f03768f48c6a9d88498">ZeroCrossing</a>.</p> 708 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#45f1d0377e233eeddd1b7cefb48be62a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#c70a3265bb25aeb03f6dd8f8a0442088">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#7cfed00bc9d96ba6c709b69ab6a40594">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#f9eb6fa8a98aa66b55e64e1795f9405f">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#a98f1ad061a11af98c054011a8844e6f">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#c9214f9cafeeed3fca549c90aef57623">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#b7e6a620fea568af431be3cfd9dd5a41">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#fa96f7ce6e7d9f03768f48c6a9d88498">ZeroCrossing</a>.</p>
711 709
712 <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>, <a class="el" href="PluginWrapper_8cpp-source.html#l00092">Vamp::HostExt::PluginWrapper::getName()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00577">printPluginCategoryList()</a>.</p> 710 <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#l00778">printPluginCategoryList()</a>.</p>
713 711
714 </div> 712 </div>
715 </div><p> 713 </div><p>
716 <a class="anchor" name="59153a02364f75fff46973b2072e9e5a"></a><!-- doxytag: member="Vamp::Plugin::getDescription" ref="59153a02364f75fff46973b2072e9e5a" args="() const =0" --> 714 <a class="anchor" name="59153a02364f75fff46973b2072e9e5a"></a><!-- doxytag: member="Vamp::Plugin::getDescription" ref="59153a02364f75fff46973b2072e9e5a" args="() const =0" -->
717 <div class="memitem"> 715 <div class="memitem">
720 <tr> 718 <tr>
721 <td class="memname">virtual std::string Vamp::PluginBase::getDescription </td> 719 <td class="memname">virtual std::string Vamp::PluginBase::getDescription </td>
722 <td>(</td> 720 <td>(</td>
723 <td class="paramname"> </td> 721 <td class="paramname"> </td>
724 <td>&nbsp;)&nbsp;</td> 722 <td>&nbsp;)&nbsp;</td>
725 <td width="100%"> const<code> [pure virtual, inherited]</code></td> 723 <td> const<code> [pure virtual, inherited]</code></td>
726 </tr> 724 </tr>
727 </table> 725 </table>
728 </div> 726 </div>
729 <div class="memdoc"> 727 <div class="memdoc">
730 728
731 <p> 729 <p>
732 Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name". 730 Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name".
733 <p> 731 <p>
734 May be empty if the name has said it all already.<p> 732 May be empty if the name has said it all already.<p>
735 Example: "Detect and count zero crossing points" 733 Example: "Detect and count zero crossing points"
736 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#5eaafcef030e81b90a3e77cf16cf8ae1">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#c334f699c0996055942785410d8a065c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#6f0f2fea1fdb4b51e688edfe859d5062">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#9061d189705802a48973a7ccab6360db">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#8fbb74a46283057d9a0b0e4718ee943c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#710bb0b013157adaeef2a9e6867b4478">ZeroCrossing</a>.</p> 734 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#5eaafcef030e81b90a3e77cf16cf8ae1">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#c334f699c0996055942785410d8a065c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#6f0f2fea1fdb4b51e688edfe859d5062">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#06b00853f00c2e78d490697fcd7d1920">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#9061d189705802a48973a7ccab6360db">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#7b48d56dc954f3af344f7e4dcd8993e5">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#8fbb74a46283057d9a0b0e4718ee943c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#710bb0b013157adaeef2a9e6867b4478">ZeroCrossing</a>.</p>
737 735
738 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00478">enumeratePlugins()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00098">Vamp::HostExt::PluginWrapper::getDescription()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00577">printPluginCategoryList()</a>.</p> 736 <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#l00778">printPluginCategoryList()</a>.</p>
739 737
740 </div> 738 </div>
741 </div><p> 739 </div><p>
742 <a class="anchor" name="53d9918bf9ef4d12feedf66b2b26c637"></a><!-- doxytag: member="Vamp::Plugin::getMaker" ref="53d9918bf9ef4d12feedf66b2b26c637" args="() const =0" --> 740 <a class="anchor" name="53d9918bf9ef4d12feedf66b2b26c637"></a><!-- doxytag: member="Vamp::Plugin::getMaker" ref="53d9918bf9ef4d12feedf66b2b26c637" args="() const =0" -->
743 <div class="memitem"> 741 <div class="memitem">
746 <tr> 744 <tr>
747 <td class="memname">virtual std::string Vamp::PluginBase::getMaker </td> 745 <td class="memname">virtual std::string Vamp::PluginBase::getMaker </td>
748 <td>(</td> 746 <td>(</td>
749 <td class="paramname"> </td> 747 <td class="paramname"> </td>
750 <td>&nbsp;)&nbsp;</td> 748 <td>&nbsp;)&nbsp;</td>
751 <td width="100%"> const<code> [pure virtual, inherited]</code></td> 749 <td> const<code> [pure virtual, inherited]</code></td>
752 </tr> 750 </tr>
753 </table> 751 </table>
754 </div> 752 </div>
755 <div class="memdoc"> 753 <div class="memdoc">
756 754
757 <p> 755 <p>
758 Get the name of the author or vendor of the plugin in human-readable form. 756 Get the name of the author or vendor of the plugin in human-readable form.
759 <p> 757 <p>
760 This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. 758 This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar.
761 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#f572be0b175f5661559006a380a0f3db">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#59d5a2298951b317995675e664b1c7bb">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#44fc43838f203f58bc2ce6e3cb2b03dd">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#63d63f2cb7ea8d8b09d58cc13b541375">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#c01ff858bf67e2e93ad5d24a6ba8c8c8">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#c68561634a3c329a029c2fd3deaeae2a">ZeroCrossing</a>.</p> 759 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#f572be0b175f5661559006a380a0f3db">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#59d5a2298951b317995675e664b1c7bb">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#44fc43838f203f58bc2ce6e3cb2b03dd">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#e910d1b9250b11097fd6b51cd8285b68">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#63d63f2cb7ea8d8b09d58cc13b541375">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#9f3e3f759e2b67c771a41f1c276984b2">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#c01ff858bf67e2e93ad5d24a6ba8c8c8">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#c68561634a3c329a029c2fd3deaeae2a">ZeroCrossing</a>.</p>
762 760
763 <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>, <a class="el" href="PluginWrapper_8cpp-source.html#l00104">Vamp::HostExt::PluginWrapper::getMaker()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00577">printPluginCategoryList()</a>.</p> 761 <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#l00778">printPluginCategoryList()</a>.</p>
764 762
765 </div> 763 </div>
766 </div><p> 764 </div><p>
767 <a class="anchor" name="b7e9dedbe965f5ab9018b72920fe7661"></a><!-- doxytag: member="Vamp::Plugin::getCopyright" ref="b7e9dedbe965f5ab9018b72920fe7661" args="() const =0" --> 765 <a class="anchor" name="b7e9dedbe965f5ab9018b72920fe7661"></a><!-- doxytag: member="Vamp::Plugin::getCopyright" ref="b7e9dedbe965f5ab9018b72920fe7661" args="() const =0" -->
768 <div class="memitem"> 766 <div class="memitem">
771 <tr> 769 <tr>
772 <td class="memname">virtual std::string Vamp::PluginBase::getCopyright </td> 770 <td class="memname">virtual std::string Vamp::PluginBase::getCopyright </td>
773 <td>(</td> 771 <td>(</td>
774 <td class="paramname"> </td> 772 <td class="paramname"> </td>
775 <td>&nbsp;)&nbsp;</td> 773 <td>&nbsp;)&nbsp;</td>
776 <td width="100%"> const<code> [pure virtual, inherited]</code></td> 774 <td> const<code> [pure virtual, inherited]</code></td>
777 </tr> 775 </tr>
778 </table> 776 </table>
779 </div> 777 </div>
780 <div class="memdoc"> 778 <div class="memdoc">
781 779
782 <p> 780 <p>
783 Get the copyright statement or licensing summary for the plugin. 781 Get the copyright statement or licensing summary for the plugin.
784 <p> 782 <p>
785 This can be an informative text, without the same presentation constraints as mentioned for getMaker above. 783 This can be an informative text, without the same presentation constraints as mentioned for getMaker above.
786 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#c73c9d6baad04369beee695e99584815">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#e14f6ecb78be909c4cd5f0cdaed3c566">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#0c197fc90f30d91cb4403115c83c9134">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#1a22ece271330c94cc08798a77416351">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#925747d513d598e0fa21ed0ed6520980">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#f9c41b92aa8ff8bddaebf75569ff789c">ZeroCrossing</a>.</p> 784 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#c73c9d6baad04369beee695e99584815">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#e14f6ecb78be909c4cd5f0cdaed3c566">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#0c197fc90f30d91cb4403115c83c9134">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#50c6b64530c84c0707ba3936c5022a48">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#1a22ece271330c94cc08798a77416351">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#708b4d335c57643d5ef2b2e1caf43bd9">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#925747d513d598e0fa21ed0ed6520980">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#f9c41b92aa8ff8bddaebf75569ff789c">ZeroCrossing</a>.</p>
787 785
788 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00116">Vamp::HostExt::PluginWrapper::getCopyright()</a>, and <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>.</p> 786 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>.</p>
789 787
790 </div> 788 </div>
791 </div><p> 789 </div><p>
792 <a class="anchor" name="63f686d77bc3d6b807e7944cdde83151"></a><!-- doxytag: member="Vamp::Plugin::getPluginVersion" ref="63f686d77bc3d6b807e7944cdde83151" args="() const =0" --> 790 <a class="anchor" name="63f686d77bc3d6b807e7944cdde83151"></a><!-- doxytag: member="Vamp::Plugin::getPluginVersion" ref="63f686d77bc3d6b807e7944cdde83151" args="() const =0" -->
793 <div class="memitem"> 791 <div class="memitem">
796 <tr> 794 <tr>
797 <td class="memname">virtual int Vamp::PluginBase::getPluginVersion </td> 795 <td class="memname">virtual int Vamp::PluginBase::getPluginVersion </td>
798 <td>(</td> 796 <td>(</td>
799 <td class="paramname"> </td> 797 <td class="paramname"> </td>
800 <td>&nbsp;)&nbsp;</td> 798 <td>&nbsp;)&nbsp;</td>
801 <td width="100%"> const<code> [pure virtual, inherited]</code></td> 799 <td> const<code> [pure virtual, inherited]</code></td>
802 </tr> 800 </tr>
803 </table> 801 </table>
804 </div> 802 </div>
805 <div class="memdoc"> 803 <div class="memdoc">
806 804
807 <p> 805 <p>
808 Get the version number of the plugin. 806 Get the version number of the plugin.
809 <p> 807 <p>
810 808
811 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#6fbd94781867ca46a20368c2a3593c77">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#47e1acf1696813008324a915c9ba59c5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#8a5d7a834eb996d517c51f84b2a72250">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#d6b818dbd81867ce7be71c99cae861be">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#f64622e66bf678ac2b0b58aa832ca2b3">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#d685f6c2f443f07a1634550c335571eb">ZeroCrossing</a>.</p> 809 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#6fbd94781867ca46a20368c2a3593c77">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#47e1acf1696813008324a915c9ba59c5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#8a5d7a834eb996d517c51f84b2a72250">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#d002fddb3735c2dd7e31e6a9def9949f">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#d6b818dbd81867ce7be71c99cae861be">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#d23d27e4e82f10404a37b933f6a72c33">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#f64622e66bf678ac2b0b58aa832ca2b3">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#d685f6c2f443f07a1634550c335571eb">ZeroCrossing</a>.</p>
812 810
813 <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#l00110">Vamp::HostExt::PluginWrapper::getPluginVersion()</a>.</p> 811 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>.</p>
814 812
815 </div> 813 </div>
816 </div><p> 814 </div><p>
817 <a class="anchor" name="ac3e49b3b66cacfbb768dfdf07444f21"></a><!-- doxytag: member="Vamp::Plugin::getParameterDescriptors" ref="ac3e49b3b66cacfbb768dfdf07444f21" args="() const " --> 815 <a class="anchor" name="ac3e49b3b66cacfbb768dfdf07444f21"></a><!-- doxytag: member="Vamp::Plugin::getParameterDescriptors" ref="ac3e49b3b66cacfbb768dfdf07444f21" args="() const " -->
818 <div class="memitem"> 816 <div class="memitem">
821 <tr> 819 <tr>
822 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginBase::getParameterDescriptors </td> 820 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginBase::getParameterDescriptors </td>
823 <td>(</td> 821 <td>(</td>
824 <td class="paramname"> </td> 822 <td class="paramname"> </td>
825 <td>&nbsp;)&nbsp;</td> 823 <td>&nbsp;)&nbsp;</td>
826 <td width="100%"> const<code> [inline, virtual, inherited]</code></td> 824 <td> const<code> [inline, virtual, inherited]</code></td>
827 </tr> 825 </tr>
828 </table> 826 </table>
829 </div> 827 </div>
830 <div class="memdoc"> 828 <div class="memdoc">
831 829
832 <p> 830 <p>
833 Get the controllable parameters of this plugin. 831 Get the controllable parameters of this plugin.
834 <p> 832 <p>
835 833
836 <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> 834 <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>
837 835
838 <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> 836 <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>
839 837
840 <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> 838 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>.</p>
841 839
842 </div> 840 </div>
843 </div><p> 841 </div><p>
844 <a class="anchor" name="97ababcd45348ceec998d0f8e0f38bf7"></a><!-- doxytag: member="Vamp::Plugin::getParameter" ref="97ababcd45348ceec998d0f8e0f38bf7" args="(std::string) const " --> 842 <a class="anchor" name="97ababcd45348ceec998d0f8e0f38bf7"></a><!-- doxytag: member="Vamp::Plugin::getParameter" ref="97ababcd45348ceec998d0f8e0f38bf7" args="(std::string) const " -->
845 <div class="memitem"> 843 <div class="memitem">
849 <td class="memname">virtual float Vamp::PluginBase::getParameter </td> 847 <td class="memname">virtual float Vamp::PluginBase::getParameter </td>
850 <td>(</td> 848 <td>(</td>
851 <td class="paramtype">std::string&nbsp;</td> 849 <td class="paramtype">std::string&nbsp;</td>
852 <td class="paramname"> </td> 850 <td class="paramname"> </td>
853 <td>&nbsp;)&nbsp;</td> 851 <td>&nbsp;)&nbsp;</td>
854 <td width="100%"> const<code> [inline, virtual, inherited]</code></td> 852 <td> const<code> [inline, virtual, inherited]</code></td>
855 </tr> 853 </tr>
856 </table> 854 </table>
857 </div> 855 </div>
858 <div class="memdoc"> 856 <div class="memdoc">
859 857
860 <p> 858 <p>
861 Get the value of a named parameter. 859 Get the value of a named parameter.
862 <p> 860 <p>
863 The argument is the identifier field from that parameter's descriptor. 861 The argument is the identifier field from that parameter's descriptor.
864 <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> 862 <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>
865 863
866 <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> 864 <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>
867
868 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00128">Vamp::HostExt::PluginWrapper::getParameter()</a>.</p>
869 865
870 </div> 866 </div>
871 </div><p> 867 </div><p>
872 <a class="anchor" name="6c718ce822f7b73b98940d59dcaa9366"></a><!-- doxytag: member="Vamp::Plugin::setParameter" ref="6c718ce822f7b73b98940d59dcaa9366" args="(std::string, float)" --> 868 <a class="anchor" name="6c718ce822f7b73b98940d59dcaa9366"></a><!-- doxytag: member="Vamp::Plugin::setParameter" ref="6c718ce822f7b73b98940d59dcaa9366" args="(std::string, float)" -->
873 <div class="memitem"> 869 <div class="memitem">
886 <td class="paramname"></td><td>&nbsp;</td> 882 <td class="paramname"></td><td>&nbsp;</td>
887 </tr> 883 </tr>
888 <tr> 884 <tr>
889 <td></td> 885 <td></td>
890 <td>)</td> 886 <td>)</td>
891 <td></td><td></td><td width="100%"><code> [inline, virtual, inherited]</code></td> 887 <td></td><td></td><td><code> [inline, virtual, inherited]</code></td>
892 </tr> 888 </tr>
893 </table> 889 </table>
894 </div> 890 </div>
895 <div class="memdoc"> 891 <div class="memdoc">
896 892
897 <p> 893 <p>
898 Set a named parameter. 894 Set a named parameter.
899 <p> 895 <p>
900 The first argument is the identifier field from that parameter's descriptor. 896 The first argument is the identifier field from that parameter's descriptor.
901 <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> 897 <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>
902 898
903 <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> 899 <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>
904
905 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00134">Vamp::HostExt::PluginWrapper::setParameter()</a>.</p>
906 900
907 </div> 901 </div>
908 </div><p> 902 </div><p>
909 <a class="anchor" name="bb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="Vamp::Plugin::getPrograms" ref="bb307c60bdb981d5f5af50c3c4ae84af" args="() const " --> 903 <a class="anchor" name="bb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="Vamp::Plugin::getPrograms" ref="bb307c60bdb981d5f5af50c3c4ae84af" args="() const " -->
910 <div class="memitem"> 904 <div class="memitem">
913 <tr> 907 <tr>
914 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td> 908 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td>
915 <td>(</td> 909 <td>(</td>
916 <td class="paramname"> </td> 910 <td class="paramname"> </td>
917 <td>&nbsp;)&nbsp;</td> 911 <td>&nbsp;)&nbsp;</td>
918 <td width="100%"> const<code> [inline, virtual, inherited]</code></td> 912 <td> const<code> [inline, virtual, inherited]</code></td>
919 </tr> 913 </tr>
920 </table> 914 </table>
921 </div> 915 </div>
922 <div class="memdoc"> 916 <div class="memdoc">
923 917
924 <p> 918 <p>
925 Get the program settings available in this plugin. 919 Get the program settings available in this plugin.
926 <p> 920 <p>
927 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> 921 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>
928 The programs must have unique names. 922 The programs must have unique names.
929 <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> 923 <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>
930 924
931 <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> 925 <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>
932
933 <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>
934 926
935 </div> 927 </div>
936 </div><p> 928 </div><p>
937 <a class="anchor" name="24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="Vamp::Plugin::getCurrentProgram" ref="24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " --> 929 <a class="anchor" name="24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="Vamp::Plugin::getCurrentProgram" ref="24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " -->
938 <div class="memitem"> 930 <div class="memitem">
941 <tr> 933 <tr>
942 <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td> 934 <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td>
943 <td>(</td> 935 <td>(</td>
944 <td class="paramname"> </td> 936 <td class="paramname"> </td>
945 <td>&nbsp;)&nbsp;</td> 937 <td>&nbsp;)&nbsp;</td>
946 <td width="100%"> const<code> [inline, virtual, inherited]</code></td> 938 <td> const<code> [inline, virtual, inherited]</code></td>
947 </tr> 939 </tr>
948 </table> 940 </table>
949 </div> 941 </div>
950 <div class="memdoc"> 942 <div class="memdoc">
951 943
953 Get the current program. 945 Get the current program.
954 <p> 946 <p>
955 947
956 <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 <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>
957 949
958 <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> 950 <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>
959
960 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00146">Vamp::HostExt::PluginWrapper::getCurrentProgram()</a>.</p>
961 951
962 </div> 952 </div>
963 </div><p> 953 </div><p>
964 <a class="anchor" name="add3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="Vamp::Plugin::selectProgram" ref="add3a547ef140bae200473a9518e3353" args="(std::string)" --> 954 <a class="anchor" name="add3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="Vamp::Plugin::selectProgram" ref="add3a547ef140bae200473a9518e3353" args="(std::string)" -->
965 <div class="memitem"> 955 <div class="memitem">
969 <td class="memname">virtual void Vamp::PluginBase::selectProgram </td> 959 <td class="memname">virtual void Vamp::PluginBase::selectProgram </td>
970 <td>(</td> 960 <td>(</td>
971 <td class="paramtype">std::string&nbsp;</td> 961 <td class="paramtype">std::string&nbsp;</td>
972 <td class="paramname"> </td> 962 <td class="paramname"> </td>
973 <td>&nbsp;)&nbsp;</td> 963 <td>&nbsp;)&nbsp;</td>
974 <td width="100%"><code> [inline, virtual, inherited]</code></td> 964 <td><code> [inline, virtual, inherited]</code></td>
975 </tr> 965 </tr>
976 </table> 966 </table>
977 </div> 967 </div>
978 <div class="memdoc"> 968 <div class="memdoc">
979 969
980 <p> 970 <p>
981 Select a program. 971 Select a program.
982 <p> 972 <p>
983 (If the given program name is not one of the available programs, do nothing.) 973 (If the given program name is not one of the available programs, do nothing.)
984 <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> 974 <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>
985 975
986 <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> 976 <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>
987
988 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00152">Vamp::HostExt::PluginWrapper::selectProgram()</a>.</p>
989 977
990 </div> 978 </div>
991 </div><p> 979 </div><p>
992 <hr><h2>Member Data Documentation</h2> 980 <hr><h2>Member Data Documentation</h2>
993 <a class="anchor" name="59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::Plugin::m_inputSampleRate" ref="59b9dd82a4f4eb946cd0474cc81abc23" args="" --> 981 <a class="anchor" name="59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::Plugin::m_inputSampleRate" ref="59b9dd82a4f4eb946cd0474cc81abc23" args="" -->
1001 </div> 989 </div>
1002 <div class="memdoc"> 990 <div class="memdoc">
1003 991
1004 <p> 992 <p>
1005 993
1006 <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> 994 <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>
1007 995
1008 <p>Referenced by <a class="el" href="ZeroCrossing_8cpp-source.html#l00110">ZeroCrossing::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">ZeroCrossing::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> 996 <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">SpectralCentroid::process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00226">PercussionOnsetDetector::process()</a>.</p>
1009 997
1010 </div> 998 </div>
1011 </div><p> 999 </div><p>
1012 <hr>The documentation for this class was generated from the following file:<ul> 1000 <hr>The documentation for this class was generated from the following file:<ul>
1013 <li><a class="el" href="Plugin_8h-source.html">Plugin.h</a></ul> 1001 <li><a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a></ul>
1014 </div> 1002 </div>
1015 <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jul 9 11:36:09 2008 for VampPluginSDK by&nbsp; 1003 <hr size="1"><address style="text-align: right;"><small>Generated on Mon Dec 8 14:37:20 2008 for VampPluginSDK by&nbsp;
1016 <a href="http://www.doxygen.org/index.html"> 1004 <a href="http://www.doxygen.org/index.html">
1017 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address> 1005 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
1018 </body> 1006 </body>
1019 </html> 1007 </html>