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

* Update for 2.1 release; add wiki link
author cannam
date Fri, 25 Sep 2009 15:40:18 +0000
parents cc0be37dc9d3
children 8260c0f4e05b
comparison
equal deleted inserted replaced
34:4b4db9230e94 35:0976232e353b
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 <title>VampPluginSDK: Vamp::HostExt::PluginBufferingAdapter Class Reference</title> 3 <title>VampPluginSDK: Vamp::HostExt::PluginBufferingAdapter Class Reference</title>
4 <link href="tabs.css" rel="stylesheet" type="text/css">
4 <link href="doxygen.css" rel="stylesheet" type="text/css"> 5 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body> 6 </head><body>
7 <!-- Generated by Doxygen 1.5.6 --> 7 <!-- Generated by Doxygen 1.5.8 -->
8 <div class="navigation" id="top"> 8 <div class="navigation" id="top">
9 <div class="tabs"> 9 <div class="tabs">
10 <ul> 10 <ul>
11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li> 11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12 <li><a href="namespaces.html"><span>Namespaces</span></a></li> 12 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
24 </div> 24 </div>
25 <div class="navpath"><a class="el" href="namespaceVamp.html">Vamp</a>::<a class="el" href="namespaceVamp_1_1HostExt.html">HostExt</a>::<a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">PluginBufferingAdapter</a> 25 <div class="navpath"><a class="el" href="namespaceVamp.html">Vamp</a>::<a class="el" href="namespaceVamp_1_1HostExt.html">HostExt</a>::<a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">PluginBufferingAdapter</a>
26 </div> 26 </div>
27 </div> 27 </div>
28 <div class="contents"> 28 <div class="contents">
29 <h1>Vamp::HostExt::PluginBufferingAdapter Class Reference</h1><!-- doxytag: class="Vamp::HostExt::PluginBufferingAdapter" --><!-- doxytag: inherits="Vamp::HostExt::PluginWrapper" --><code>#include &lt;<a class="el" href="PluginBufferingAdapter_8h-source.html">vamp-hostsdk/PluginBufferingAdapter.h</a>&gt;</code> 29 <h1>Vamp::HostExt::PluginBufferingAdapter Class Reference</h1><!-- doxytag: class="Vamp::HostExt::PluginBufferingAdapter" --><!-- doxytag: inherits="Vamp::HostExt::PluginWrapper" --><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by...">PluginBufferingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that allows plugins to be used by a host supplying an audio stream in non-overlapping buffers of arbitrary size.
30 <a href="#_details">More...</a>
31 <p>
32 <code>#include &lt;<a class="el" href="PluginBufferingAdapter_8h-source.html">vamp-hostsdk/PluginBufferingAdapter.h</a>&gt;</code>
30 <p> 33 <p>
31 <div class="dynheader"> 34 <div class="dynheader">
32 Inheritance diagram for Vamp::HostExt::PluginBufferingAdapter:</div> 35 Inheritance diagram for Vamp::HostExt::PluginBufferingAdapter:</div>
33 <div class="dynsection"> 36 <div class="dynsection">
34 <p><center><img src="classVamp_1_1HostExt_1_1PluginBufferingAdapter__inherit__graph.png" border="0" usemap="#Vamp_1_1HostExt_1_1PluginBufferingAdapter__inherit__map" alt="Inheritance graph"></center> 37 <p><center><img src="classVamp_1_1HostExt_1_1PluginBufferingAdapter__inherit__graph.png" border="0" usemap="#Vamp_1_1HostExt_1_1PluginBufferingAdapter__inherit__map" alt="Inheritance graph"></center>
35 <map name="Vamp_1_1HostExt_1_1PluginBufferingAdapter__inherit__map"> 38 <map name="Vamp_1_1HostExt_1_1PluginBufferingAdapter__inherit__map">
36 <area shape="rect" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="29,154,229,181"><area shape="rect" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction..." alt="" coords="80,80,179,106"><area shape="rect" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="65,5,193,32"></map> 39 <area shape="rect" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="28,156,217,180"><area shape="rect" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction..." alt="" coords="76,81,169,105"><area shape="rect" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="63,7,183,31"></map>
37 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div> 40 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
38 41
39 <p> 42 <p>
40 <a href="classVamp_1_1HostExt_1_1PluginBufferingAdapter-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> 43 <a href="classVamp_1_1HostExt_1_1PluginBufferingAdapter-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
41 <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by...">PluginBufferingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that allows plugins to be used by a host supplying an audio stream in non-overlapping buffers of arbitrary size.
42 <p>
43 A host using <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by...">PluginBufferingAdapter</a> may ignore the preferred step and block size reported by the plugin, and still expect the plugin to run. The value of blockSize and stepSize passed to initialise should be the size of the buffer which the host will supply; the stepSize should be equal to the blockSize.<p>
44 If the internal step size used for the plugin differs from that supplied by the host, the adapter will modify the sample type and rate specifications for the plugin outputs appropriately, and set timestamps on the output features for outputs that formerly used a different sample rate specification. This is necessary in order to obtain correct time stamping.<p>
45 In other respects, the <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by...">PluginBufferingAdapter</a> behaves identically to the plugin that it wraps. The wrapped plugin will be deleted when the wrapper is deleted.
46 <p>Definition at line <a class="el" href="PluginBufferingAdapter_8h-source.html#l00075">75</a> of file <a class="el" href="PluginBufferingAdapter_8h-source.html">PluginBufferingAdapter.h</a>.</p>
47 <table border="0" cellpadding="0" cellspacing="0">
48 <tr><td></td></tr> 44 <tr><td></td></tr>
49 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> 45 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
50 <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>, 46 <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>,
51 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> 47 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>
52 }</td></tr> 48 }</td></tr>
53 49
54 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br> 50 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br class="typebreak">
55 &lt; <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> 51 &lt; <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr>
56 52
57 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> 53 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr>
58 54
59 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; int, <br> 55 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; int, <br class="typebreak">
60 <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> 56 <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr>
61
62 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br>
63 &lt; <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr>
64
65 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; std::string &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr>
66 57
67 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> 58 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
68 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#1276bcfcbe1414b33eeefbd7b2b702fe">PluginBufferingAdapter</a> (<a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *plugin)</td></tr> 59 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#1276bcfcbe1414b33eeefbd7b2b702fe">PluginBufferingAdapter</a> (<a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *plugin)</td></tr>
69 60
70 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by...">PluginBufferingAdapter</a> wrapping the given plugin. <a href="#1276bcfcbe1414b33eeefbd7b2b702fe"></a><br></td></tr> 61 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by...">PluginBufferingAdapter</a> wrapping the given plugin. <a href="#1276bcfcbe1414b33eeefbd7b2b702fe"></a><br></td></tr>
152 143
153 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#2b28f1cf37d46a514f1e1411a6037bf8"></a><br></td></tr> 144 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#2b28f1cf37d46a514f1e1411a6037bf8"></a><br></td></tr>
154 <tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#985eb21f1827bfbc3950d6871b107a58">getMaxChannelCount</a> () const </td></tr> 145 <tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#985eb21f1827bfbc3950d6871b107a58">getMaxChannelCount</a> () const </td></tr>
155 146
156 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#985eb21f1827bfbc3950d6871b107a58"></a><br></td></tr> 147 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#985eb21f1827bfbc3950d6871b107a58"></a><br></td></tr>
157 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename WrapperType&gt; </td></tr> 148 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename WrapperType &gt; </td></tr>
158 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">WrapperType *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#e9d79bed7237d55a73018a6b982a55b3">getWrapper</a> ()</td></tr> 149 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">WrapperType *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#e9d79bed7237d55a73018a6b982a55b3">getWrapper</a> ()</td></tr>
159 150
160 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. <a href="#e9d79bed7237d55a73018a6b982a55b3"></a><br></td></tr> 151 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. <a href="#e9d79bed7237d55a73018a6b982a55b3"></a><br></td></tr>
161 <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> 152 <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>
162 153
167 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#b4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a></td></tr> 158 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#b4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a></td></tr>
168 159
169 <tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr> 160 <tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr>
170 161
171 </table> 162 </table>
163 <hr><a name="_details"></a><h2>Detailed Description</h2>
164 <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by...">PluginBufferingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that allows plugins to be used by a host supplying an audio stream in non-overlapping buffers of arbitrary size.
165 <p>
166 A host using <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by...">PluginBufferingAdapter</a> may ignore the preferred step and block size reported by the plugin, and still expect the plugin to run. The value of blockSize and stepSize passed to initialise should be the size of the buffer which the host will supply; the stepSize should be equal to the blockSize.<p>
167 If the internal step size used for the plugin differs from that supplied by the host, the adapter will modify the sample type and rate specifications for the plugin outputs appropriately, and set timestamps on the output features for outputs that formerly used a different sample rate specification. This is necessary in order to obtain correct time stamping.<p>
168 In other respects, the <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by...">PluginBufferingAdapter</a> behaves identically to the plugin that it wraps. The wrapped plugin will be deleted when the wrapper is deleted.
169 <p>Definition at line <a class="el" href="PluginBufferingAdapter_8h-source.html#l00075">75</a> of file <a class="el" href="PluginBufferingAdapter_8h-source.html">PluginBufferingAdapter.h</a>.</p>
172 <hr><h2>Member Typedef Documentation</h2> 170 <hr><h2>Member Typedef Documentation</h2>
173 <a class="anchor" name="30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::OutputList" ref="30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> 171 <a class="anchor" name="30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::OutputList" ref="30f531b8fb69fac41a24e3d2a6a08ed9" args="" -->
174 <div class="memitem"> 172 <div class="memitem">
175 <div class="memproto"> 173 <div class="memproto">
176 <table class="memname"> 174 <table class="memname">
181 </div> 179 </div>
182 <div class="memdoc"> 180 <div class="memdoc">
183 181
184 <p> 182 <p>
185 183
186 <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> 184 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00327">327</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
187 185
188 </div> 186 </div>
189 </div><p> 187 </div><p>
190 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" --> 188 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" -->
191 <div class="memitem"> 189 <div class="memitem">
198 </div> 196 </div>
199 <div class="memdoc"> 197 <div class="memdoc">
200 198
201 <p> 199 <p>
202 200
203 <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> 201 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00385">385</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
204 202
205 </div> 203 </div>
206 </div><p> 204 </div><p>
207 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" --> 205 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" -->
208 <div class="memitem"> 206 <div class="memitem">
215 </div> 213 </div>
216 <div class="memdoc"> 214 <div class="memdoc">
217 215
218 <p> 216 <p>
219 217
220 <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> 218 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00387">387</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
221 219
222 </div> 220 </div>
223 </div><p> 221 </div><p>
224 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> 222 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" -->
225 <div class="memitem"> 223 <div class="memitem">
705 <div class="memdoc"> 703 <div class="memdoc">
706 704
707 <p> 705 <p>
708 Get the plugin's required input domain. 706 Get the plugin's required input domain.
709 <p> 707 <p>
710 If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf" 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_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf" 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. 708 If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function (below) will be in the time domain, as for a traditional audio processing plugin.<p>
709 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_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a>. The input data for the FFT will be rotated so as to place the origin in the centre of the block. The plugin does not get to choose the window type -- the host will either let the user do so, or will use a Hanning window.
711 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> 710 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p>
712 711
713 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>.</p> 712 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>.</p>
714 713
715 </div> 714 </div>
1021 </div><p> 1020 </div><p>
1022 <a class="anchor" name="e9d79bed7237d55a73018a6b982a55b3"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getWrapper" ref="e9d79bed7237d55a73018a6b982a55b3" args="()" --> 1021 <a class="anchor" name="e9d79bed7237d55a73018a6b982a55b3"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getWrapper" ref="e9d79bed7237d55a73018a6b982a55b3" args="()" -->
1023 <div class="memitem"> 1022 <div class="memitem">
1024 <div class="memproto"> 1023 <div class="memproto">
1025 <div class="memtemplate"> 1024 <div class="memtemplate">
1026 template&lt;typename WrapperType&gt; </div> 1025 template&lt;typename WrapperType &gt; </div>
1027 <table class="memname"> 1026 <table class="memname">
1028 <tr> 1027 <tr>
1029 <td class="memname">WrapperType* Vamp::HostExt::PluginWrapper::getWrapper </td> 1028 <td class="memname">WrapperType* Vamp::HostExt::PluginWrapper::getWrapper </td>
1030 <td>(</td> 1029 <td>(</td>
1031 <td class="paramname"> </td> 1030 <td class="paramname"> </td>
1067 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>. 1066 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>.
1068 <p> 1067 <p>
1069 Do not reimplement this function in your subclass. 1068 Do not reimplement this function in your subclass.
1070 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> 1069 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p>
1071 1070
1072 <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> 1071 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00430">430</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
1073 1072
1074 </div> 1073 </div>
1075 </div><p> 1074 </div><p>
1076 <hr><h2>Member Data Documentation</h2> 1075 <hr><h2>Member Data Documentation</h2>
1077 <a class="anchor" name="51e10c9c63c0349fd74c6d604de5554e"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::m_impl" ref="51e10c9c63c0349fd74c6d604de5554e" args="" --> 1076 <a class="anchor" name="51e10c9c63c0349fd74c6d604de5554e"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::m_impl" ref="51e10c9c63c0349fd74c6d604de5554e" args="" -->
1119 </div> 1118 </div>
1120 <div class="memdoc"> 1119 <div class="memdoc">
1121 1120
1122 <p> 1121 <p>
1123 1122
1124 <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> 1123 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00436">436</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
1125 1124
1126 <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> 1125 <p>Referenced by <a class="el" href="ZeroCrossing_8cpp-source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00142">ZeroCrossing::process()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00146">SpectralCentroid::process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00226">PercussionOnsetDetector::process()</a>.</p>
1127 1126
1128 </div> 1127 </div>
1129 </div><p> 1128 </div><p>
1130 <hr>The documentation for this class was generated from the following file:<ul> 1129 <hr>The documentation for this class was generated from the following file:<ul>
1131 <li><a class="el" href="PluginBufferingAdapter_8h-source.html">PluginBufferingAdapter.h</a></ul> 1130 <li><a class="el" href="PluginBufferingAdapter_8h-source.html">PluginBufferingAdapter.h</a></ul>
1132 </div> 1131 </div>
1133 <hr size="1"><address style="text-align: right;"><small>Generated on Mon Dec 8 14:37:21 2008 for VampPluginSDK by&nbsp; 1132 <hr size="1"><address style="text-align: right;"><small>Generated on Thu Sep 24 13:40:14 2009 for VampPluginSDK by&nbsp;
1134 <a href="http://www.doxygen.org/index.html"> 1133 <a href="http://www.doxygen.org/index.html">
1135 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> 1134 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
1136 </body> 1135 </body>
1137 </html> 1136 </html>