comparison code-doc/classVamp_1_1HostExt_1_1PluginBufferingAdapter.html @ 0:351c4ebce5f9 website

* Move website from vamp-website/trunk to plain website
author cannam
date Mon, 22 Sep 2008 13:01:46 +0000
parents
children cc0be37dc9d3
comparison
equal deleted inserted replaced
-1:000000000000 0:351c4ebce5f9
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">
3 <title>VampPluginSDK: Vamp::HostExt::PluginBufferingAdapter Class Reference</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <!-- Generated by Doxygen 1.5.5 -->
8 <div class="navigation" id="top">
9 <div class="tabs">
10 <ul>
11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
14 <li><a href="files.html"><span>Files</span></a></li>
15 <li><a href="dirs.html"><span>Directories</span></a></li>
16 </ul>
17 </div>
18 <div class="tabs">
19 <ul>
20 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
21 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
22 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
23 </ul>
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>
26 </div>
27 </div>
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-sdk/hostext/PluginBufferingAdapter.h</a>&gt;</code>
30 <p>
31 <div class="dynheader">
32 Inheritance diagram for Vamp::HostExt::PluginBufferingAdapter:</div>
33 <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>
35 <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="31,156,231,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="81,81,180,105"><area shape="rect" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="67,6,195,30"></map>
37 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
38
39 <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>
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" title="If you want to compile using FFTW instead of the built-in FFT implementation for...">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#l00072">72</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>
49 <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>,
51 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>
52 }</td></tr>
53
54 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br>
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>
56
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>
58
59 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; int, <br>
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>
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
67 <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>
69
70 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#539423b54a4ede511476125f4a97d977">~PluginBufferingAdapter</a> ()</td></tr>
71
72 <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr>
73
74 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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). <a href="#9e7798ba4d7870db46502ab541ab37a8"></a><br></td></tr>
75 <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_1PluginBufferingAdapter.html#2e66d009df69c951001e5d2786973d60">getPreferredStepSize</a> () const </td></tr>
76
77 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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_1HostExt_1_1PluginBufferingAdapter.html#262206b978d9de28ee4bb35f437e915e" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#2e66d009df69c951001e5d2786973d60"></a><br></td></tr>
78 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#85a027f5859efb31d315205e234e94c0">getOutputDescriptors</a> () const </td></tr>
79
80 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the outputs of this plugin. <a href="#85a027f5859efb31d315205e234e94c0"></a><br></td></tr>
81 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#131fd9fe8a1795d7370d8a721176868a">reset</a> ()</td></tr>
82
83 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#131fd9fe8a1795d7370d8a721176868a"></a><br></td></tr>
84 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#262206b978d9de28ee4bb35f437e915e">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)</td></tr>
85
86 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process a single block of input data. <a href="#262206b978d9de28ee4bb35f437e915e"></a><br></td></tr>
87 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#8771cba75552aaa1340b68de9bf1659c">getRemainingFeatures</a> ()</td></tr>
88
89 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#8771cba75552aaa1340b68de9bf1659c"></a><br></td></tr>
90 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#031aa818fd48fd0f4b5e1bf80c032870">getInputDomain</a> () const </td></tr>
91
92 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the plugin's required input domain. <a href="#031aa818fd48fd0f4b5e1bf80c032870"></a><br></td></tr>
93 <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#74147fda6b44ff2169bd4a1eea0d46ff">getVampApiVersion</a> () const </td></tr>
94
95 <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="#74147fda6b44ff2169bd4a1eea0d46ff"></a><br></td></tr>
96 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#4baa9e48f717c2b3e7f92496aa39d904">getIdentifier</a> () const </td></tr>
97
98 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#4baa9e48f717c2b3e7f92496aa39d904"></a><br></td></tr>
99 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#c70a3265bb25aeb03f6dd8f8a0442088">getName</a> () const </td></tr>
100
101 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#c70a3265bb25aeb03f6dd8f8a0442088"></a><br></td></tr>
102 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#c334f699c0996055942785410d8a065c">getDescription</a> () const </td></tr>
103
104 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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". <a href="#c334f699c0996055942785410d8a065c"></a><br></td></tr>
105 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#59d5a2298951b317995675e664b1c7bb">getMaker</a> () const </td></tr>
106
107 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#59d5a2298951b317995675e664b1c7bb"></a><br></td></tr>
108 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#47e1acf1696813008324a915c9ba59c5">getPluginVersion</a> () const </td></tr>
109
110 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the version number of the plugin. <a href="#47e1acf1696813008324a915c9ba59c5"></a><br></td></tr>
111 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#e14f6ecb78be909c4cd5f0cdaed3c566">getCopyright</a> () const </td></tr>
112
113 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#e14f6ecb78be909c4cd5f0cdaed3c566"></a><br></td></tr>
114 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#3b075b8f950b344503f0d27ac0fe332e">getParameterDescriptors</a> () const </td></tr>
115
116 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#3b075b8f950b344503f0d27ac0fe332e"></a><br></td></tr>
117 <tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#034920f56c8d7609a85447c42556048c">getParameter</a> (std::string) const </td></tr>
118
119 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the value of a named parameter. <a href="#034920f56c8d7609a85447c42556048c"></a><br></td></tr>
120 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#651b15a5dc4c27942ac0c87c6092bfe5">setParameter</a> (std::string, float)</td></tr>
121
122 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a named parameter. <a href="#651b15a5dc4c27942ac0c87c6092bfe5"></a><br></td></tr>
123 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#f3abaf717dc4b00cad5770ed6dfa01e1">getPrograms</a> () const </td></tr>
124
125 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the program settings available in this plugin. <a href="#f3abaf717dc4b00cad5770ed6dfa01e1"></a><br></td></tr>
126 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#7a312dd42d161064b70afd7ff24c0651">getCurrentProgram</a> () const </td></tr>
127
128 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current program. <a href="#7a312dd42d161064b70afd7ff24c0651"></a><br></td></tr>
129 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#074978333a74fdcf336a8a1d8ea20abf">selectProgram</a> (std::string)</td></tr>
130
131 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select a program. <a href="#074978333a74fdcf336a8a1d8ea20abf"></a><br></td></tr>
132 <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#2c62a656313a819650656643a867ad01">getPreferredBlockSize</a> () const </td></tr>
133
134 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#fca78043c2843c1d45019983515e23f7" title="Process a single block of input data.">process()</a> function). <a href="#2c62a656313a819650656643a867ad01"></a><br></td></tr>
135 <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#2b28f1cf37d46a514f1e1411a6037bf8">getMinChannelCount</a> () const </td></tr>
136
137 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#2b28f1cf37d46a514f1e1411a6037bf8"></a><br></td></tr>
138 <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>
139
140 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#985eb21f1827bfbc3950d6871b107a58"></a><br></td></tr>
141 <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>
142
143 <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>
144 <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
145 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter_1_1Impl.html">Impl</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#51e10c9c63c0349fd74c6d604de5554e">m_impl</a></td></tr>
146
147 <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>
148
149 <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>
150
151 <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
152 <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter_1_1Impl.html">Impl</a></td></tr>
153
154 </table>
155 <hr><h2>Member Typedef Documentation</h2>
156 <a class="anchor" name="30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::OutputList" ref="30f531b8fb69fac41a24e3d2a6a08ed9" args="" -->
157 <div class="memitem">
158 <div class="memproto">
159 <table class="memname">
160 <tr>
161 <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code> </td>
162 </tr>
163 </table>
164 </div>
165 <div class="memdoc">
166
167 <p>
168
169 <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>
170
171 </div>
172 </div><p>
173 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" -->
174 <div class="memitem">
175 <div class="memproto">
176 <table class="memname">
177 <tr>
178 <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code> </td>
179 </tr>
180 </table>
181 </div>
182 <div class="memdoc">
183
184 <p>
185
186 <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>
187
188 </div>
189 </div><p>
190 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" -->
191 <div class="memitem">
192 <div class="memproto">
193 <table class="memname">
194 <tr>
195 <td class="memname">typedef std::map&lt;int, <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code> </td>
196 </tr>
197 </table>
198 </div>
199 <div class="memdoc">
200
201 <p>
202
203 <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>
204
205 </div>
206 </div><p>
207 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" -->
208 <div class="memitem">
209 <div class="memproto">
210 <table class="memname">
211 <tr>
212 <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>&gt; <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code> </td>
213 </tr>
214 </table>
215 </div>
216 <div class="memdoc">
217
218 <p>
219
220 <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>
221
222 </div>
223 </div><p>
224 <a class="anchor" name="7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::ProgramList" ref="7f66f00437b21e5f694fe02356b12f20" args="" -->
225 <div class="memitem">
226 <div class="memproto">
227 <table class="memname">
228 <tr>
229 <td class="memname">typedef std::vector&lt;std::string&gt; <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code> </td>
230 </tr>
231 </table>
232 </div>
233 <div class="memdoc">
234
235 <p>
236
237 <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>
238
239 </div>
240 </div><p>
241 <hr><h2>Member Enumeration Documentation</h2>
242 <a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::InputDomain" ref="39cb7649d6dcc20e4cb1640cd55907bc" args="" -->
243 <div class="memitem">
244 <div class="memproto">
245 <table class="memname">
246 <tr>
247 <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code> </td>
248 </tr>
249 </table>
250 </div>
251 <div class="memdoc">
252
253 <p>
254 <dl compact><dt><b>Enumerator: </b></dt><dd>
255 <table border="0" cellspacing="2" cellpadding="0">
256 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em>&nbsp;</td><td>
257 </td></tr>
258 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em>&nbsp;</td><td>
259 </td></tr>
260 </table>
261 </dl>
262
263 <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>
264
265 </div>
266 </div><p>
267 <hr><h2>Constructor &amp; Destructor Documentation</h2>
268 <a class="anchor" name="1276bcfcbe1414b33eeefbd7b2b702fe"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::PluginBufferingAdapter" ref="1276bcfcbe1414b33eeefbd7b2b702fe" args="(Plugin *plugin)" -->
269 <div class="memitem">
270 <div class="memproto">
271 <table class="memname">
272 <tr>
273 <td class="memname">Vamp::HostExt::PluginBufferingAdapter::PluginBufferingAdapter </td>
274 <td>(</td>
275 <td class="paramtype"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *&nbsp;</td>
276 <td class="paramname"> <em>plugin</em> </td>
277 <td>&nbsp;)&nbsp;</td>
278 <td width="100%"></td>
279 </tr>
280 </table>
281 </div>
282 <div class="memdoc">
283
284 <p>
285
286 <p>Definition at line <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00238">238</a> of file <a class="el" href="PluginBufferingAdapter_8cpp-source.html">PluginBufferingAdapter.cpp</a>.</p>
287
288 <p>References <a class="el" href="PluginBufferingAdapter_8h-source.html#l00091">m_impl</a>, and <a class="el" href="Plugin_8h-source.html#l00397">Vamp::Plugin::m_inputSampleRate</a>.</p>
289
290 </div>
291 </div><p>
292 <a class="anchor" name="539423b54a4ede511476125f4a97d977"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::~PluginBufferingAdapter" ref="539423b54a4ede511476125f4a97d977" args="()" -->
293 <div class="memitem">
294 <div class="memproto">
295 <table class="memname">
296 <tr>
297 <td class="memname">Vamp::HostExt::PluginBufferingAdapter::~PluginBufferingAdapter </td>
298 <td>(</td>
299 <td class="paramname"> </td>
300 <td>&nbsp;)&nbsp;</td>
301 <td width="100%"><code> [virtual]</code></td>
302 </tr>
303 </table>
304 </div>
305 <div class="memdoc">
306
307 <p>
308
309 <p>Definition at line <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00244">244</a> of file <a class="el" href="PluginBufferingAdapter_8cpp-source.html">PluginBufferingAdapter.cpp</a>.</p>
310
311 <p>References <a class="el" href="PluginBufferingAdapter_8h-source.html#l00091">m_impl</a>.</p>
312
313 </div>
314 </div><p>
315 <hr><h2>Member Function Documentation</h2>
316 <a class="anchor" name="9e7798ba4d7870db46502ab541ab37a8"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::initialise" ref="9e7798ba4d7870db46502ab541ab37a8" args="(size_t channels, size_t stepSize, size_t blockSize)" -->
317 <div class="memitem">
318 <div class="memproto">
319 <table class="memname">
320 <tr>
321 <td class="memname">bool Vamp::HostExt::PluginBufferingAdapter::initialise </td>
322 <td>(</td>
323 <td class="paramtype">size_t&nbsp;</td>
324 <td class="paramname"> <em>inputChannels</em>, </td>
325 </tr>
326 <tr>
327 <td class="paramkey"></td>
328 <td></td>
329 <td class="paramtype">size_t&nbsp;</td>
330 <td class="paramname"> <em>stepSize</em>, </td>
331 </tr>
332 <tr>
333 <td class="paramkey"></td>
334 <td></td>
335 <td class="paramtype">size_t&nbsp;</td>
336 <td class="paramname"> <em>blockSize</em></td><td>&nbsp;</td>
337 </tr>
338 <tr>
339 <td></td>
340 <td>)</td>
341 <td></td><td></td><td width="100%"><code> [virtual]</code></td>
342 </tr>
343 </table>
344 </div>
345 <div class="memdoc">
346
347 <p>
348 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).
349 <p>
350 The input sample rate should have been already specified at construction time.<p>
351 Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported.
352 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>.</p>
353
354 <p>Definition at line <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00250">250</a> of file <a class="el" href="PluginBufferingAdapter_8cpp-source.html">PluginBufferingAdapter.cpp</a>.</p>
355
356 <p>References <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00314">Vamp::HostExt::PluginBufferingAdapter::Impl::initialise()</a>, and <a class="el" href="PluginBufferingAdapter_8h-source.html#l00091">m_impl</a>.</p>
357
358 </div>
359 </div><p>
360 <a class="anchor" name="2e66d009df69c951001e5d2786973d60"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPreferredStepSize" ref="2e66d009df69c951001e5d2786973d60" args="() const " -->
361 <div class="memitem">
362 <div class="memproto">
363 <table class="memname">
364 <tr>
365 <td class="memname">size_t Vamp::HostExt::PluginBufferingAdapter::getPreferredStepSize </td>
366 <td>(</td>
367 <td class="paramname"> </td>
368 <td>&nbsp;)&nbsp;</td>
369 <td width="100%"> const<code> [virtual]</code></td>
370 </tr>
371 </table>
372 </div>
373 <div class="memdoc">
374
375 <p>
376 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_1HostExt_1_1PluginBufferingAdapter.html#262206b978d9de28ee4bb35f437e915e" title="Process a single block of input data.">process()</a> function) for the plugin.
377 <p>
378 This should be called before <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a>.<p>
379 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_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a> call.
380 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a>.</p>
381
382 <p>Definition at line <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00308">308</a> of file <a class="el" href="PluginBufferingAdapter_8cpp-source.html">PluginBufferingAdapter.cpp</a>.</p>
383
384 <p>References <a class="el" href="PluginWrapper_8cpp-source.html#l00164">Vamp::HostExt::PluginWrapper::getPreferredBlockSize()</a>.</p>
385
386 </div>
387 </div><p>
388 <a class="anchor" name="85a027f5859efb31d315205e234e94c0"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getOutputDescriptors" ref="85a027f5859efb31d315205e234e94c0" args="() const " -->
389 <div class="memitem">
390 <div class="memproto">
391 <table class="memname">
392 <tr>
393 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">PluginBufferingAdapter::OutputList</a> Vamp::HostExt::PluginBufferingAdapter::getOutputDescriptors </td>
394 <td>(</td>
395 <td class="paramname"> </td>
396 <td>&nbsp;)&nbsp;</td>
397 <td width="100%"> const<code> [virtual]</code></td>
398 </tr>
399 </table>
400 </div>
401 <div class="memdoc">
402
403 <p>
404 Get the outputs of this plugin.
405 <p>
406 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_1HostExt_1_1PluginBufferingAdapter.html#262206b978d9de28ee4bb35f437e915e" title="Process a single block of input data.">process()</a> call.
407 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#02c8c01972affeea58b091335e791ace">Vamp::HostExt::PluginWrapper</a>.</p>
408
409 <p>Definition at line <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00256">256</a> of file <a class="el" href="PluginBufferingAdapter_8cpp-source.html">PluginBufferingAdapter.cpp</a>.</p>
410
411 <p>References <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00367">Vamp::HostExt::PluginBufferingAdapter::Impl::getOutputDescriptors()</a>, and <a class="el" href="PluginBufferingAdapter_8h-source.html#l00091">m_impl</a>.</p>
412
413 </div>
414 </div><p>
415 <a class="anchor" name="131fd9fe8a1795d7370d8a721176868a"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::reset" ref="131fd9fe8a1795d7370d8a721176868a" args="()" -->
416 <div class="memitem">
417 <div class="memproto">
418 <table class="memname">
419 <tr>
420 <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::reset </td>
421 <td>(</td>
422 <td class="paramname"> </td>
423 <td>&nbsp;)&nbsp;</td>
424 <td width="100%"><code> [virtual]</code></td>
425 </tr>
426 </table>
427 </div>
428 <div class="memdoc">
429
430 <p>
431 Reset the plugin after use, to prepare it for another clean run.
432 <p>
433 Not called for the first initialisation (i.e. initialise must also do a reset).
434 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#d19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a>.</p>
435
436 <p>Definition at line <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00262">262</a> of file <a class="el" href="PluginBufferingAdapter_8cpp-source.html">PluginBufferingAdapter.cpp</a>.</p>
437
438 <p>References <a class="el" href="PluginBufferingAdapter_8h-source.html#l00091">m_impl</a>, and <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00406">Vamp::HostExt::PluginBufferingAdapter::Impl::reset()</a>.</p>
439
440 </div>
441 </div><p>
442 <a class="anchor" name="262206b978d9de28ee4bb35f437e915e"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::process" ref="262206b978d9de28ee4bb35f437e915e" args="(const float *const *inputBuffers, RealTime timestamp)" -->
443 <div class="memitem">
444 <div class="memproto">
445 <table class="memname">
446 <tr>
447 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">PluginBufferingAdapter::FeatureSet</a> Vamp::HostExt::PluginBufferingAdapter::process </td>
448 <td>(</td>
449 <td class="paramtype">const float *const *&nbsp;</td>
450 <td class="paramname"> <em>inputBuffers</em>, </td>
451 </tr>
452 <tr>
453 <td class="paramkey"></td>
454 <td></td>
455 <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a>&nbsp;</td>
456 <td class="paramname"> <em>timestamp</em></td><td>&nbsp;</td>
457 </tr>
458 <tr>
459 <td></td>
460 <td>)</td>
461 <td></td><td></td><td width="100%"><code> [virtual]</code></td>
462 </tr>
463 </table>
464 </div>
465 <div class="memdoc">
466
467 <p>
468 Process a single block of input data.
469 <p>
470 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>
471 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>
472 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.)
473 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#fca78043c2843c1d45019983515e23f7">Vamp::HostExt::PluginWrapper</a>.</p>
474
475 <p>Definition at line <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00268">268</a> of file <a class="el" href="PluginBufferingAdapter_8cpp-source.html">PluginBufferingAdapter.cpp</a>.</p>
476
477 <p>References <a class="el" href="PluginBufferingAdapter_8h-source.html#l00091">m_impl</a>, and <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00417">Vamp::HostExt::PluginBufferingAdapter::Impl::process()</a>.</p>
478
479 </div>
480 </div><p>
481 <a class="anchor" name="8771cba75552aaa1340b68de9bf1659c"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getRemainingFeatures" ref="8771cba75552aaa1340b68de9bf1659c" args="()" -->
482 <div class="memitem">
483 <div class="memproto">
484 <table class="memname">
485 <tr>
486 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">PluginBufferingAdapter::FeatureSet</a> Vamp::HostExt::PluginBufferingAdapter::getRemainingFeatures </td>
487 <td>(</td>
488 <td class="paramname"> </td>
489 <td>&nbsp;)&nbsp;</td>
490 <td width="100%"><code> [virtual]</code></td>
491 </tr>
492 </table>
493 </div>
494 <div class="memdoc">
495
496 <p>
497 After all blocks have been processed, calculate and return any remaining features derived from the complete input.
498 <p>
499
500 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#1dce55a75a32b08fc56a52a300d9fcbe">Vamp::HostExt::PluginWrapper</a>.</p>
501
502 <p>Definition at line <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00275">275</a> of file <a class="el" href="PluginBufferingAdapter_8cpp-source.html">PluginBufferingAdapter.cpp</a>.</p>
503
504 <p>References <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00452">Vamp::HostExt::PluginBufferingAdapter::Impl::getRemainingFeatures()</a>, and <a class="el" href="PluginBufferingAdapter_8h-source.html#l00091">m_impl</a>.</p>
505
506 </div>
507 </div><p>
508 <a class="anchor" name="031aa818fd48fd0f4b5e1bf80c032870"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getInputDomain" ref="031aa818fd48fd0f4b5e1bf80c032870" args="() const " -->
509 <div class="memitem">
510 <div class="memproto">
511 <table class="memname">
512 <tr>
513 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">Plugin::InputDomain</a> Vamp::HostExt::PluginWrapper::getInputDomain </td>
514 <td>(</td>
515 <td class="paramname"> </td>
516 <td>&nbsp;)&nbsp;</td>
517 <td width="100%"> const<code> [virtual, inherited]</code></td>
518 </tr>
519 </table>
520 </div>
521 <div class="memdoc">
522
523 <p>
524 Get the plugin's required input domain.
525 <p>
526 If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#fca78043c2843c1d45019983515e23f7" 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#fca78043c2843c1d45019983515e23f7" 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.
527 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p>
528
529 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#376fa97a1c721255541fe35d71368976">Vamp::HostExt::PluginInputDomainAdapter</a>.</p>
530
531 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00074">74</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
532
533 <p>References <a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin::getInputDomain()</a>, and <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>.</p>
534
535 </div>
536 </div><p>
537 <a class="anchor" name="74147fda6b44ff2169bd4a1eea0d46ff"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getVampApiVersion" ref="74147fda6b44ff2169bd4a1eea0d46ff" args="() const " -->
538 <div class="memitem">
539 <div class="memproto">
540 <table class="memname">
541 <tr>
542 <td class="memname">unsigned int Vamp::HostExt::PluginWrapper::getVampApiVersion </td>
543 <td>(</td>
544 <td class="paramname"> </td>
545 <td>&nbsp;)&nbsp;</td>
546 <td width="100%"> const<code> [virtual, inherited]</code></td>
547 </tr>
548 </table>
549 </div>
550 <div class="memdoc">
551
552 <p>
553 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.
554 <p>
555
556 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#8fd2c48291c64b790f0efb8948508dcf">Vamp::PluginBase</a>.</p>
557
558 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00080">80</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
559
560 <p>References <a class="el" href="PluginBase_8h-source.html#l00067">Vamp::PluginBase::getVampApiVersion()</a>, and <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>.</p>
561
562 </div>
563 </div><p>
564 <a class="anchor" name="4baa9e48f717c2b3e7f92496aa39d904"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getIdentifier" ref="4baa9e48f717c2b3e7f92496aa39d904" args="() const " -->
565 <div class="memitem">
566 <div class="memproto">
567 <table class="memname">
568 <tr>
569 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getIdentifier </td>
570 <td>(</td>
571 <td class="paramname"> </td>
572 <td>&nbsp;)&nbsp;</td>
573 <td width="100%"> const<code> [virtual, inherited]</code></td>
574 </tr>
575 </table>
576 </div>
577 <div class="memdoc">
578
579 <p>
580 Get the computer-usable name of the plugin.
581 <p>
582 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>
583 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>
584 Example: "zero_crossings"
585 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#d1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p>
586
587 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00086">86</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
588
589 <p>References <a class="el" href="classVamp_1_1PluginBase.html#d1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase::getIdentifier()</a>, and <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>.</p>
590
591 </div>
592 </div><p>
593 <a class="anchor" name="c70a3265bb25aeb03f6dd8f8a0442088"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getName" ref="c70a3265bb25aeb03f6dd8f8a0442088" args="() const " -->
594 <div class="memitem">
595 <div class="memproto">
596 <table class="memname">
597 <tr>
598 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getName </td>
599 <td>(</td>
600 <td class="paramname"> </td>
601 <td>&nbsp;)&nbsp;</td>
602 <td width="100%"> const<code> [virtual, inherited]</code></td>
603 </tr>
604 </table>
605 </div>
606 <div class="memdoc">
607
608 <p>
609 Get a human-readable name or title of the plugin.
610 <p>
611 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>
612 Example: "Zero Crossings"
613 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p>
614
615 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00092">92</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
616
617 <p>References <a class="el" href="classVamp_1_1PluginBase.html#18619d5097e444ecefee0c359da53232">Vamp::PluginBase::getName()</a>, and <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>.</p>
618
619 </div>
620 </div><p>
621 <a class="anchor" name="c334f699c0996055942785410d8a065c"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getDescription" ref="c334f699c0996055942785410d8a065c" args="() const " -->
622 <div class="memitem">
623 <div class="memproto">
624 <table class="memname">
625 <tr>
626 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getDescription </td>
627 <td>(</td>
628 <td class="paramname"> </td>
629 <td>&nbsp;)&nbsp;</td>
630 <td width="100%"> const<code> [virtual, inherited]</code></td>
631 </tr>
632 </table>
633 </div>
634 <div class="memdoc">
635
636 <p>
637 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".
638 <p>
639 May be empty if the name has said it all already.<p>
640 Example: "Detect and count zero crossing points"
641 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p>
642
643 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00098">98</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
644
645 <p>References <a class="el" href="classVamp_1_1PluginBase.html#59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase::getDescription()</a>, and <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>.</p>
646
647 </div>
648 </div><p>
649 <a class="anchor" name="59d5a2298951b317995675e664b1c7bb"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getMaker" ref="59d5a2298951b317995675e664b1c7bb" args="() const " -->
650 <div class="memitem">
651 <div class="memproto">
652 <table class="memname">
653 <tr>
654 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getMaker </td>
655 <td>(</td>
656 <td class="paramname"> </td>
657 <td>&nbsp;)&nbsp;</td>
658 <td width="100%"> const<code> [virtual, inherited]</code></td>
659 </tr>
660 </table>
661 </div>
662 <div class="memdoc">
663
664 <p>
665 Get the name of the author or vendor of the plugin in human-readable form.
666 <p>
667 This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar.
668 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p>
669
670 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00104">104</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
671
672 <p>References <a class="el" href="classVamp_1_1PluginBase.html#53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase::getMaker()</a>, and <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>.</p>
673
674 </div>
675 </div><p>
676 <a class="anchor" name="47e1acf1696813008324a915c9ba59c5"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPluginVersion" ref="47e1acf1696813008324a915c9ba59c5" args="() const " -->
677 <div class="memitem">
678 <div class="memproto">
679 <table class="memname">
680 <tr>
681 <td class="memname">int Vamp::HostExt::PluginWrapper::getPluginVersion </td>
682 <td>(</td>
683 <td class="paramname"> </td>
684 <td>&nbsp;)&nbsp;</td>
685 <td width="100%"> const<code> [virtual, inherited]</code></td>
686 </tr>
687 </table>
688 </div>
689 <div class="memdoc">
690
691 <p>
692 Get the version number of the plugin.
693 <p>
694
695 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p>
696
697 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00110">110</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
698
699 <p>References <a class="el" href="classVamp_1_1PluginBase.html#63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase::getPluginVersion()</a>, and <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>.</p>
700
701 </div>
702 </div><p>
703 <a class="anchor" name="e14f6ecb78be909c4cd5f0cdaed3c566"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getCopyright" ref="e14f6ecb78be909c4cd5f0cdaed3c566" args="() const " -->
704 <div class="memitem">
705 <div class="memproto">
706 <table class="memname">
707 <tr>
708 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCopyright </td>
709 <td>(</td>
710 <td class="paramname"> </td>
711 <td>&nbsp;)&nbsp;</td>
712 <td width="100%"> const<code> [virtual, inherited]</code></td>
713 </tr>
714 </table>
715 </div>
716 <div class="memdoc">
717
718 <p>
719 Get the copyright statement or licensing summary for the plugin.
720 <p>
721 This can be an informative text, without the same presentation constraints as mentioned for getMaker above.
722 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#b7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p>
723
724 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00116">116</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
725
726 <p>References <a class="el" href="classVamp_1_1PluginBase.html#b7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase::getCopyright()</a>, and <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>.</p>
727
728 </div>
729 </div><p>
730 <a class="anchor" name="3b075b8f950b344503f0d27ac0fe332e"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getParameterDescriptors" ref="3b075b8f950b344503f0d27ac0fe332e" args="() const " -->
731 <div class="memitem">
732 <div class="memproto">
733 <table class="memname">
734 <tr>
735 <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">PluginBase::ParameterList</a> Vamp::HostExt::PluginWrapper::getParameterDescriptors </td>
736 <td>(</td>
737 <td class="paramname"> </td>
738 <td>&nbsp;)&nbsp;</td>
739 <td width="100%"> const<code> [virtual, inherited]</code></td>
740 </tr>
741 </table>
742 </div>
743 <div class="memdoc">
744
745 <p>
746 Get the controllable parameters of this plugin.
747 <p>
748
749 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#ac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a>.</p>
750
751 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00122">122</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
752
753 <p>References <a class="el" href="PluginBase_8h-source.html#l00200">Vamp::PluginBase::getParameterDescriptors()</a>, and <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>.</p>
754
755 </div>
756 </div><p>
757 <a class="anchor" name="034920f56c8d7609a85447c42556048c"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getParameter" ref="034920f56c8d7609a85447c42556048c" args="(std::string) const " -->
758 <div class="memitem">
759 <div class="memproto">
760 <table class="memname">
761 <tr>
762 <td class="memname">float Vamp::HostExt::PluginWrapper::getParameter </td>
763 <td>(</td>
764 <td class="paramtype">std::string&nbsp;</td>
765 <td class="paramname"> </td>
766 <td>&nbsp;)&nbsp;</td>
767 <td width="100%"> const<code> [virtual, inherited]</code></td>
768 </tr>
769 </table>
770 </div>
771 <div class="memdoc">
772
773 <p>
774 Get the value of a named parameter.
775 <p>
776 The argument is the identifier field from that parameter's descriptor.
777 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a>.</p>
778
779 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00128">128</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
780
781 <p>References <a class="el" href="PluginBase_8h-source.html#l00208">Vamp::PluginBase::getParameter()</a>, and <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>.</p>
782
783 </div>
784 </div><p>
785 <a class="anchor" name="651b15a5dc4c27942ac0c87c6092bfe5"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::setParameter" ref="651b15a5dc4c27942ac0c87c6092bfe5" args="(std::string, float)" -->
786 <div class="memitem">
787 <div class="memproto">
788 <table class="memname">
789 <tr>
790 <td class="memname">void Vamp::HostExt::PluginWrapper::setParameter </td>
791 <td>(</td>
792 <td class="paramtype">std::string&nbsp;</td>
793 <td class="paramname">, </td>
794 </tr>
795 <tr>
796 <td class="paramkey"></td>
797 <td></td>
798 <td class="paramtype">float&nbsp;</td>
799 <td class="paramname"></td><td>&nbsp;</td>
800 </tr>
801 <tr>
802 <td></td>
803 <td>)</td>
804 <td></td><td></td><td width="100%"><code> [virtual, inherited]</code></td>
805 </tr>
806 </table>
807 </div>
808 <div class="memdoc">
809
810 <p>
811 Set a named parameter.
812 <p>
813 The first argument is the identifier field from that parameter's descriptor.
814 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#6c718ce822f7b73b98940d59dcaa9366">Vamp::PluginBase</a>.</p>
815
816 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00134">134</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
817
818 <p>References <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>, and <a class="el" href="PluginBase_8h-source.html#l00214">Vamp::PluginBase::setParameter()</a>.</p>
819
820 </div>
821 </div><p>
822 <a class="anchor" name="f3abaf717dc4b00cad5770ed6dfa01e1"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPrograms" ref="f3abaf717dc4b00cad5770ed6dfa01e1" args="() const " -->
823 <div class="memitem">
824 <div class="memproto">
825 <table class="memname">
826 <tr>
827 <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">PluginBase::ProgramList</a> Vamp::HostExt::PluginWrapper::getPrograms </td>
828 <td>(</td>
829 <td class="paramname"> </td>
830 <td>&nbsp;)&nbsp;</td>
831 <td width="100%"> const<code> [virtual, inherited]</code></td>
832 </tr>
833 </table>
834 </div>
835 <div class="memdoc">
836
837 <p>
838 Get the program settings available in this plugin.
839 <p>
840 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>
841 The programs must have unique names.
842 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#bb307c60bdb981d5f5af50c3c4ae84af">Vamp::PluginBase</a>.</p>
843
844 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00140">140</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
845
846 <p>References <a class="el" href="PluginBase_8h-source.html#l00229">Vamp::PluginBase::getPrograms()</a>, and <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>.</p>
847
848 </div>
849 </div><p>
850 <a class="anchor" name="7a312dd42d161064b70afd7ff24c0651"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getCurrentProgram" ref="7a312dd42d161064b70afd7ff24c0651" args="() const " -->
851 <div class="memitem">
852 <div class="memproto">
853 <table class="memname">
854 <tr>
855 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCurrentProgram </td>
856 <td>(</td>
857 <td class="paramname"> </td>
858 <td>&nbsp;)&nbsp;</td>
859 <td width="100%"> const<code> [virtual, inherited]</code></td>
860 </tr>
861 </table>
862 </div>
863 <div class="memdoc">
864
865 <p>
866 Get the current program.
867 <p>
868
869 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#24e77eccf1bdfbbca3c79bb25e8799b3">Vamp::PluginBase</a>.</p>
870
871 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00146">146</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
872
873 <p>References <a class="el" href="PluginBase_8h-source.html#l00234">Vamp::PluginBase::getCurrentProgram()</a>, and <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>.</p>
874
875 </div>
876 </div><p>
877 <a class="anchor" name="074978333a74fdcf336a8a1d8ea20abf"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::selectProgram" ref="074978333a74fdcf336a8a1d8ea20abf" args="(std::string)" -->
878 <div class="memitem">
879 <div class="memproto">
880 <table class="memname">
881 <tr>
882 <td class="memname">void Vamp::HostExt::PluginWrapper::selectProgram </td>
883 <td>(</td>
884 <td class="paramtype">std::string&nbsp;</td>
885 <td class="paramname"> </td>
886 <td>&nbsp;)&nbsp;</td>
887 <td width="100%"><code> [virtual, inherited]</code></td>
888 </tr>
889 </table>
890 </div>
891 <div class="memdoc">
892
893 <p>
894 Select a program.
895 <p>
896 (If the given program name is not one of the available programs, do nothing.)
897 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#add3a547ef140bae200473a9518e3353">Vamp::PluginBase</a>.</p>
898
899 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00152">152</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
900
901 <p>References <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>, and <a class="el" href="PluginBase_8h-source.html#l00240">Vamp::PluginBase::selectProgram()</a>.</p>
902
903 </div>
904 </div><p>
905 <a class="anchor" name="2c62a656313a819650656643a867ad01"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPreferredBlockSize" ref="2c62a656313a819650656643a867ad01" args="() const " -->
906 <div class="memitem">
907 <div class="memproto">
908 <table class="memname">
909 <tr>
910 <td class="memname">size_t Vamp::HostExt::PluginWrapper::getPreferredBlockSize </td>
911 <td>(</td>
912 <td class="paramname"> </td>
913 <td>&nbsp;)&nbsp;</td>
914 <td width="100%"> const<code> [virtual, inherited]</code></td>
915 </tr>
916 </table>
917 </div>
918 <div class="memdoc">
919
920 <p>
921 Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#fca78043c2843c1d45019983515e23f7" title="Process a single block of input data.">process()</a> function).
922 <p>
923 This should be called before <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a1f8290d8e9a315695584dcb3ad137" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a>.<p>
924 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_1HostExt_1_1PluginWrapper.html#a5a1f8290d8e9a315695584dcb3ad137" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a> call.
925 <p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a529adf83f87a603954eb31407602aac">Vamp::Plugin</a>.</p>
926
927 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a>.</p>
928
929 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00164">164</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
930
931 <p>References <a class="el" href="Plugin_8h-source.html#l00171">Vamp::Plugin::getPreferredBlockSize()</a>, and <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>.</p>
932
933 <p>Referenced by <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00308">getPreferredStepSize()</a>.</p>
934
935 </div>
936 </div><p>
937 <a class="anchor" name="2b28f1cf37d46a514f1e1411a6037bf8"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getMinChannelCount" ref="2b28f1cf37d46a514f1e1411a6037bf8" args="() const " -->
938 <div class="memitem">
939 <div class="memproto">
940 <table class="memname">
941 <tr>
942 <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMinChannelCount </td>
943 <td>(</td>
944 <td class="paramname"> </td>
945 <td>&nbsp;)&nbsp;</td>
946 <td width="100%"> const<code> [virtual, inherited]</code></td>
947 </tr>
948 </table>
949 </div>
950 <div class="memdoc">
951
952 <p>
953 Get the minimum supported number of input channels.
954 <p>
955
956 <p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#267b42e866df3cf0d190893e8096f525">Vamp::Plugin</a>.</p>
957
958 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00170">170</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
959
960 <p>References <a class="el" href="Plugin_8h-source.html#l00191">Vamp::Plugin::getMinChannelCount()</a>, and <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>.</p>
961
962 </div>
963 </div><p>
964 <a class="anchor" name="985eb21f1827bfbc3950d6871b107a58"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getMaxChannelCount" ref="985eb21f1827bfbc3950d6871b107a58" args="() const " -->
965 <div class="memitem">
966 <div class="memproto">
967 <table class="memname">
968 <tr>
969 <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMaxChannelCount </td>
970 <td>(</td>
971 <td class="paramname"> </td>
972 <td>&nbsp;)&nbsp;</td>
973 <td width="100%"> const<code> [virtual, inherited]</code></td>
974 </tr>
975 </table>
976 </div>
977 <div class="memdoc">
978
979 <p>
980 Get the maximum supported number of input channels.
981 <p>
982
983 <p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#2c5ab12b6fa4847cb244bd1e9cb3ae5e">Vamp::Plugin</a>.</p>
984
985 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00175">175</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
986
987 <p>References <a class="el" href="Plugin_8h-source.html#l00196">Vamp::Plugin::getMaxChannelCount()</a>, and <a class="el" href="PluginWrapper_8h-source.html#l00099">Vamp::HostExt::PluginWrapper::m_plugin</a>.</p>
988
989 </div>
990 </div><p>
991 <a class="anchor" name="be13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getType" ref="be13b3997a69fbcc09e2213faa352f91" args="() const " -->
992 <div class="memitem">
993 <div class="memproto">
994 <table class="memname">
995 <tr>
996 <td class="memname">virtual std::string Vamp::Plugin::getType </td>
997 <td>(</td>
998 <td class="paramname"> </td>
999 <td>&nbsp;)&nbsp;</td>
1000 <td width="100%"> const<code> [inline, virtual, inherited]</code></td>
1001 </tr>
1002 </table>
1003 </div>
1004 <div class="memdoc">
1005
1006 <p>
1007 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>.
1008 <p>
1009 Do not reimplement this function in your subclass.
1010 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p>
1011
1012 <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>
1013
1014 </div>
1015 </div><p>
1016 <hr><h2>Member Data Documentation</h2>
1017 <a class="anchor" name="51e10c9c63c0349fd74c6d604de5554e"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::m_impl" ref="51e10c9c63c0349fd74c6d604de5554e" args="" -->
1018 <div class="memitem">
1019 <div class="memproto">
1020 <table class="memname">
1021 <tr>
1022 <td class="memname"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter_1_1Impl.html">Impl</a>* <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#51e10c9c63c0349fd74c6d604de5554e">Vamp::HostExt::PluginBufferingAdapter::m_impl</a><code> [protected]</code> </td>
1023 </tr>
1024 </table>
1025 </div>
1026 <div class="memdoc">
1027
1028 <p>
1029
1030 <p>Definition at line <a class="el" href="PluginBufferingAdapter_8h-source.html#l00091">91</a> of file <a class="el" href="PluginBufferingAdapter_8h-source.html">PluginBufferingAdapter.h</a>.</p>
1031
1032 <p>Referenced by <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00256">getOutputDescriptors()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00275">getRemainingFeatures()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00250">initialise()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00238">PluginBufferingAdapter()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00268">process()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00262">reset()</a>, and <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00244">~PluginBufferingAdapter()</a>.</p>
1033
1034 </div>
1035 </div><p>
1036 <a class="anchor" name="b4e40ecd98b445e1a2aa9e7baa280ea2"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::m_plugin" ref="b4e40ecd98b445e1a2aa9e7baa280ea2" args="" -->
1037 <div class="memitem">
1038 <div class="memproto">
1039 <table class="memname">
1040 <tr>
1041 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a>* <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#b4e40ecd98b445e1a2aa9e7baa280ea2">Vamp::HostExt::PluginWrapper::m_plugin</a><code> [protected, inherited]</code> </td>
1042 </tr>
1043 </table>
1044 </div>
1045 <div class="memdoc">
1046
1047 <p>
1048
1049 <p>Definition at line <a class="el" href="PluginWrapper_8h-source.html#l00099">99</a> of file <a class="el" href="PluginWrapper_8h-source.html">PluginWrapper.h</a>.</p>
1050
1051 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00116">Vamp::HostExt::PluginWrapper::getCopyright()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00146">Vamp::HostExt::PluginWrapper::getCurrentProgram()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00098">Vamp::HostExt::PluginWrapper::getDescription()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00086">Vamp::HostExt::PluginWrapper::getIdentifier()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00074">Vamp::HostExt::PluginWrapper::getInputDomain()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00104">Vamp::HostExt::PluginWrapper::getMaker()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00175">Vamp::HostExt::PluginWrapper::getMaxChannelCount()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00170">Vamp::HostExt::PluginWrapper::getMinChannelCount()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00092">Vamp::HostExt::PluginWrapper::getName()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00181">Vamp::HostExt::PluginWrapper::getOutputDescriptors()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00128">Vamp::HostExt::PluginWrapper::getParameter()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00122">Vamp::HostExt::PluginWrapper::getParameterDescriptors()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00110">Vamp::HostExt::PluginWrapper::getPluginVersion()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00164">Vamp::HostExt::PluginWrapper::getPreferredBlockSize()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00158">Vamp::HostExt::PluginWrapper::getPreferredStepSize()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00140">Vamp::HostExt::PluginWrapper::getPrograms()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00193">Vamp::HostExt::PluginWrapper::getRemainingFeatures()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00080">Vamp::HostExt::PluginWrapper::getVampApiVersion()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00062">Vamp::HostExt::PluginWrapper::initialise()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00187">Vamp::HostExt::PluginWrapper::process()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00068">Vamp::HostExt::PluginWrapper::reset()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00152">Vamp::HostExt::PluginWrapper::selectProgram()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00134">Vamp::HostExt::PluginWrapper::setParameter()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00620">Vamp::HostExt::PluginLoader::Impl::PluginDeletionNotifyAdapter::~PluginDeletionNotifyAdapter()</a>, and <a class="el" href="PluginWrapper_8cpp-source.html#l00056">Vamp::HostExt::PluginWrapper::~PluginWrapper()</a>.</p>
1052
1053 </div>
1054 </div><p>
1055 <a class="anchor" name="59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::m_inputSampleRate" ref="59b9dd82a4f4eb946cd0474cc81abc23" args="" -->
1056 <div class="memitem">
1057 <div class="memproto">
1058 <table class="memname">
1059 <tr>
1060 <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code> </td>
1061 </tr>
1062 </table>
1063 </div>
1064 <div class="memdoc">
1065
1066 <p>
1067
1068 <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>
1069
1070 <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">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>
1071
1072 </div>
1073 </div><p>
1074 <hr>The documentation for this class was generated from the following files:<ul>
1075 <li><a class="el" href="PluginBufferingAdapter_8h-source.html">PluginBufferingAdapter.h</a><li><a class="el" href="PluginBufferingAdapter_8cpp-source.html">PluginBufferingAdapter.cpp</a></ul>
1076 </div>
1077 <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jul 9 11:36:10 2008 for VampPluginSDK by&nbsp;
1078 <a href="http://www.doxygen.org/index.html">
1079 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
1080 </body>
1081 </html>