diff 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
line wrap: on
line diff
--- a/code-doc/classVamp_1_1HostExt_1_1PluginBufferingAdapter.html	Wed Sep 23 15:09:53 2009 +0000
+++ b/code-doc/classVamp_1_1HostExt_1_1PluginBufferingAdapter.html	Fri Sep 25 15:40:18 2009 +0000
@@ -1,10 +1,10 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 <title>VampPluginSDK: Vamp::HostExt::PluginBufferingAdapter Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
 <link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
 </head><body>
-<!-- Generated by Doxygen 1.5.6 -->
+<!-- Generated by Doxygen 1.5.8 -->
 <div class="navigation" id="top">
   <div class="tabs">
     <ul>
@@ -26,44 +26,35 @@
   </div>
 </div>
 <div class="contents">
-<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>
+<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.  
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="PluginBufferingAdapter_8h-source.html">vamp-hostsdk/PluginBufferingAdapter.h</a>&gt;</code>
 <p>
 <div class="dynheader">
 Inheritance diagram for Vamp::HostExt::PluginBufferingAdapter:</div>
 <div class="dynsection">
 <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>
 <map name="Vamp_1_1HostExt_1_1PluginBufferingAdapter__inherit__map">
-<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>
+<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>
 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
 
 <p>
-<a href="classVamp_1_1HostExt_1_1PluginBufferingAdapter-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
-<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. 
-<p>
-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>
-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>
-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. 
-<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>
-<table border="0" cellpadding="0" cellspacing="0">
+<a href="classVamp_1_1HostExt_1_1PluginBufferingAdapter-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
 <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>, 
 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>
  }</td></tr>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br class="typebreak">
 &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>
 
 <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>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; int, <br>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; int, <br class="typebreak">
 <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>
 
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br>
-&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>
-
-<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>
-
 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
 <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>
 
@@ -154,7 +145,7 @@
 <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>
 
 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the maximum supported number of input channels.  <a href="#985eb21f1827bfbc3950d6871b107a58"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename WrapperType&gt; </td></tr>
+<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename WrapperType &gt; </td></tr>
 <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>
 
 <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>
@@ -169,6 +160,13 @@
 <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>
 
 </table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<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. 
+<p>
+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>
+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>
+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. 
+<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>
 <hr><h2>Member Typedef Documentation</h2>
 <a class="anchor" name="30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::OutputList" ref="30f531b8fb69fac41a24e3d2a6a08ed9" args="" -->
 <div class="memitem">
@@ -183,7 +181,7 @@
 
 <p>
 
-<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>
+<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>
 
 </div>
 </div><p>
@@ -200,7 +198,7 @@
 
 <p>
 
-<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>
+<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>
 
 </div>
 </div><p>
@@ -217,7 +215,7 @@
 
 <p>
 
-<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>
+<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>
 
 </div>
 </div><p>
@@ -707,7 +705,8 @@
 <p>
 Get the plugin's required input domain. 
 <p>
-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. 
+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>
+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. 
 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p>
 
 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>.</p>
@@ -1023,7 +1022,7 @@
 <div class="memitem">
 <div class="memproto">
 <div class="memtemplate">
-template&lt;typename WrapperType&gt; </div>
+template&lt;typename WrapperType &gt; </div>
       <table class="memname">
         <tr>
           <td class="memname">WrapperType* Vamp::HostExt::PluginWrapper::getWrapper           </td>
@@ -1069,7 +1068,7 @@
 Do not reimplement this function in your subclass. 
 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p>
 
-<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>
+<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>
 
 </div>
 </div><p>
@@ -1121,17 +1120,17 @@
 
 <p>
 
-<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>
+<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>
 
-<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>
+<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>
 
 </div>
 </div><p>
 <hr>The documentation for this class was generated from the following file:<ul>
 <li><a class="el" href="PluginBufferingAdapter_8h-source.html">PluginBufferingAdapter.h</a></ul>
 </div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Mon Dec 8 14:37:21 2008 for VampPluginSDK by&nbsp;
+<hr size="1"><address style="text-align: right;"><small>Generated on Thu Sep 24 13:40:14 2009 for VampPluginSDK by&nbsp;
 <a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
 </body>
 </html>