comparison code-doc/classVamp_1_1HostExt_1_1PluginBufferingAdapter.html @ 50:8260c0f4e05b website

Update code docs for 2.3
author cannam
date Tue, 04 Oct 2011 13:47:23 +0000
parents 0976232e353b
children
comparison
equal deleted inserted replaced
49:f75f330aa130 50:8260c0f4e05b
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <title>VampPluginSDK: Vamp::HostExt::PluginBufferingAdapter Class Reference</title> 5 <title>VampPluginSDK: Vamp::HostExt::PluginBufferingAdapter Class Reference</title>
4 <link href="tabs.css" rel="stylesheet" type="text/css"> 6
5 <link href="doxygen.css" rel="stylesheet" type="text/css"> 7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
6 </head><body> 8 <link href="doxygen.css" rel="stylesheet" type="text/css" />
7 <!-- Generated by Doxygen 1.5.8 --> 9 <link href="navtree.css" rel="stylesheet" type="text/css"/>
8 <div class="navigation" id="top"> 10 <script type="text/javascript" src="jquery.js"></script>
9 <div class="tabs"> 11 <script type="text/javascript" src="resize.js"></script>
10 <ul> 12 <script type="text/javascript" src="navtree.js"></script>
11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li> 13 <script type="text/javascript">
14 $(document).ready(initResizable);
15 </script>
16
17
18 </head>
19 <body>
20 <div id="top"><!-- do not remove this div! -->
21
22
23 <div id="titlearea">
24 <table cellspacing="0" cellpadding="0">
25 <tbody>
26 <tr style="height: 56px;">
27
28
29 <td style="padding-left: 0.5em;">
30 <div id="projectname">VampPluginSDK
31 &#160;<span id="projectnumber">2.1</span>
32 </div>
33
34 </td>
35
36
37
38 </tr>
39 </tbody>
40 </table>
41 </div>
42
43 <!-- Generated by Doxygen 1.7.5.1 -->
44 <div id="navrow1" class="tabs">
45 <ul class="tablist">
46 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
12 <li><a href="namespaces.html"><span>Namespaces</span></a></li> 47 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13 <li class="current"><a href="annotated.html"><span>Classes</span></a></li> 48 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
14 <li><a href="files.html"><span>Files</span></a></li> 49 <li><a href="files.html"><span>Files</span></a></li>
15 <li><a href="dirs.html"><span>Directories</span></a></li> 50 <li><a href="dirs.html"><span>Directories</span></a></li>
16 </ul> 51 </ul>
17 </div> 52 </div>
18 <div class="tabs"> 53 <div id="navrow2" class="tabs2">
19 <ul> 54 <ul class="tablist">
20 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li> 55 <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
21 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li> 56 <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
22 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li> 57 <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
23 </ul> 58 </ul>
24 </div> 59 </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> 60 </div>
61 <div id="side-nav" class="ui-resizable side-nav-resizable">
62 <div id="nav-tree">
63 <div id="nav-tree-contents">
64 </div>
26 </div> 65 </div>
66 <div id="splitbar" style="-moz-user-select:none;"
67 class="ui-resizable-handle">
68 </div>
69 </div>
70 <script type="text/javascript">
71 initNavTree('classVamp_1_1HostExt_1_1PluginBufferingAdapter.html','');
72 </script>
73 <div id="doc-content">
74 <div class="header">
75 <div class="summary">
76 <a href="#pub-types">Public Types</a> &#124;
77 <a href="#pub-methods">Public Member Functions</a> &#124;
78 <a href="#pro-attribs">Protected Attributes</a> </div>
79 <div class="headertitle">
80 <div class="title">Vamp::HostExt::PluginBufferingAdapter Class Reference</div> </div>
27 </div> 81 </div>
28 <div class="contents"> 82 <div class="contents">
29 <h1>Vamp::HostExt::PluginBufferingAdapter Class Reference</h1><!-- doxytag: class="Vamp::HostExt::PluginBufferingAdapter" --><!-- doxytag: inherits="Vamp::HostExt::PluginWrapper" --><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by...">PluginBufferingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that allows plugins to be used by a host supplying an audio stream in non-overlapping buffers of arbitrary size. 83 <!-- doxytag: class="Vamp::HostExt::PluginBufferingAdapter" --><!-- doxytag: inherits="Vamp::HostExt::PluginWrapper" -->
30 <a href="#_details">More...</a> 84 <p><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">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.
31 <p> 85 <a href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#details">More...</a></p>
32 <code>#include &lt;<a class="el" href="PluginBufferingAdapter_8h-source.html">vamp-hostsdk/PluginBufferingAdapter.h</a>&gt;</code> 86
33 <p> 87 <p><code>#include &lt;<a class="el" href="PluginBufferingAdapter_8h_source.html">vamp-hostsdk/PluginBufferingAdapter.h</a>&gt;</code></p>
34 <div class="dynheader"> 88 <div class="dynheader">
35 Inheritance diagram for Vamp::HostExt::PluginBufferingAdapter:</div> 89 Inheritance diagram for Vamp::HostExt::PluginBufferingAdapter:</div>
36 <div class="dynsection"> 90 <div class="dyncontent">
37 <p><center><img src="classVamp_1_1HostExt_1_1PluginBufferingAdapter__inherit__graph.png" border="0" usemap="#Vamp_1_1HostExt_1_1PluginBufferingAdapter__inherit__map" alt="Inheritance graph"></center> 91 <div class="center"><img src="classVamp_1_1HostExt_1_1PluginBufferingAdapter__inherit__graph.png" border="0" usemap="#Vamp_1_1HostExt_1_1PluginBufferingAdapter_inherit__map" alt="Inheritance graph"/></div>
38 <map name="Vamp_1_1HostExt_1_1PluginBufferingAdapter__inherit__map"> 92 <map name="Vamp_1_1HostExt_1_1PluginBufferingAdapter_inherit__map" id="Vamp_1_1HostExt_1_1PluginBufferingAdapter_inherit__map">
39 <area shape="rect" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="28,156,217,180"><area shape="rect" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction..." alt="" coords="76,81,169,105"><area shape="rect" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="63,7,183,31"></map> 93 <area shape="rect" id="node2" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="28,155,212,181"/><area shape="rect" id="node4" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="74,81,165,106"/><area shape="rect" id="node6" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="61,6,179,31"/></map>
40 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div> 94 <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
41 95
42 <p> 96 <p><a href="classVamp_1_1HostExt_1_1PluginBufferingAdapter-members.html">List of all members.</a></p>
43 <a href="classVamp_1_1HostExt_1_1PluginBufferingAdapter-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> 97 <table class="memberdecls">
44 <tr><td></td></tr> 98 <tr><td colspan="2"><h2><a name="pub-types"></a>
45 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> 99 Public Types</h2></td></tr>
46 <tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, 100 <tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>,
47 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> 101 <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>
48 }</td></tr> 102 }</td></tr>
49 103 <tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
50 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br class="typebreak"> 104 &lt; <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr>
51 &lt; <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> 105 <tr><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr>
52 106 <tr><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; int, <br class="typebreak"/>
53 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> 107 <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr>
54 108 <tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
55 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; int, <br class="typebreak"> 109 &lt; <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr>
56 <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> 110 <tr><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr>
57 111 <tr><td colspan="2"><h2><a name="pub-methods"></a>
58 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> 112 Public Member Functions</h2></td></tr>
59 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#1276bcfcbe1414b33eeefbd7b2b702fe">PluginBufferingAdapter</a> (<a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *plugin)</td></tr> 113 <tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a1276bcfcbe1414b33eeefbd7b2b702fe">PluginBufferingAdapter</a> (<a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *plugin)</td></tr>
60 114 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a> wrapping the given plugin. <a href="#a1276bcfcbe1414b33eeefbd7b2b702fe"></a><br/></td></tr>
61 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by...">PluginBufferingAdapter</a> wrapping the given plugin. <a href="#1276bcfcbe1414b33eeefbd7b2b702fe"></a><br></td></tr> 115 <tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a96263f7b0910a10eeae86f20db007e55">~PluginBufferingAdapter</a> ()</td></tr>
62 <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#96263f7b0910a10eeae86f20db007e55">~PluginBufferingAdapter</a> ()</td></tr> 116 <tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a2e66d009df69c951001e5d2786973d60">getPreferredStepSize</a> () const </td></tr>
63 117 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the preferred step size for this adapter. <a href="#a2e66d009df69c951001e5d2786973d60"></a><br/></td></tr>
64 <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> 118 <tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a21e45180b19873f9ab69fe7a4e184a03">getPreferredBlockSize</a> () const </td></tr>
65 119 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the preferred block size for this adapter. <a href="#a21e45180b19873f9ab69fe7a4e184a03"></a><br/></td></tr>
66 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the preferred step size for this adapter. <a href="#2e66d009df69c951001e5d2786973d60"></a><br></td></tr> 120 <tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr>
67 <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#21e45180b19873f9ab69fe7a4e184a03">getPreferredBlockSize</a> () const </td></tr> 121 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialise the adapter (and therefore the plugin) for the given number of channels. <a href="#a9e7798ba4d7870db46502ab541ab37a8"></a><br/></td></tr>
68 122 <tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#ad7fad500331808b5cdf90f5a45019b02">getPluginPreferredStepSize</a> () const </td></tr>
69 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the preferred block size for this adapter. <a href="#21e45180b19873f9ab69fe7a4e184a03"></a><br></td></tr> 123 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the preferred step size of the plugin wrapped by this adapter. <a href="#ad7fad500331808b5cdf90f5a45019b02"></a><br/></td></tr>
70 <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> 124 <tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7045be875de9dd226d2e2a222e957de0">getPluginPreferredBlockSize</a> () const </td></tr>
71 125 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the preferred block size of the plugin wrapped by this adapter. <a href="#a7045be875de9dd226d2e2a222e957de0"></a><br/></td></tr>
72 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialise the adapter (and therefore the plugin) for the given number of channels. <a href="#9e7798ba4d7870db46502ab541ab37a8"></a><br></td></tr> 126 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#ac99898d78a01a7fad4def4d6c5fd3a7e">setPluginStepSize</a> (size_t stepSize)</td></tr>
73 <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#d7fad500331808b5cdf90f5a45019b02">getPluginPreferredStepSize</a> () const </td></tr> 127 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the step size that will be used for the underlying plugin when <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a> is called. <a href="#ac99898d78a01a7fad4def4d6c5fd3a7e"></a><br/></td></tr>
74 128 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#aa80ae1bff6f95e805811df2c3770a98c">setPluginBlockSize</a> (size_t blockSize)</td></tr>
75 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the preferred step size of the plugin wrapped by this adapter. <a href="#d7fad500331808b5cdf90f5a45019b02"></a><br></td></tr> 129 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the block size that will be used for the underlying plugin when <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a> is called. <a href="#aa80ae1bff6f95e805811df2c3770a98c"></a><br/></td></tr>
76 <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#7045be875de9dd226d2e2a222e957de0">getPluginPreferredBlockSize</a> () const </td></tr> 130 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#aa065985fd864f6869d1bc7fea6fa2ece">getActualStepAndBlockSizes</a> (size_t &amp;stepSize, size_t &amp;blockSize)</td></tr>
77 131 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the step and block sizes that were actually used when initialising the underlying plugin. <a href="#aa065985fd864f6869d1bc7fea6fa2ece"></a><br/></td></tr>
78 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the preferred block size of the plugin wrapped by this adapter. <a href="#7045be875de9dd226d2e2a222e957de0"></a><br></td></tr> 132 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">setParameter</a> (std::string, float)</td></tr>
79 <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#c99898d78a01a7fad4def4d6c5fd3a7e">setPluginStepSize</a> (size_t stepSize)</td></tr> 133 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a named parameter. <a href="#a7a979b20c169d37adbd7b7d8b8a077b3"></a><br/></td></tr>
80 134 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">selectProgram</a> (std::string)</td></tr>
81 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the step size that will be used for the underlying plugin when <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels...">initialise()</a> is called. <a href="#c99898d78a01a7fad4def4d6c5fd3a7e"></a><br></td></tr> 135 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Select a program. <a href="#a3cc7000e0aff525950e0a286b87f8927"></a><br/></td></tr>
82 <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#a80ae1bff6f95e805811df2c3770a98c">setPluginBlockSize</a> (size_t blockSize)</td></tr> 136 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#af8cc914897a284433de220f1153f3845">getOutputDescriptors</a> () const </td></tr>
83 137 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the outputs of this plugin. <a href="#af8cc914897a284433de220f1153f3845"></a><br/></td></tr>
84 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the block size that will be used for the underlying plugin when <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels...">initialise()</a> is called. <a href="#a80ae1bff6f95e805811df2c3770a98c"></a><br></td></tr> 138 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a131fd9fe8a1795d7370d8a721176868a">reset</a> ()</td></tr>
85 <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#a065985fd864f6869d1bc7fea6fa2ece">getActualStepAndBlockSizes</a> (size_t &amp;stepSize, size_t &amp;blockSize)</td></tr> 139 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#a131fd9fe8a1795d7370d8a721176868a"></a><br/></td></tr>
86 140 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a55058a20c1f8bffc0dc927350df778a0">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)</td></tr>
87 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the step and block sizes that were actually used when initialising the underlying plugin. <a href="#a065985fd864f6869d1bc7fea6fa2ece"></a><br></td></tr> 141 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Process a single block of input data. <a href="#a55058a20c1f8bffc0dc927350df778a0"></a><br/></td></tr>
88 <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#7a979b20c169d37adbd7b7d8b8a077b3">setParameter</a> (std::string, float)</td></tr> 142 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a28423951b2eda1a1fc371485434f417b">getRemainingFeatures</a> ()</td></tr>
89 143 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#a28423951b2eda1a1fc371485434f417b"></a><br/></td></tr>
90 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a named parameter. <a href="#7a979b20c169d37adbd7b7d8b8a077b3"></a><br></td></tr> 144 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae203faf8384c9e1fddc381409aa8a214">getInputDomain</a> () const </td></tr>
91 <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#3cc7000e0aff525950e0a286b87f8927">selectProgram</a> (std::string)</td></tr> 145 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the plugin's required input domain. <a href="#ae203faf8384c9e1fddc381409aa8a214"></a><br/></td></tr>
92 146 <tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">getVampApiVersion</a> () const </td></tr>
93 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select a program. <a href="#3cc7000e0aff525950e0a286b87f8927"></a><br></td></tr> 147 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a74147fda6b44ff2169bd4a1eea0d46ff"></a><br/></td></tr>
94 <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#f8cc914897a284433de220f1153f3845">getOutputDescriptors</a> () const </td></tr> 148 <tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">getIdentifier</a> () const </td></tr>
95 149 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#a4baa9e48f717c2b3e7f92496aa39d904"></a><br/></td></tr>
96 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the outputs of this plugin. <a href="#f8cc914897a284433de220f1153f3845"></a><br></td></tr> 150 <tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">getName</a> () const </td></tr>
97 <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> 151 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#ac70a3265bb25aeb03f6dd8f8a0442088"></a><br/></td></tr>
98 152 <tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">getDescription</a> () const </td></tr>
99 <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> 153 <tr><td class="mdescLeft">&#160;</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="#ac334f699c0996055942785410d8a065c"></a><br/></td></tr>
100 <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#55058a20c1f8bffc0dc927350df778a0">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)</td></tr> 154 <tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">getMaker</a> () const </td></tr>
101 155 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#a59d5a2298951b317995675e664b1c7bb"></a><br/></td></tr>
102 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process a single block of input data. <a href="#55058a20c1f8bffc0dc927350df778a0"></a><br></td></tr> 156 <tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">getPluginVersion</a> () const </td></tr>
103 <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#28423951b2eda1a1fc371485434f417b">getRemainingFeatures</a> ()</td></tr> 157 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the version number of the plugin. <a href="#a47e1acf1696813008324a915c9ba59c5"></a><br/></td></tr>
104 158 <tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">getCopyright</a> () const </td></tr>
105 <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="#28423951b2eda1a1fc371485434f417b"></a><br></td></tr> 159 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#ae14f6ecb78be909c4cd5f0cdaed3c566"></a><br/></td></tr>
106 <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#e203faf8384c9e1fddc381409aa8a214">getInputDomain</a> () const </td></tr> 160 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">getParameterDescriptors</a> () const </td></tr>
107 161 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#a9be71561265c2e6e43b7feaddaa91f36"></a><br/></td></tr>
108 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the plugin's required input domain. <a href="#e203faf8384c9e1fddc381409aa8a214"></a><br></td></tr> 162 <tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">getParameter</a> (std::string) const </td></tr>
109 <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> 163 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of a named parameter. <a href="#a034920f56c8d7609a85447c42556048c"></a><br/></td></tr>
110 164 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">getPrograms</a> () const </td></tr>
111 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#74147fda6b44ff2169bd4a1eea0d46ff"></a><br></td></tr> 165 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the program settings available in this plugin. <a href="#a131fbe1df81215020b9aa8cecef4c802"></a><br/></td></tr>
112 <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> 166 <tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">getCurrentProgram</a> () const </td></tr>
113 167 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current program. <a href="#a7a312dd42d161064b70afd7ff24c0651"></a><br/></td></tr>
114 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#4baa9e48f717c2b3e7f92496aa39d904"></a><br></td></tr> 168 <tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">getMinChannelCount</a> () const </td></tr>
115 <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> 169 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a2b28f1cf37d46a514f1e1411a6037bf8"></a><br/></td></tr>
116 170 <tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">getMaxChannelCount</a> () const </td></tr>
117 <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> 171 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a985eb21f1827bfbc3950d6871b107a58"></a><br/></td></tr>
118 <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> 172 <tr><td class="memTemplParams" colspan="2">template&lt;typename WrapperType &gt; </td></tr>
119 173 <tr><td class="memTemplItemLeft" align="right" valign="top">WrapperType *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05">getWrapper</a> ()</td></tr>
120 <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> 174 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. <a href="#a653d0308e8e34881a8749b7631d00f05"></a><br/></td></tr>
121 <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> 175 <tr><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr>
122 176 <tr><td class="mdescLeft">&#160;</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 from audio o...">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="#abe13b3997a69fbcc09e2213faa352f91"></a><br/></td></tr>
123 <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> 177 <tr><td colspan="2"><h2><a name="pro-attribs"></a>
124 <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> 178 Protected Attributes</h2></td></tr>
125 179 <tr><td class="memItemLeft" align="right" valign="top">Impl *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a51e10c9c63c0349fd74c6d604de5554e">m_impl</a></td></tr>
126 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the version number of the plugin. <a href="#47e1acf1696813008324a915c9ba59c5"></a><br></td></tr> 180 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a></td></tr>
127 <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> 181 <tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr>
128
129 <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>
130 <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#9be71561265c2e6e43b7feaddaa91f36">getParameterDescriptors</a> () const </td></tr>
131
132 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#9be71561265c2e6e43b7feaddaa91f36"></a><br></td></tr>
133 <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>
134
135 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the value of a named parameter. <a href="#034920f56c8d7609a85447c42556048c"></a><br></td></tr>
136 <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#131fbe1df81215020b9aa8cecef4c802">getPrograms</a> () const </td></tr>
137
138 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the program settings available in this plugin. <a href="#131fbe1df81215020b9aa8cecef4c802"></a><br></td></tr>
139 <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>
140
141 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current program. <a href="#7a312dd42d161064b70afd7ff24c0651"></a><br></td></tr>
142 <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>
143
144 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#2b28f1cf37d46a514f1e1411a6037bf8"></a><br></td></tr>
145 <tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#985eb21f1827bfbc3950d6871b107a58">getMaxChannelCount</a> () const </td></tr>
146
147 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#985eb21f1827bfbc3950d6871b107a58"></a><br></td></tr>
148 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename WrapperType &gt; </td></tr>
149 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">WrapperType *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#e9d79bed7237d55a73018a6b982a55b3">getWrapper</a> ()</td></tr>
150
151 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. <a href="#e9d79bed7237d55a73018a6b982a55b3"></a><br></td></tr>
152 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#be13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr>
153
154 <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>
155 <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
156 <tr><td class="memItemLeft" nowrap align="right" valign="top">Impl *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#51e10c9c63c0349fd74c6d604de5554e">m_impl</a></td></tr>
157
158 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#b4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a></td></tr>
159
160 <tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr>
161
162 </table> 182 </table>
163 <hr><a name="_details"></a><h2>Detailed Description</h2> 183 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
164 <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by...">PluginBufferingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that allows plugins to be used by a host supplying an audio stream in non-overlapping buffers of arbitrary size. 184 <div class="textblock"><p><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">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>
165 <p> 185 <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 a host supplying an...">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>
166 A host using <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by...">PluginBufferingAdapter</a> may ignore the preferred step and block size reported by the plugin, and still expect the plugin to run. The value of blockSize and stepSize passed to initialise should be the size of the buffer which the host will supply; the stepSize should be equal to the blockSize.<p> 186 <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>
167 If the internal step size used for the plugin differs from that supplied by the host, the adapter will modify the sample type and rate specifications for the plugin outputs appropriately, and set timestamps on the output features for outputs that formerly used a different sample rate specification. This is necessary in order to obtain correct time stamping.<p> 187 <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 a host supplying an...">PluginBufferingAdapter</a> behaves identically to the plugin that it wraps. The wrapped plugin will be deleted when the wrapper is deleted. </p>
168 In other respects, the <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by...">PluginBufferingAdapter</a> behaves identically to the plugin that it wraps. The wrapped plugin will be deleted when the wrapper is deleted. 188
169 <p>Definition at line <a class="el" href="PluginBufferingAdapter_8h-source.html#l00075">75</a> of file <a class="el" href="PluginBufferingAdapter_8h-source.html">PluginBufferingAdapter.h</a>.</p> 189 <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>
170 <hr><h2>Member Typedef Documentation</h2> 190 </div><hr/><h2>Member Typedef Documentation</h2>
171 <a class="anchor" name="30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::OutputList" ref="30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> 191 <a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::OutputList" ref="a30f531b8fb69fac41a24e3d2a6a08ed9" args="" -->
172 <div class="memitem"> 192 <div class="memitem">
173 <div class="memproto"> 193 <div class="memproto">
174 <table class="memname"> 194 <table class="memname">
175 <tr> 195 <tr>
176 <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> 196 <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#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code></td>
177 </tr> 197 </tr>
178 </table> 198 </table>
179 </div> 199 </div>
180 <div class="memdoc"> 200 <div class="memdoc">
181 201
182 <p> 202 <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>
183 203
184 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00327">327</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p> 204 </div>
185 205 </div>
186 </div> 206 <a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::FeatureList" ref="a0730bc72c87fa02eb8d2854b233f7be1" args="" -->
187 </div><p> 207 <div class="memitem">
188 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" --> 208 <div class="memproto">
189 <div class="memitem"> 209 <table class="memname">
190 <div class="memproto"> 210 <tr>
191 <table class="memname"> 211 <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#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code></td>
192 <tr> 212 </tr>
193 <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> 213 </table>
194 </tr> 214 </div>
195 </table> 215 <div class="memdoc">
196 </div> 216
197 <div class="memdoc"> 217 <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>
198 218
199 <p> 219 </div>
200 220 </div>
201 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00385">385</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p> 221 <a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::FeatureSet" ref="a448fb57dc245d47923ec9eeaf9856c5f" args="" -->
202 222 <div class="memitem">
203 </div> 223 <div class="memproto">
204 </div><p> 224 <table class="memname">
205 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" --> 225 <tr>
206 <div class="memitem"> 226 <td class="memname">typedef std::map&lt;int, <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code></td>
207 <div class="memproto"> 227 </tr>
208 <table class="memname"> 228 </table>
209 <tr> 229 </div>
210 <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> 230 <div class="memdoc">
211 </tr> 231
212 </table> 232 <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>
213 </div> 233
214 <div class="memdoc"> 234 </div>
215 235 </div>
216 <p> 236 <a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" -->
217 237 <div class="memitem">
218 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00387">387</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p> 238 <div class="memproto">
219 239 <table class="memname">
220 </div> 240 <tr>
221 </div><p> 241 <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#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code></td>
222 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> 242 </tr>
223 <div class="memitem"> 243 </table>
224 <div class="memproto"> 244 </div>
225 <table class="memname"> 245 <div class="memdoc">
226 <tr> 246
227 <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> 247 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00203">203</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>
228 </tr> 248
229 </table> 249 </div>
230 </div> 250 </div>
231 <div class="memdoc"> 251 <a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" -->
232 252 <div class="memitem">
233 <p> 253 <div class="memproto">
234 254 <table class="memname">
235 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00203">203</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p> 255 <tr>
236 256 <td class="memname">typedef std::vector&lt;std::string&gt; <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code></td>
237 </div> 257 </tr>
238 </div><p> 258 </table>
239 <a class="anchor" name="7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::ProgramList" ref="7f66f00437b21e5f694fe02356b12f20" args="" --> 259 </div>
240 <div class="memitem"> 260 <div class="memdoc">
241 <div class="memproto"> 261
242 <table class="memname"> 262 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00225">225</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>
243 <tr> 263
244 <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> 264 </div>
245 </tr> 265 </div>
246 </table> 266 <hr/><h2>Member Enumeration Documentation</h2>
247 </div> 267 <a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::InputDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bc" args="" -->
248 <div class="memdoc"> 268 <div class="memitem">
249 269 <div class="memproto">
250 <p> 270 <table class="memname">
251 271 <tr>
252 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00225">225</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p> 272 <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code></td>
253 273 </tr>
254 </div> 274 </table>
255 </div><p> 275 </div>
256 <hr><h2>Member Enumeration Documentation</h2> 276 <div class="memdoc">
257 <a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::InputDomain" ref="39cb7649d6dcc20e4cb1640cd55907bc" args="" --> 277 <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
258 <div class="memitem"> 278 <tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em>&nbsp;</td><td>
259 <div class="memproto">
260 <table class="memname">
261 <tr>
262 <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code> </td>
263 </tr>
264 </table>
265 </div>
266 <div class="memdoc">
267
268 <p>
269 <dl compact><dt><b>Enumerator: </b></dt><dd>
270 <table border="0" cellspacing="2" cellpadding="0">
271 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em>&nbsp;</td><td>
272 </td></tr> 279 </td></tr>
273 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em>&nbsp;</td><td> 280 <tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em>&nbsp;</td><td>
274 </td></tr> 281 </td></tr>
275 </table> 282 </table>
283 </dd>
276 </dl> 284 </dl>
277 285
278 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00152">152</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p> 286 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00152">152</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p>
279 287
280 </div> 288 </div>
281 </div><p> 289 </div>
282 <hr><h2>Constructor &amp; Destructor Documentation</h2> 290 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
283 <a class="anchor" name="1276bcfcbe1414b33eeefbd7b2b702fe"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::PluginBufferingAdapter" ref="1276bcfcbe1414b33eeefbd7b2b702fe" args="(Plugin *plugin)" --> 291 <a class="anchor" id="a1276bcfcbe1414b33eeefbd7b2b702fe"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::PluginBufferingAdapter" ref="a1276bcfcbe1414b33eeefbd7b2b702fe" args="(Plugin *plugin)" -->
284 <div class="memitem"> 292 <div class="memitem">
285 <div class="memproto"> 293 <div class="memproto">
286 <table class="memname"> 294 <table class="memname">
287 <tr> 295 <tr>
288 <td class="memname">Vamp::HostExt::PluginBufferingAdapter::PluginBufferingAdapter </td> 296 <td class="memname">Vamp::HostExt::PluginBufferingAdapter::PluginBufferingAdapter </td>
289 <td>(</td> 297 <td>(</td>
290 <td class="paramtype"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *&nbsp;</td> 298 <td class="paramtype"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *&#160;</td>
291 <td class="paramname"> <em>plugin</em> </td> 299 <td class="paramname"><em>plugin</em></td><td>)</td>
292 <td>&nbsp;)&nbsp;</td> 300 <td></td>
293 <td></td> 301 </tr>
294 </tr> 302 </table>
295 </table> 303 </div>
296 </div> 304 <div class="memdoc">
297 <div class="memdoc"> 305
298 306 <p>Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a> wrapping the given plugin. </p>
299 <p> 307 <p>The adapter takes ownership of the plugin, which will be deleted when the adapter is deleted. </p>
300 Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by...">PluginBufferingAdapter</a> wrapping the given plugin. 308
301 <p> 309 </div>
302 The adapter takes ownership of the plugin, which will be deleted when the adapter is deleted. 310 </div>
303 </div> 311 <a class="anchor" id="a96263f7b0910a10eeae86f20db007e55"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::~PluginBufferingAdapter" ref="a96263f7b0910a10eeae86f20db007e55" args="()" -->
304 </div><p> 312 <div class="memitem">
305 <a class="anchor" name="96263f7b0910a10eeae86f20db007e55"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::~PluginBufferingAdapter" ref="96263f7b0910a10eeae86f20db007e55" args="()" --> 313 <div class="memproto">
306 <div class="memitem"> 314 <table class="memname">
307 <div class="memproto"> 315 <tr>
308 <table class="memname"> 316 <td class="memname">virtual Vamp::HostExt::PluginBufferingAdapter::~PluginBufferingAdapter </td>
309 <tr> 317 <td>(</td>
310 <td class="memname">virtual Vamp::HostExt::PluginBufferingAdapter::~PluginBufferingAdapter </td> 318 <td class="paramname"></td><td>)</td>
311 <td>(</td>
312 <td class="paramname"> </td>
313 <td>&nbsp;)&nbsp;</td>
314 <td><code> [virtual]</code></td> 319 <td><code> [virtual]</code></td>
315 </tr> 320 </tr>
316 </table> 321 </table>
317 </div> 322 </div>
318 <div class="memdoc"> 323 <div class="memdoc">
319 324
320 <p> 325 </div>
321 326 </div>
322 </div> 327 <hr/><h2>Member Function Documentation</h2>
323 </div><p> 328 <a class="anchor" id="a2e66d009df69c951001e5d2786973d60"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPreferredStepSize" ref="a2e66d009df69c951001e5d2786973d60" args="() const " -->
324 <hr><h2>Member Function Documentation</h2> 329 <div class="memitem">
325 <a class="anchor" name="2e66d009df69c951001e5d2786973d60"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPreferredStepSize" ref="2e66d009df69c951001e5d2786973d60" args="() const " --> 330 <div class="memproto">
326 <div class="memitem"> 331 <table class="memname">
327 <div class="memproto"> 332 <tr>
328 <table class="memname"> 333 <td class="memname">size_t Vamp::HostExt::PluginBufferingAdapter::getPreferredStepSize </td>
329 <tr> 334 <td>(</td>
330 <td class="memname">size_t Vamp::HostExt::PluginBufferingAdapter::getPreferredStepSize </td> 335 <td class="paramname"></td><td>)</td>
331 <td>(</td>
332 <td class="paramname"> </td>
333 <td>&nbsp;)&nbsp;</td>
334 <td> const<code> [virtual]</code></td> 336 <td> const<code> [virtual]</code></td>
335 </tr> 337 </tr>
336 </table> 338 </table>
337 </div> 339 </div>
338 <div class="memdoc"> 340 <div class="memdoc">
339 341
340 <p> 342 <p>Return the preferred step size for this adapter. </p>
341 Return the preferred step size for this adapter. 343 <p>Because of the way this adapter works, its preferred step size will always be the same as its preferred block size. This may or may not be the same as the preferred step size of the underlying plugin, which may be obtained by calling <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#ad7fad500331808b5cdf90f5a45019b02" title="Return the preferred step size of the plugin wrapped by this adapter.">getPluginPreferredStepSize()</a>. </p>
342 <p> 344
343 Because of the way this adapter works, its preferred step size will always be the same as its preferred block size. This may or may not be the same as the preferred step size of the underlying plugin, which may be obtained by calling <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#d7fad500331808b5cdf90f5a45019b02" title="Return the preferred step size of the plugin wrapped by this adapter.">getPluginPreferredStepSize()</a>. 345 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a>.</p>
344 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a>.</p> 346
345 347 </div>
346 </div> 348 </div>
347 </div><p> 349 <a class="anchor" id="a21e45180b19873f9ab69fe7a4e184a03"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPreferredBlockSize" ref="a21e45180b19873f9ab69fe7a4e184a03" args="() const " -->
348 <a class="anchor" name="21e45180b19873f9ab69fe7a4e184a03"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPreferredBlockSize" ref="21e45180b19873f9ab69fe7a4e184a03" args="() const " --> 350 <div class="memitem">
349 <div class="memitem"> 351 <div class="memproto">
350 <div class="memproto"> 352 <table class="memname">
351 <table class="memname"> 353 <tr>
352 <tr> 354 <td class="memname">size_t Vamp::HostExt::PluginBufferingAdapter::getPreferredBlockSize </td>
353 <td class="memname">size_t Vamp::HostExt::PluginBufferingAdapter::getPreferredBlockSize </td> 355 <td>(</td>
354 <td>(</td> 356 <td class="paramname"></td><td>)</td>
355 <td class="paramname"> </td>
356 <td>&nbsp;)&nbsp;</td>
357 <td> const<code> [virtual]</code></td> 357 <td> const<code> [virtual]</code></td>
358 </tr> 358 </tr>
359 </table> 359 </table>
360 </div> 360 </div>
361 <div class="memdoc"> 361 <div class="memdoc">
362 362
363 <p> 363 <p>Return the preferred block size for this adapter. </p>
364 Return the preferred block size for this adapter. 364 <p>This may or may not be the same as the preferred block size of the underlying plugin, which may be obtained by calling <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7045be875de9dd226d2e2a222e957de0" title="Return the preferred block size of the plugin wrapped by this adapter.">getPluginPreferredBlockSize()</a>.</p>
365 <p> 365 <p>Note that this adapter may be initialised with any block size, not just its supposedly preferred one. </p>
366 This may or may not be the same as the preferred block size of the underlying plugin, which may be obtained by calling <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#7045be875de9dd226d2e2a222e957de0" title="Return the preferred block size of the plugin wrapped by this adapter.">getPluginPreferredBlockSize()</a>.<p> 366
367 Note that this adapter may be initialised with any block size, not just its supposedly preferred one. 367 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">Vamp::HostExt::PluginWrapper</a>.</p>
368 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#2c62a656313a819650656643a867ad01">Vamp::HostExt::PluginWrapper</a>.</p> 368
369 369 </div>
370 </div> 370 </div>
371 </div><p> 371 <a class="anchor" id="a9e7798ba4d7870db46502ab541ab37a8"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::initialise" ref="a9e7798ba4d7870db46502ab541ab37a8" args="(size_t channels, size_t stepSize, size_t blockSize)" -->
372 <a class="anchor" name="9e7798ba4d7870db46502ab541ab37a8"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::initialise" ref="9e7798ba4d7870db46502ab541ab37a8" args="(size_t channels, size_t stepSize, size_t blockSize)" --> 372 <div class="memitem">
373 <div class="memitem"> 373 <div class="memproto">
374 <div class="memproto"> 374 <table class="memname">
375 <table class="memname"> 375 <tr>
376 <tr> 376 <td class="memname">bool Vamp::HostExt::PluginBufferingAdapter::initialise </td>
377 <td class="memname">bool Vamp::HostExt::PluginBufferingAdapter::initialise </td> 377 <td>(</td>
378 <td>(</td> 378 <td class="paramtype">size_t&#160;</td>
379 <td class="paramtype">size_t&nbsp;</td> 379 <td class="paramname"><em>channels</em>, </td>
380 <td class="paramname"> <em>channels</em>, </td>
381 </tr> 380 </tr>
382 <tr> 381 <tr>
383 <td class="paramkey"></td> 382 <td class="paramkey"></td>
384 <td></td> 383 <td></td>
385 <td class="paramtype">size_t&nbsp;</td> 384 <td class="paramtype">size_t&#160;</td>
386 <td class="paramname"> <em>stepSize</em>, </td> 385 <td class="paramname"><em>stepSize</em>, </td>
387 </tr> 386 </tr>
388 <tr> 387 <tr>
389 <td class="paramkey"></td> 388 <td class="paramkey"></td>
390 <td></td> 389 <td></td>
391 <td class="paramtype">size_t&nbsp;</td> 390 <td class="paramtype">size_t&#160;</td>
392 <td class="paramname"> <em>blockSize</em></td><td>&nbsp;</td> 391 <td class="paramname"><em>blockSize</em>&#160;</td>
393 </tr> 392 </tr>
394 <tr> 393 <tr>
395 <td></td> 394 <td></td>
396 <td>)</td> 395 <td>)</td>
397 <td></td><td></td><td><code> [virtual]</code></td> 396 <td></td><td><code> [virtual]</code></td>
398 </tr> 397 </tr>
399 </table> 398 </table>
400 </div> 399 </div>
401 <div class="memdoc"> 400 <div class="memdoc">
402 401
403 <p> 402 <p>Initialise the adapter (and therefore the plugin) for the given number of channels. </p>
404 Initialise the adapter (and therefore the plugin) for the given number of channels. 403 <p>Initialise the adapter for the given step and block size, which must be equal.</p>
405 <p> 404 <p>The step and block size used for the underlying plugin will depend on its preferences, or any values previously passed to setPluginStepSize and setPluginBlockSize. </p>
406 Initialise the adapter for the given step and block size, which must be equal.<p> 405
407 The step and block size used for the underlying plugin will depend on its preferences, or any values previously passed to setPluginStepSize and setPluginBlockSize. 406 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>.</p>
408 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>.</p> 407
409 408 </div>
410 </div> 409 </div>
411 </div><p> 410 <a class="anchor" id="ad7fad500331808b5cdf90f5a45019b02"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPluginPreferredStepSize" ref="ad7fad500331808b5cdf90f5a45019b02" args="() const " -->
412 <a class="anchor" name="d7fad500331808b5cdf90f5a45019b02"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPluginPreferredStepSize" ref="d7fad500331808b5cdf90f5a45019b02" args="() const " --> 411 <div class="memitem">
413 <div class="memitem"> 412 <div class="memproto">
414 <div class="memproto"> 413 <table class="memname">
415 <table class="memname"> 414 <tr>
416 <tr> 415 <td class="memname">size_t Vamp::HostExt::PluginBufferingAdapter::getPluginPreferredStepSize </td>
417 <td class="memname">size_t Vamp::HostExt::PluginBufferingAdapter::getPluginPreferredStepSize </td> 416 <td>(</td>
418 <td>(</td> 417 <td class="paramname"></td><td>)</td>
419 <td class="paramname"> </td>
420 <td>&nbsp;)&nbsp;</td>
421 <td> const</td> 418 <td> const</td>
422 </tr> 419 </tr>
423 </table> 420 </table>
424 </div> 421 </div>
425 <div class="memdoc"> 422 <div class="memdoc">
426 423
427 <p> 424 <p>Return the preferred step size of the plugin wrapped by this adapter. </p>
428 Return the preferred step size of the plugin wrapped by this adapter. 425 <p>This is included mainly for informational purposes. This value is not likely to be a valid step size for the adapter itself, and it is not usually of any use in interpreting the results (because the adapter re-writes OneSamplePerStep outputs to FixedSampleRate so that the hop size no longer needs to be known beforehand in order to interpret them). </p>
429 <p> 426
430 This is included mainly for informational purposes. This value is not likely to be a valid step size for the adapter itself, and it is not usually of any use in interpreting the results (because the adapter re-writes OneSamplePerStep outputs to FixedSampleRate so that the hop size no longer needs to be known beforehand in order to interpret them). 427 </div>
431 </div> 428 </div>
432 </div><p> 429 <a class="anchor" id="a7045be875de9dd226d2e2a222e957de0"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPluginPreferredBlockSize" ref="a7045be875de9dd226d2e2a222e957de0" args="() const " -->
433 <a class="anchor" name="7045be875de9dd226d2e2a222e957de0"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPluginPreferredBlockSize" ref="7045be875de9dd226d2e2a222e957de0" args="() const " --> 430 <div class="memitem">
434 <div class="memitem"> 431 <div class="memproto">
435 <div class="memproto"> 432 <table class="memname">
436 <table class="memname"> 433 <tr>
437 <tr> 434 <td class="memname">size_t Vamp::HostExt::PluginBufferingAdapter::getPluginPreferredBlockSize </td>
438 <td class="memname">size_t Vamp::HostExt::PluginBufferingAdapter::getPluginPreferredBlockSize </td> 435 <td>(</td>
439 <td>(</td> 436 <td class="paramname"></td><td>)</td>
440 <td class="paramname"> </td>
441 <td>&nbsp;)&nbsp;</td>
442 <td> const</td> 437 <td> const</td>
443 </tr> 438 </tr>
444 </table> 439 </table>
445 </div> 440 </div>
446 <div class="memdoc"> 441 <div class="memdoc">
447 442
448 <p> 443 <p>Return the preferred block size of the plugin wrapped by this adapter. </p>
449 Return the preferred block size of the plugin wrapped by this adapter. 444 <p>This is included mainly for informational purposes. </p>
450 <p> 445
451 This is included mainly for informational purposes. 446 </div>
452 </div> 447 </div>
453 </div><p> 448 <a class="anchor" id="ac99898d78a01a7fad4def4d6c5fd3a7e"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::setPluginStepSize" ref="ac99898d78a01a7fad4def4d6c5fd3a7e" args="(size_t stepSize)" -->
454 <a class="anchor" name="c99898d78a01a7fad4def4d6c5fd3a7e"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::setPluginStepSize" ref="c99898d78a01a7fad4def4d6c5fd3a7e" args="(size_t stepSize)" --> 449 <div class="memitem">
455 <div class="memitem"> 450 <div class="memproto">
456 <div class="memproto"> 451 <table class="memname">
457 <table class="memname"> 452 <tr>
458 <tr> 453 <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::setPluginStepSize </td>
459 <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::setPluginStepSize </td> 454 <td>(</td>
460 <td>(</td> 455 <td class="paramtype">size_t&#160;</td>
461 <td class="paramtype">size_t&nbsp;</td> 456 <td class="paramname"><em>stepSize</em></td><td>)</td>
462 <td class="paramname"> <em>stepSize</em> </td> 457 <td></td>
463 <td>&nbsp;)&nbsp;</td> 458 </tr>
464 <td></td> 459 </table>
465 </tr> 460 </div>
466 </table> 461 <div class="memdoc">
467 </div> 462
468 <div class="memdoc"> 463 <p>Set the step size that will be used for the underlying plugin when <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a> is called. </p>
469 464 <p>If this is not set, the plugin's own preferred step size will be used. You will not usually need to call this function. If you do call it, it must be before the first call to <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a>. </p>
470 <p> 465
471 Set the step size that will be used for the underlying plugin when <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels...">initialise()</a> is called. 466 </div>
472 <p> 467 </div>
473 If this is not set, the plugin's own preferred step size will be used. You will not usually need to call this function. If you do call it, it must be before the first call to <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels...">initialise()</a>. 468 <a class="anchor" id="aa80ae1bff6f95e805811df2c3770a98c"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::setPluginBlockSize" ref="aa80ae1bff6f95e805811df2c3770a98c" args="(size_t blockSize)" -->
474 </div> 469 <div class="memitem">
475 </div><p> 470 <div class="memproto">
476 <a class="anchor" name="a80ae1bff6f95e805811df2c3770a98c"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::setPluginBlockSize" ref="a80ae1bff6f95e805811df2c3770a98c" args="(size_t blockSize)" --> 471 <table class="memname">
477 <div class="memitem"> 472 <tr>
478 <div class="memproto"> 473 <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::setPluginBlockSize </td>
479 <table class="memname"> 474 <td>(</td>
480 <tr> 475 <td class="paramtype">size_t&#160;</td>
481 <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::setPluginBlockSize </td> 476 <td class="paramname"><em>blockSize</em></td><td>)</td>
482 <td>(</td> 477 <td></td>
483 <td class="paramtype">size_t&nbsp;</td> 478 </tr>
484 <td class="paramname"> <em>blockSize</em> </td> 479 </table>
485 <td>&nbsp;)&nbsp;</td> 480 </div>
486 <td></td> 481 <div class="memdoc">
487 </tr> 482
488 </table> 483 <p>Set the block size that will be used for the underlying plugin when <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a> is called. </p>
489 </div> 484 <p>If this is not set, the plugin's own preferred block size will be used. You will not usually need to call this function. If you do call it, it must be before the first call to <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a>. </p>
490 <div class="memdoc"> 485
491 486 </div>
492 <p> 487 </div>
493 Set the block size that will be used for the underlying plugin when <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels...">initialise()</a> is called. 488 <a class="anchor" id="aa065985fd864f6869d1bc7fea6fa2ece"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getActualStepAndBlockSizes" ref="aa065985fd864f6869d1bc7fea6fa2ece" args="(size_t &amp;stepSize, size_t &amp;blockSize)" -->
494 <p> 489 <div class="memitem">
495 If this is not set, the plugin's own preferred block size will be used. You will not usually need to call this function. If you do call it, it must be before the first call to <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels...">initialise()</a>. 490 <div class="memproto">
496 </div> 491 <table class="memname">
497 </div><p> 492 <tr>
498 <a class="anchor" name="a065985fd864f6869d1bc7fea6fa2ece"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getActualStepAndBlockSizes" ref="a065985fd864f6869d1bc7fea6fa2ece" args="(size_t &amp;stepSize, size_t &amp;blockSize)" --> 493 <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::getActualStepAndBlockSizes </td>
499 <div class="memitem"> 494 <td>(</td>
500 <div class="memproto"> 495 <td class="paramtype">size_t &amp;&#160;</td>
501 <table class="memname"> 496 <td class="paramname"><em>stepSize</em>, </td>
502 <tr>
503 <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::getActualStepAndBlockSizes </td>
504 <td>(</td>
505 <td class="paramtype">size_t &amp;&nbsp;</td>
506 <td class="paramname"> <em>stepSize</em>, </td>
507 </tr> 497 </tr>
508 <tr> 498 <tr>
509 <td class="paramkey"></td> 499 <td class="paramkey"></td>
510 <td></td> 500 <td></td>
511 <td class="paramtype">size_t &amp;&nbsp;</td> 501 <td class="paramtype">size_t &amp;&#160;</td>
512 <td class="paramname"> <em>blockSize</em></td><td>&nbsp;</td> 502 <td class="paramname"><em>blockSize</em>&#160;</td>
513 </tr> 503 </tr>
514 <tr> 504 <tr>
515 <td></td> 505 <td></td>
516 <td>)</td> 506 <td>)</td>
517 <td></td><td></td><td></td> 507 <td></td><td></td>
518 </tr> 508 </tr>
519 </table> 509 </table>
520 </div> 510 </div>
521 <div class="memdoc"> 511 <div class="memdoc">
522 512
523 <p> 513 <p>Return the step and block sizes that were actually used when initialising the underlying plugin. </p>
524 Return the step and block sizes that were actually used when initialising the underlying plugin. 514 <p>This is included mainly for informational purposes. You will not usually need to call this function. If this is called before <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a>, it will return 0 for both values. If it is called after a failed call to <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a>, it will return the values that were used in the failed call to the plugin's <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a> function. </p>
525 <p> 515
526 This is included mainly for informational purposes. You will not usually need to call this function. If this is called before <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels...">initialise()</a>, it will return 0 for both values. If it is called after a failed call to <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels...">initialise()</a>, it will return the values that were used in the failed call to the plugin's <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels...">initialise()</a> function. 516 </div>
527 </div> 517 </div>
528 </div><p> 518 <a class="anchor" id="a7a979b20c169d37adbd7b7d8b8a077b3"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::setParameter" ref="a7a979b20c169d37adbd7b7d8b8a077b3" args="(std::string, float)" -->
529 <a class="anchor" name="7a979b20c169d37adbd7b7d8b8a077b3"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::setParameter" ref="7a979b20c169d37adbd7b7d8b8a077b3" args="(std::string, float)" --> 519 <div class="memitem">
530 <div class="memitem"> 520 <div class="memproto">
531 <div class="memproto"> 521 <table class="memname">
532 <table class="memname"> 522 <tr>
533 <tr> 523 <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::setParameter </td>
534 <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::setParameter </td> 524 <td>(</td>
535 <td>(</td> 525 <td class="paramtype">std::string&#160;</td>
536 <td class="paramtype">std::string&nbsp;</td>
537 <td class="paramname">, </td> 526 <td class="paramname">, </td>
538 </tr> 527 </tr>
539 <tr> 528 <tr>
540 <td class="paramkey"></td> 529 <td class="paramkey"></td>
541 <td></td> 530 <td></td>
542 <td class="paramtype">float&nbsp;</td> 531 <td class="paramtype">float&#160;</td>
543 <td class="paramname"></td><td>&nbsp;</td> 532 <td class="paramname">&#160;</td>
544 </tr> 533 </tr>
545 <tr> 534 <tr>
546 <td></td> 535 <td></td>
547 <td>)</td> 536 <td>)</td>
548 <td></td><td></td><td><code> [virtual]</code></td> 537 <td></td><td><code> [virtual]</code></td>
549 </tr> 538 </tr>
550 </table> 539 </table>
551 </div> 540 </div>
552 <div class="memdoc"> 541 <div class="memdoc">
553 542
554 <p> 543 <p>Set a named parameter. </p>
555 Set a named parameter. 544 <p>The first argument is the identifier field from that parameter's descriptor. </p>
556 <p> 545
557 The first argument is the identifier field from that parameter's descriptor. 546 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a>.</p>
558 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a>.</p> 547
559 548 </div>
560 </div> 549 </div>
561 </div><p> 550 <a class="anchor" id="a3cc7000e0aff525950e0a286b87f8927"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::selectProgram" ref="a3cc7000e0aff525950e0a286b87f8927" args="(std::string)" -->
562 <a class="anchor" name="3cc7000e0aff525950e0a286b87f8927"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::selectProgram" ref="3cc7000e0aff525950e0a286b87f8927" args="(std::string)" --> 551 <div class="memitem">
563 <div class="memitem"> 552 <div class="memproto">
564 <div class="memproto"> 553 <table class="memname">
565 <table class="memname"> 554 <tr>
566 <tr> 555 <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::selectProgram </td>
567 <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::selectProgram </td> 556 <td>(</td>
568 <td>(</td> 557 <td class="paramtype">std::string&#160;</td>
569 <td class="paramtype">std::string&nbsp;</td> 558 <td class="paramname"></td><td>)</td>
570 <td class="paramname"> </td>
571 <td>&nbsp;)&nbsp;</td>
572 <td><code> [virtual]</code></td> 559 <td><code> [virtual]</code></td>
573 </tr> 560 </tr>
574 </table> 561 </table>
575 </div> 562 </div>
576 <div class="memdoc"> 563 <div class="memdoc">
577 564
578 <p> 565 <p>Select a program. </p>
579 Select a program. 566 <p>(If the given program name is not one of the available programs, do nothing.) </p>
580 <p> 567
581 (If the given program name is not one of the available programs, do nothing.) 568 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p>
582 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p> 569
583 570 </div>
584 </div> 571 </div>
585 </div><p> 572 <a class="anchor" id="af8cc914897a284433de220f1153f3845"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getOutputDescriptors" ref="af8cc914897a284433de220f1153f3845" args="() const " -->
586 <a class="anchor" name="f8cc914897a284433de220f1153f3845"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getOutputDescriptors" ref="f8cc914897a284433de220f1153f3845" args="() const " --> 573 <div class="memitem">
587 <div class="memitem"> 574 <div class="memproto">
588 <div class="memproto"> 575 <table class="memname">
589 <table class="memname"> 576 <tr>
590 <tr> 577 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::HostExt::PluginBufferingAdapter::getOutputDescriptors </td>
591 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::HostExt::PluginBufferingAdapter::getOutputDescriptors </td> 578 <td>(</td>
592 <td>(</td> 579 <td class="paramname"></td><td>)</td>
593 <td class="paramname"> </td>
594 <td>&nbsp;)&nbsp;</td>
595 <td> const<code> [virtual]</code></td> 580 <td> const<code> [virtual]</code></td>
596 </tr> 581 </tr>
597 </table> 582 </table>
598 </div> 583 </div>
599 <div class="memdoc"> 584 <div class="memdoc">
600 585
601 <p> 586 <p>Get the outputs of this plugin. </p>
602 Get the outputs of this plugin. 587 <p>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#a55058a20c1f8bffc0dc927350df778a0" title="Process a single block of input data.">process()</a> call. </p>
603 <p> 588
604 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#55058a20c1f8bffc0dc927350df778a0" title="Process a single block of input data.">process()</a> call. 589 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a9411305f713b4c9827844b89acd270">Vamp::HostExt::PluginWrapper</a>.</p>
605 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#5a9411305f713b4c9827844b89acd270">Vamp::HostExt::PluginWrapper</a>.</p> 590
606 591 </div>
607 </div> 592 </div>
608 </div><p> 593 <a class="anchor" id="a131fd9fe8a1795d7370d8a721176868a"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::reset" ref="a131fd9fe8a1795d7370d8a721176868a" args="()" -->
609 <a class="anchor" name="131fd9fe8a1795d7370d8a721176868a"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::reset" ref="131fd9fe8a1795d7370d8a721176868a" args="()" --> 594 <div class="memitem">
610 <div class="memitem"> 595 <div class="memproto">
611 <div class="memproto"> 596 <table class="memname">
612 <table class="memname"> 597 <tr>
613 <tr> 598 <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::reset </td>
614 <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::reset </td> 599 <td>(</td>
615 <td>(</td> 600 <td class="paramname"></td><td>)</td>
616 <td class="paramname"> </td>
617 <td>&nbsp;)&nbsp;</td>
618 <td><code> [virtual]</code></td> 601 <td><code> [virtual]</code></td>
619 </tr> 602 </tr>
620 </table> 603 </table>
621 </div> 604 </div>
622 <div class="memdoc"> 605 <div class="memdoc">
623 606
624 <p> 607 <p>Reset the plugin after use, to prepare it for another clean run. </p>
625 Reset the plugin after use, to prepare it for another clean run. 608 <p>Not called for the first initialisation (i.e. initialise must also do a reset). </p>
626 <p> 609
627 Not called for the first initialisation (i.e. initialise must also do a reset). 610 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a>.</p>
628 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#d19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a>.</p> 611
629 612 </div>
630 </div> 613 </div>
631 </div><p> 614 <a class="anchor" id="a55058a20c1f8bffc0dc927350df778a0"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::process" ref="a55058a20c1f8bffc0dc927350df778a0" args="(const float *const *inputBuffers, RealTime timestamp)" -->
632 <a class="anchor" name="55058a20c1f8bffc0dc927350df778a0"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::process" ref="55058a20c1f8bffc0dc927350df778a0" args="(const float *const *inputBuffers, RealTime timestamp)" --> 615 <div class="memitem">
633 <div class="memitem"> 616 <div class="memproto">
634 <div class="memproto"> 617 <table class="memname">
635 <table class="memname"> 618 <tr>
636 <tr> 619 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginBufferingAdapter::process </td>
637 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginBufferingAdapter::process </td> 620 <td>(</td>
638 <td>(</td> 621 <td class="paramtype">const float *const *&#160;</td>
639 <td class="paramtype">const float *const *&nbsp;</td> 622 <td class="paramname"><em>inputBuffers</em>, </td>
640 <td class="paramname"> <em>inputBuffers</em>, </td>
641 </tr> 623 </tr>
642 <tr> 624 <tr>
643 <td class="paramkey"></td> 625 <td class="paramkey"></td>
644 <td></td> 626 <td></td>
645 <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a>&nbsp;</td> 627 <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a>&#160;</td>
646 <td class="paramname"> <em>timestamp</em></td><td>&nbsp;</td> 628 <td class="paramname"><em>timestamp</em>&#160;</td>
647 </tr> 629 </tr>
648 <tr> 630 <tr>
649 <td></td> 631 <td></td>
650 <td>)</td> 632 <td>)</td>
651 <td></td><td></td><td><code> [virtual]</code></td> 633 <td></td><td><code> [virtual]</code></td>
652 </tr> 634 </tr>
653 </table> 635 </table>
654 </div> 636 </div>
655 <div class="memdoc"> 637 <div class="memdoc">
656 638
657 <p> 639 <p>Process a single block of input data. </p>
658 Process a single block of input data. 640 <p>If the plugin's inputDomain is TimeDomain, inputBuffers will point to one array of floats per input channel, and each of these arrays will contain blockSize consecutive audio samples (the host will zero-pad as necessary). The timestamp in this case will be the real time in seconds of the start of the supplied block of samples.</p>
659 <p> 641 <p>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>
660 If the plugin's inputDomain is TimeDomain, inputBuffers will point to one array of floats per input channel, and each of these arrays will contain blockSize consecutive audio samples (the host will zero-pad as necessary). The timestamp in this case will be the real time in seconds of the start of the supplied block of samples.<p> 642 <p>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.) </p>
661 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> 643
662 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.) 644 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf">Vamp::HostExt::PluginWrapper</a>.</p>
663 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf">Vamp::HostExt::PluginWrapper</a>.</p> 645
664 646 </div>
665 </div> 647 </div>
666 </div><p> 648 <a class="anchor" id="a28423951b2eda1a1fc371485434f417b"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getRemainingFeatures" ref="a28423951b2eda1a1fc371485434f417b" args="()" -->
667 <a class="anchor" name="28423951b2eda1a1fc371485434f417b"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getRemainingFeatures" ref="28423951b2eda1a1fc371485434f417b" args="()" --> 649 <div class="memitem">
668 <div class="memitem"> 650 <div class="memproto">
669 <div class="memproto"> 651 <table class="memname">
670 <table class="memname"> 652 <tr>
671 <tr> 653 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginBufferingAdapter::getRemainingFeatures </td>
672 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginBufferingAdapter::getRemainingFeatures </td> 654 <td>(</td>
673 <td>(</td> 655 <td class="paramname"></td><td>)</td>
674 <td class="paramname"> </td>
675 <td>&nbsp;)&nbsp;</td>
676 <td><code> [virtual]</code></td> 656 <td><code> [virtual]</code></td>
677 </tr> 657 </tr>
678 </table> 658 </table>
679 </div> 659 </div>
680 <div class="memdoc"> 660 <div class="memdoc">
681 661
682 <p> 662 <p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p>
683 After all blocks have been processed, calculate and return any remaining features derived from the complete input. 663
684 <p> 664 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2bc8c0992e64f06991fb7cf89f99857e">Vamp::HostExt::PluginWrapper</a>.</p>
685 665
686 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#2bc8c0992e64f06991fb7cf89f99857e">Vamp::HostExt::PluginWrapper</a>.</p> 666 </div>
687 667 </div>
688 </div> 668 <a class="anchor" id="ae203faf8384c9e1fddc381409aa8a214"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getInputDomain" ref="ae203faf8384c9e1fddc381409aa8a214" args="() const " -->
689 </div><p> 669 <div class="memitem">
690 <a class="anchor" name="e203faf8384c9e1fddc381409aa8a214"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getInputDomain" ref="e203faf8384c9e1fddc381409aa8a214" args="() const " --> 670 <div class="memproto">
691 <div class="memitem"> 671 <table class="memname">
692 <div class="memproto"> 672 <tr>
693 <table class="memname"> 673 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::HostExt::PluginWrapper::getInputDomain </td>
694 <tr> 674 <td>(</td>
695 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::HostExt::PluginWrapper::getInputDomain </td> 675 <td class="paramname"></td><td>)</td>
696 <td>(</td> 676 <td> const<code> [virtual, inherited]</code></td>
697 <td class="paramname"> </td> 677 </tr>
698 <td>&nbsp;)&nbsp;</td> 678 </table>
699 <td> const<code> [virtual, inherited]</code></td> 679 </div>
700 </tr> 680 <div class="memdoc">
701 </table> 681
702 </div> 682 <p>Get the plugin's required input domain. </p>
703 <div class="memdoc"> 683 <p>If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" 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>
704 684 <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#a6bd72d6dfb3047524dbe8ae3294527cf" 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>
705 <p> 685
706 Get the plugin's required input domain. 686 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p>
707 <p> 687
708 If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function (below) will be in the time domain, as for a traditional audio processing plugin.<p> 688 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>.</p>
709 If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a>. The input data for the FFT will be rotated so as to place the origin in the centre of the block. The plugin does not get to choose the window type -- the host will either let the user do so, or will use a Hanning window. 689
710 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> 690 </div>
711 691 </div>
712 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>.</p> 692 <a class="anchor" id="a74147fda6b44ff2169bd4a1eea0d46ff"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getVampApiVersion" ref="a74147fda6b44ff2169bd4a1eea0d46ff" args="() const " -->
713 693 <div class="memitem">
714 </div> 694 <div class="memproto">
715 </div><p> 695 <table class="memname">
716 <a class="anchor" name="74147fda6b44ff2169bd4a1eea0d46ff"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getVampApiVersion" ref="74147fda6b44ff2169bd4a1eea0d46ff" args="() const " --> 696 <tr>
717 <div class="memitem"> 697 <td class="memname">unsigned int Vamp::HostExt::PluginWrapper::getVampApiVersion </td>
718 <div class="memproto"> 698 <td>(</td>
719 <table class="memname"> 699 <td class="paramname"></td><td>)</td>
720 <tr> 700 <td> const<code> [virtual, inherited]</code></td>
721 <td class="memname">unsigned int Vamp::HostExt::PluginWrapper::getVampApiVersion </td> 701 </tr>
722 <td>(</td> 702 </table>
723 <td class="paramname"> </td> 703 </div>
724 <td>&nbsp;)&nbsp;</td> 704 <div class="memdoc">
725 <td> const<code> [virtual, inherited]</code></td> 705
726 </tr> 706 <p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p>
727 </table> 707
728 </div> 708 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">Vamp::PluginBase</a>.</p>
729 <div class="memdoc"> 709
730 710 </div>
731 <p> 711 </div>
732 Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. 712 <a class="anchor" id="a4baa9e48f717c2b3e7f92496aa39d904"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getIdentifier" ref="a4baa9e48f717c2b3e7f92496aa39d904" args="() const " -->
733 <p> 713 <div class="memitem">
734 714 <div class="memproto">
735 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#8fd2c48291c64b790f0efb8948508dcf">Vamp::PluginBase</a>.</p> 715 <table class="memname">
736 716 <tr>
737 </div> 717 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getIdentifier </td>
738 </div><p> 718 <td>(</td>
739 <a class="anchor" name="4baa9e48f717c2b3e7f92496aa39d904"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getIdentifier" ref="4baa9e48f717c2b3e7f92496aa39d904" args="() const " --> 719 <td class="paramname"></td><td>)</td>
740 <div class="memitem"> 720 <td> const<code> [virtual, inherited]</code></td>
741 <div class="memproto"> 721 </tr>
742 <table class="memname"> 722 </table>
743 <tr> 723 </div>
744 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getIdentifier </td> 724 <div class="memdoc">
745 <td>(</td> 725
746 <td class="paramname"> </td> 726 <p>Get the computer-usable name of the plugin. </p>
747 <td>&nbsp;)&nbsp;</td> 727 <p>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>
748 <td> const<code> [virtual, inherited]</code></td> 728 <p>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>
749 </tr> 729 <p>Example: "zero_crossings" </p>
750 </table> 730
751 </div> 731 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p>
752 <div class="memdoc"> 732
753 733 </div>
754 <p> 734 </div>
755 Get the computer-usable name of the plugin. 735 <a class="anchor" id="ac70a3265bb25aeb03f6dd8f8a0442088"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getName" ref="ac70a3265bb25aeb03f6dd8f8a0442088" args="() const " -->
756 <p> 736 <div class="memitem">
757 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> 737 <div class="memproto">
758 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> 738 <table class="memname">
759 Example: "zero_crossings" 739 <tr>
760 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#d1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p> 740 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getName </td>
761 741 <td>(</td>
762 </div> 742 <td class="paramname"></td><td>)</td>
763 </div><p> 743 <td> const<code> [virtual, inherited]</code></td>
764 <a class="anchor" name="c70a3265bb25aeb03f6dd8f8a0442088"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getName" ref="c70a3265bb25aeb03f6dd8f8a0442088" args="() const " --> 744 </tr>
765 <div class="memitem"> 745 </table>
766 <div class="memproto"> 746 </div>
767 <table class="memname"> 747 <div class="memdoc">
768 <tr> 748
769 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getName </td> 749 <p>Get a human-readable name or title of the plugin. </p>
770 <td>(</td> 750 <p>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>
771 <td class="paramname"> </td> 751 <p>Example: "Zero Crossings" </p>
772 <td>&nbsp;)&nbsp;</td> 752
773 <td> const<code> [virtual, inherited]</code></td> 753 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p>
774 </tr> 754
775 </table> 755 </div>
776 </div> 756 </div>
777 <div class="memdoc"> 757 <a class="anchor" id="ac334f699c0996055942785410d8a065c"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getDescription" ref="ac334f699c0996055942785410d8a065c" args="() const " -->
778 758 <div class="memitem">
779 <p> 759 <div class="memproto">
780 Get a human-readable name or title of the plugin. 760 <table class="memname">
781 <p> 761 <tr>
782 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> 762 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getDescription </td>
783 Example: "Zero Crossings" 763 <td>(</td>
784 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p> 764 <td class="paramname"></td><td>)</td>
785 765 <td> const<code> [virtual, inherited]</code></td>
786 </div> 766 </tr>
787 </div><p> 767 </table>
788 <a class="anchor" name="c334f699c0996055942785410d8a065c"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getDescription" ref="c334f699c0996055942785410d8a065c" args="() const " --> 768 </div>
789 <div class="memitem"> 769 <div class="memdoc">
790 <div class="memproto"> 770
791 <table class="memname"> 771 <p>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". </p>
792 <tr> 772 <p>May be empty if the name has said it all already.</p>
793 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getDescription </td> 773 <p>Example: "Detect and count zero crossing points" </p>
794 <td>(</td> 774
795 <td class="paramname"> </td> 775 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p>
796 <td>&nbsp;)&nbsp;</td> 776
797 <td> const<code> [virtual, inherited]</code></td> 777 </div>
798 </tr> 778 </div>
799 </table> 779 <a class="anchor" id="a59d5a2298951b317995675e664b1c7bb"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getMaker" ref="a59d5a2298951b317995675e664b1c7bb" args="() const " -->
800 </div> 780 <div class="memitem">
801 <div class="memdoc"> 781 <div class="memproto">
802 782 <table class="memname">
803 <p> 783 <tr>
804 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". 784 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getMaker </td>
805 <p> 785 <td>(</td>
806 May be empty if the name has said it all already.<p> 786 <td class="paramname"></td><td>)</td>
807 Example: "Detect and count zero crossing points" 787 <td> const<code> [virtual, inherited]</code></td>
808 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p> 788 </tr>
809 789 </table>
810 </div> 790 </div>
811 </div><p> 791 <div class="memdoc">
812 <a class="anchor" name="59d5a2298951b317995675e664b1c7bb"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getMaker" ref="59d5a2298951b317995675e664b1c7bb" args="() const " --> 792
813 <div class="memitem"> 793 <p>Get the name of the author or vendor of the plugin in human-readable form. </p>
814 <div class="memproto"> 794 <p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p>
815 <table class="memname"> 795
816 <tr> 796 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p>
817 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getMaker </td> 797
818 <td>(</td> 798 </div>
819 <td class="paramname"> </td> 799 </div>
820 <td>&nbsp;)&nbsp;</td> 800 <a class="anchor" id="a47e1acf1696813008324a915c9ba59c5"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPluginVersion" ref="a47e1acf1696813008324a915c9ba59c5" args="() const " -->
821 <td> const<code> [virtual, inherited]</code></td> 801 <div class="memitem">
822 </tr> 802 <div class="memproto">
823 </table> 803 <table class="memname">
824 </div> 804 <tr>
825 <div class="memdoc"> 805 <td class="memname">int Vamp::HostExt::PluginWrapper::getPluginVersion </td>
826 806 <td>(</td>
827 <p> 807 <td class="paramname"></td><td>)</td>
828 Get the name of the author or vendor of the plugin in human-readable form. 808 <td> const<code> [virtual, inherited]</code></td>
829 <p> 809 </tr>
830 This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. 810 </table>
831 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p> 811 </div>
832 812 <div class="memdoc">
833 </div> 813
834 </div><p> 814 <p>Get the version number of the plugin. </p>
835 <a class="anchor" name="47e1acf1696813008324a915c9ba59c5"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPluginVersion" ref="47e1acf1696813008324a915c9ba59c5" args="() const " --> 815
836 <div class="memitem"> 816 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p>
837 <div class="memproto"> 817
838 <table class="memname"> 818 </div>
839 <tr> 819 </div>
840 <td class="memname">int Vamp::HostExt::PluginWrapper::getPluginVersion </td> 820 <a class="anchor" id="ae14f6ecb78be909c4cd5f0cdaed3c566"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getCopyright" ref="ae14f6ecb78be909c4cd5f0cdaed3c566" args="() const " -->
841 <td>(</td> 821 <div class="memitem">
842 <td class="paramname"> </td> 822 <div class="memproto">
843 <td>&nbsp;)&nbsp;</td> 823 <table class="memname">
844 <td> const<code> [virtual, inherited]</code></td> 824 <tr>
845 </tr> 825 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCopyright </td>
846 </table> 826 <td>(</td>
847 </div> 827 <td class="paramname"></td><td>)</td>
848 <div class="memdoc"> 828 <td> const<code> [virtual, inherited]</code></td>
849 829 </tr>
850 <p> 830 </table>
851 Get the version number of the plugin. 831 </div>
852 <p> 832 <div class="memdoc">
853 833
854 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p> 834 <p>Get the copyright statement or licensing summary for the plugin. </p>
855 835 <p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p>
856 </div> 836
857 </div><p> 837 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p>
858 <a class="anchor" name="e14f6ecb78be909c4cd5f0cdaed3c566"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getCopyright" ref="e14f6ecb78be909c4cd5f0cdaed3c566" args="() const " --> 838
859 <div class="memitem"> 839 </div>
860 <div class="memproto"> 840 </div>
861 <table class="memname"> 841 <a class="anchor" id="a9be71561265c2e6e43b7feaddaa91f36"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getParameterDescriptors" ref="a9be71561265c2e6e43b7feaddaa91f36" args="() const " -->
862 <tr> 842 <div class="memitem">
863 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCopyright </td> 843 <div class="memproto">
864 <td>(</td> 844 <table class="memname">
865 <td class="paramname"> </td> 845 <tr>
866 <td>&nbsp;)&nbsp;</td> 846 <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::HostExt::PluginWrapper::getParameterDescriptors </td>
867 <td> const<code> [virtual, inherited]</code></td> 847 <td>(</td>
868 </tr> 848 <td class="paramname"></td><td>)</td>
869 </table> 849 <td> const<code> [virtual, inherited]</code></td>
870 </div> 850 </tr>
871 <div class="memdoc"> 851 </table>
872 852 </div>
873 <p> 853 <div class="memdoc">
874 Get the copyright statement or licensing summary for the plugin. 854
875 <p> 855 <p>Get the controllable parameters of this plugin. </p>
876 This can be an informative text, without the same presentation constraints as mentioned for getMaker above. 856
877 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#b7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p> 857 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a>.</p>
878 858
879 </div> 859 </div>
880 </div><p> 860 </div>
881 <a class="anchor" name="9be71561265c2e6e43b7feaddaa91f36"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getParameterDescriptors" ref="9be71561265c2e6e43b7feaddaa91f36" args="() const " --> 861 <a class="anchor" id="a034920f56c8d7609a85447c42556048c"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getParameter" ref="a034920f56c8d7609a85447c42556048c" args="(std::string) const " -->
882 <div class="memitem"> 862 <div class="memitem">
883 <div class="memproto"> 863 <div class="memproto">
884 <table class="memname"> 864 <table class="memname">
885 <tr> 865 <tr>
886 <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::HostExt::PluginWrapper::getParameterDescriptors </td> 866 <td class="memname">float Vamp::HostExt::PluginWrapper::getParameter </td>
887 <td>(</td> 867 <td>(</td>
888 <td class="paramname"> </td> 868 <td class="paramtype">std::string&#160;</td>
889 <td>&nbsp;)&nbsp;</td> 869 <td class="paramname"></td><td>)</td>
890 <td> const<code> [virtual, inherited]</code></td> 870 <td> const<code> [virtual, inherited]</code></td>
891 </tr> 871 </tr>
892 </table> 872 </table>
893 </div> 873 </div>
894 <div class="memdoc"> 874 <div class="memdoc">
895 875
896 <p> 876 <p>Get the value of a named parameter. </p>
897 Get the controllable parameters of this plugin. 877 <p>The argument is the identifier field from that parameter's descriptor. </p>
898 <p> 878
899 879 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a>.</p>
900 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#ac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a>.</p> 880
901 881 </div>
902 </div> 882 </div>
903 </div><p> 883 <a class="anchor" id="a131fbe1df81215020b9aa8cecef4c802"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPrograms" ref="a131fbe1df81215020b9aa8cecef4c802" args="() const " -->
904 <a class="anchor" name="034920f56c8d7609a85447c42556048c"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getParameter" ref="034920f56c8d7609a85447c42556048c" args="(std::string) const " --> 884 <div class="memitem">
905 <div class="memitem"> 885 <div class="memproto">
906 <div class="memproto"> 886 <table class="memname">
907 <table class="memname"> 887 <tr>
908 <tr> 888 <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::HostExt::PluginWrapper::getPrograms </td>
909 <td class="memname">float Vamp::HostExt::PluginWrapper::getParameter </td> 889 <td>(</td>
910 <td>(</td> 890 <td class="paramname"></td><td>)</td>
911 <td class="paramtype">std::string&nbsp;</td> 891 <td> const<code> [virtual, inherited]</code></td>
912 <td class="paramname"> </td> 892 </tr>
913 <td>&nbsp;)&nbsp;</td> 893 </table>
914 <td> const<code> [virtual, inherited]</code></td> 894 </div>
915 </tr> 895 <div class="memdoc">
916 </table> 896
917 </div> 897 <p>Get the program settings available in this plugin. </p>
918 <div class="memdoc"> 898 <p>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>
919 899 <p>The programs must have unique names. </p>
920 <p> 900
921 Get the value of a named parameter. 901 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">Vamp::PluginBase</a>.</p>
922 <p> 902
923 The argument is the identifier field from that parameter's descriptor. 903 </div>
924 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a>.</p> 904 </div>
925 905 <a class="anchor" id="a7a312dd42d161064b70afd7ff24c0651"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getCurrentProgram" ref="a7a312dd42d161064b70afd7ff24c0651" args="() const " -->
926 </div> 906 <div class="memitem">
927 </div><p> 907 <div class="memproto">
928 <a class="anchor" name="131fbe1df81215020b9aa8cecef4c802"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPrograms" ref="131fbe1df81215020b9aa8cecef4c802" args="() const " --> 908 <table class="memname">
929 <div class="memitem"> 909 <tr>
930 <div class="memproto"> 910 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCurrentProgram </td>
931 <table class="memname"> 911 <td>(</td>
932 <tr> 912 <td class="paramname"></td><td>)</td>
933 <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::HostExt::PluginWrapper::getPrograms </td> 913 <td> const<code> [virtual, inherited]</code></td>
934 <td>(</td> 914 </tr>
935 <td class="paramname"> </td> 915 </table>
936 <td>&nbsp;)&nbsp;</td> 916 </div>
937 <td> const<code> [virtual, inherited]</code></td> 917 <div class="memdoc">
938 </tr> 918
939 </table> 919 <p>Get the current program. </p>
940 </div> 920
941 <div class="memdoc"> 921 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">Vamp::PluginBase</a>.</p>
942 922
943 <p> 923 </div>
944 Get the program settings available in this plugin. 924 </div>
945 <p> 925 <a class="anchor" id="a2b28f1cf37d46a514f1e1411a6037bf8"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getMinChannelCount" ref="a2b28f1cf37d46a514f1e1411a6037bf8" args="() const " -->
946 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> 926 <div class="memitem">
947 The programs must have unique names. 927 <div class="memproto">
948 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#bb307c60bdb981d5f5af50c3c4ae84af">Vamp::PluginBase</a>.</p> 928 <table class="memname">
949 929 <tr>
950 </div> 930 <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMinChannelCount </td>
951 </div><p> 931 <td>(</td>
952 <a class="anchor" name="7a312dd42d161064b70afd7ff24c0651"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getCurrentProgram" ref="7a312dd42d161064b70afd7ff24c0651" args="() const " --> 932 <td class="paramname"></td><td>)</td>
953 <div class="memitem"> 933 <td> const<code> [virtual, inherited]</code></td>
954 <div class="memproto"> 934 </tr>
955 <table class="memname"> 935 </table>
956 <tr> 936 </div>
957 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCurrentProgram </td> 937 <div class="memdoc">
958 <td>(</td> 938
959 <td class="paramname"> </td> 939 <p>Get the minimum supported number of input channels. </p>
960 <td>&nbsp;)&nbsp;</td> 940
961 <td> const<code> [virtual, inherited]</code></td> 941 <p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">Vamp::Plugin</a>.</p>
962 </tr> 942
963 </table> 943 </div>
964 </div> 944 </div>
965 <div class="memdoc"> 945 <a class="anchor" id="a985eb21f1827bfbc3950d6871b107a58"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getMaxChannelCount" ref="a985eb21f1827bfbc3950d6871b107a58" args="() const " -->
966 946 <div class="memitem">
967 <p> 947 <div class="memproto">
968 Get the current program. 948 <table class="memname">
969 <p> 949 <tr>
970 950 <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMaxChannelCount </td>
971 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#24e77eccf1bdfbbca3c79bb25e8799b3">Vamp::PluginBase</a>.</p> 951 <td>(</td>
972 952 <td class="paramname"></td><td>)</td>
973 </div> 953 <td> const<code> [virtual, inherited]</code></td>
974 </div><p> 954 </tr>
975 <a class="anchor" name="2b28f1cf37d46a514f1e1411a6037bf8"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getMinChannelCount" ref="2b28f1cf37d46a514f1e1411a6037bf8" args="() const " --> 955 </table>
976 <div class="memitem"> 956 </div>
977 <div class="memproto"> 957 <div class="memdoc">
978 <table class="memname"> 958
979 <tr> 959 <p>Get the maximum supported number of input channels. </p>
980 <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMinChannelCount </td> 960
981 <td>(</td> 961 <p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">Vamp::Plugin</a>.</p>
982 <td class="paramname"> </td> 962
983 <td>&nbsp;)&nbsp;</td> 963 </div>
984 <td> const<code> [virtual, inherited]</code></td> 964 </div>
985 </tr> 965 <a class="anchor" id="a653d0308e8e34881a8749b7631d00f05"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getWrapper" ref="a653d0308e8e34881a8749b7631d00f05" args="()" -->
986 </table>
987 </div>
988 <div class="memdoc">
989
990 <p>
991 Get the minimum supported number of input channels.
992 <p>
993
994 <p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#267b42e866df3cf0d190893e8096f525">Vamp::Plugin</a>.</p>
995
996 </div>
997 </div><p>
998 <a class="anchor" name="985eb21f1827bfbc3950d6871b107a58"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getMaxChannelCount" ref="985eb21f1827bfbc3950d6871b107a58" args="() const " -->
999 <div class="memitem">
1000 <div class="memproto">
1001 <table class="memname">
1002 <tr>
1003 <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMaxChannelCount </td>
1004 <td>(</td>
1005 <td class="paramname"> </td>
1006 <td>&nbsp;)&nbsp;</td>
1007 <td> const<code> [virtual, inherited]</code></td>
1008 </tr>
1009 </table>
1010 </div>
1011 <div class="memdoc">
1012
1013 <p>
1014 Get the maximum supported number of input channels.
1015 <p>
1016
1017 <p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#2c5ab12b6fa4847cb244bd1e9cb3ae5e">Vamp::Plugin</a>.</p>
1018
1019 </div>
1020 </div><p>
1021 <a class="anchor" name="e9d79bed7237d55a73018a6b982a55b3"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getWrapper" ref="e9d79bed7237d55a73018a6b982a55b3" args="()" -->
1022 <div class="memitem"> 966 <div class="memitem">
1023 <div class="memproto"> 967 <div class="memproto">
1024 <div class="memtemplate"> 968 <div class="memtemplate">
1025 template&lt;typename WrapperType &gt; </div> 969 template&lt;typename WrapperType &gt; </div>
1026 <table class="memname"> 970 <table class="memname">
1027 <tr> 971 <tr>
1028 <td class="memname">WrapperType* Vamp::HostExt::PluginWrapper::getWrapper </td> 972 <td class="memname">WrapperType* Vamp::HostExt::PluginWrapper::getWrapper </td>
1029 <td>(</td> 973 <td>(</td>
1030 <td class="paramname"> </td> 974 <td class="paramname"></td><td>)</td>
1031 <td>&nbsp;)&nbsp;</td>
1032 <td><code> [inline, inherited]</code></td> 975 <td><code> [inline, inherited]</code></td>
1033 </tr> 976 </tr>
1034 </table> 977 </table>
1035 </div> 978 </div>
1036 <div class="memdoc"> 979 <div class="memdoc">
1037 980
1038 <p> 981 <p>Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. </p>
1039 Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. 982 <p>This is useful in situations where a plugin is wrapped by multiple different wrappers (one inside another) and the host wants to call some wrapper-specific function on one of the layers without having to care about the order in which they are wrapped. For example, the plugin returned by <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f" title="Load a Vamp plugin, given its identifying key.">PluginLoader::loadPlugin</a> may have more than one wrapper; if the host wanted to query or fine-tune some property of one of them, it would be hard to do so without knowing the order of the wrappers. This function therefore gives direct access to the wrapper of a particular type. </p>
1040 <p> 983
1041 This is useful in situations where a plugin is wrapped by multiple different wrappers (one inside another) and the host wants to call some wrapper-specific function on one of the layers without having to care about the order in which they are wrapped. For example, the plugin returned by <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#964689eb9688cd7e58e8c82ebb0d305f" title="Load a Vamp plugin, given its identifying key.">PluginLoader::loadPlugin</a> may have more than one wrapper; if the host wanted to query or fine-tune some property of one of them, it would be hard to do so without knowing the order of the wrappers. This function therefore gives direct access to the wrapper of a particular type. 984 <p>Definition at line <a class="el" href="PluginWrapper_8h_source.html#l00116">116</a> of file <a class="el" href="PluginWrapper_8h_source.html">PluginWrapper.h</a>.</p>
1042 <p>Definition at line <a class="el" href="PluginWrapper_8h-source.html#l00116">116</a> of file <a class="el" href="PluginWrapper_8h-source.html">PluginWrapper.h</a>.</p> 985
1043 986 <p>References <a class="el" href="PluginWrapper_8h_source.html#l00116">Vamp::HostExt::PluginWrapper::getWrapper()</a>.</p>
1044 <p>References <a class="el" href="PluginWrapper_8h-source.html#l00116">Vamp::HostExt::PluginWrapper::getWrapper()</a>.</p> 987
1045 988 <p>Referenced by <a class="el" href="PluginWrapper_8h_source.html#l00116">Vamp::HostExt::PluginWrapper::getWrapper()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p>
1046 <p>Referenced by <a class="el" href="PluginWrapper_8h-source.html#l00116">Vamp::HostExt::PluginWrapper::getWrapper()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p> 989
1047 990 </div>
1048 </div> 991 </div>
1049 </div><p> 992 <a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getType" ref="abe13b3997a69fbcc09e2213faa352f91" args="() const " -->
1050 <a class="anchor" name="be13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getType" ref="be13b3997a69fbcc09e2213faa352f91" args="() const " --> 993 <div class="memitem">
1051 <div class="memitem"> 994 <div class="memproto">
1052 <div class="memproto"> 995 <table class="memname">
1053 <table class="memname"> 996 <tr>
1054 <tr> 997 <td class="memname">virtual std::string Vamp::Plugin::getType </td>
1055 <td class="memname">virtual std::string Vamp::Plugin::getType </td> 998 <td>(</td>
1056 <td>(</td> 999 <td class="paramname"></td><td>)</td>
1057 <td class="paramname"> </td>
1058 <td>&nbsp;)&nbsp;</td>
1059 <td> const<code> [inline, virtual, inherited]</code></td> 1000 <td> const<code> [inline, virtual, inherited]</code></td>
1060 </tr> 1001 </tr>
1061 </table> 1002 </table>
1062 </div> 1003 </div>
1063 <div class="memdoc"> 1004 <div class="memdoc">
1064 1005
1065 <p> 1006 <p>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 from audio o...">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>. </p>
1066 Used to distinguish between <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction...">Vamp::Plugin</a> and other potential sibling subclasses of <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a>. 1007 <p>Do not reimplement this function in your subclass. </p>
1067 <p> 1008
1068 Do not reimplement this function in your subclass. 1009 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p>
1069 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> 1010
1070 1011 <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>
1071 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00430">430</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p> 1012
1072 1013 </div>
1073 </div> 1014 </div>
1074 </div><p> 1015 <hr/><h2>Member Data Documentation</h2>
1075 <hr><h2>Member Data Documentation</h2> 1016 <a class="anchor" id="a51e10c9c63c0349fd74c6d604de5554e"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::m_impl" ref="a51e10c9c63c0349fd74c6d604de5554e" args="" -->
1076 <a class="anchor" name="51e10c9c63c0349fd74c6d604de5554e"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::m_impl" ref="51e10c9c63c0349fd74c6d604de5554e" args="" --> 1017 <div class="memitem">
1077 <div class="memitem"> 1018 <div class="memproto">
1078 <div class="memproto"> 1019 <table class="memname">
1079 <table class="memname"> 1020 <tr>
1080 <tr> 1021 <td class="memname">Impl* <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a51e10c9c63c0349fd74c6d604de5554e">Vamp::HostExt::PluginBufferingAdapter::m_impl</a><code> [protected]</code></td>
1081 <td class="memname">Impl* <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#51e10c9c63c0349fd74c6d604de5554e">Vamp::HostExt::PluginBufferingAdapter::m_impl</a><code> [protected]</code> </td> 1022 </tr>
1082 </tr> 1023 </table>
1083 </table> 1024 </div>
1084 </div> 1025 <div class="memdoc">
1085 <div class="memdoc"> 1026
1086 1027 <p>Definition at line <a class="el" href="PluginBufferingAdapter_8h_source.html#l00184">184</a> of file <a class="el" href="PluginBufferingAdapter_8h_source.html">PluginBufferingAdapter.h</a>.</p>
1087 <p> 1028
1088 1029 </div>
1089 <p>Definition at line <a class="el" href="PluginBufferingAdapter_8h-source.html#l00184">184</a> of file <a class="el" href="PluginBufferingAdapter_8h-source.html">PluginBufferingAdapter.h</a>.</p> 1030 </div>
1090 1031 <a class="anchor" id="ab4e40ecd98b445e1a2aa9e7baa280ea2"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::m_plugin" ref="ab4e40ecd98b445e1a2aa9e7baa280ea2" args="" -->
1091 </div> 1032 <div class="memitem">
1092 </div><p> 1033 <div class="memproto">
1093 <a class="anchor" name="b4e40ecd98b445e1a2aa9e7baa280ea2"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::m_plugin" ref="b4e40ecd98b445e1a2aa9e7baa280ea2" args="" --> 1034 <table class="memname">
1094 <div class="memitem"> 1035 <tr>
1095 <div class="memproto"> 1036 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a>* <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">Vamp::HostExt::PluginWrapper::m_plugin</a><code> [protected, inherited]</code></td>
1096 <table class="memname"> 1037 </tr>
1097 <tr> 1038 </table>
1098 <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> 1039 </div>
1099 </tr> 1040 <div class="memdoc">
1100 </table> 1041
1101 </div> 1042 <p>Definition at line <a class="el" href="PluginWrapper_8h_source.html#l00126">126</a> of file <a class="el" href="PluginWrapper_8h_source.html">PluginWrapper.h</a>.</p>
1102 <div class="memdoc"> 1043
1103 1044 </div>
1104 <p> 1045 </div>
1105 1046 <a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::m_inputSampleRate" ref="a59b9dd82a4f4eb946cd0474cc81abc23" args="" -->
1106 <p>Definition at line <a class="el" href="PluginWrapper_8h-source.html#l00126">126</a> of file <a class="el" href="PluginWrapper_8h-source.html">PluginWrapper.h</a>.</p> 1047 <div class="memitem">
1107 1048 <div class="memproto">
1108 </div> 1049 <table class="memname">
1109 </div><p> 1050 <tr>
1110 <a class="anchor" name="59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::m_inputSampleRate" ref="59b9dd82a4f4eb946cd0474cc81abc23" args="" --> 1051 <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code></td>
1111 <div class="memitem"> 1052 </tr>
1112 <div class="memproto"> 1053 </table>
1113 <table class="memname"> 1054 </div>
1114 <tr> 1055 <div class="memdoc">
1115 <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code> </td> 1056
1116 </tr> 1057 <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>
1117 </table> 1058
1118 </div> 1059 <p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00375">FixedTempoEstimator::D::calculate()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <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="FixedTempoEstimator_8cpp_source.html#l00252">FixedTempoEstimator::D::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00363">FixedTempoEstimator::D::lag2tempo()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00146">SpectralCentroid::process()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">ZeroCrossing::process()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00369">FixedTempoEstimator::D::tempo2lag()</a>.</p>
1119 <div class="memdoc"> 1060
1120 1061 </div>
1121 <p> 1062 </div>
1122 1063 <hr/>The documentation for this class was generated from the following file:<ul>
1123 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00436">436</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p> 1064 <li><a class="el" href="PluginBufferingAdapter_8h_source.html">PluginBufferingAdapter.h</a></li>
1124 1065 </ul>
1125 <p>Referenced by <a class="el" href="ZeroCrossing_8cpp-source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00142">ZeroCrossing::process()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00146">SpectralCentroid::process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00226">PercussionOnsetDetector::process()</a>.</p> 1066 </div>
1126 1067 </div>
1127 </div> 1068 <div id="nav-path" class="navpath">
1128 </div><p> 1069 <ul>
1129 <hr>The documentation for this class was generated from the following file:<ul> 1070 <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li>
1130 <li><a class="el" href="PluginBufferingAdapter_8h-source.html">PluginBufferingAdapter.h</a></ul> 1071 <li class="navelem"><a class="el" href="namespaceVamp_1_1HostExt.html">HostExt</a> </li>
1131 </div> 1072 <li class="navelem"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">PluginBufferingAdapter</a> </li>
1132 <hr size="1"><address style="text-align: right;"><small>Generated on Thu Sep 24 13:40:14 2009 for VampPluginSDK by&nbsp; 1073
1133 <a href="http://www.doxygen.org/index.html"> 1074 <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by
1134 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address> 1075 <a href="http://www.doxygen.org/index.html">
1076 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
1077 </ul>
1078 </div>
1079
1080
1135 </body> 1081 </body>
1136 </html> 1082 </html>