comparison code-docs/classVamp_1_1Plugin.html @ 6:27319718b1f8 vamp-plugin-sdk-v2.7

Update code docs to v2.7 SDK
author Chris Cannam
date Fri, 24 Feb 2017 16:44:47 +0000
parents 5c2683745b33
children
comparison
equal deleted inserted replaced
5:5c95f546f0b4 6:27319718b1f8
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head> 3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.13"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
6 <title>VampPluginSDK: Vamp::Plugin Class Reference</title> 8 <title>VampPluginSDK: Vamp::Plugin Class Reference</title>
7
8 <link href="tabs.css" rel="stylesheet" type="text/css"/> 9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 <link href="doxygen.css" rel="stylesheet" type="text/css" /> 10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
10 <link href="navtree.css" rel="stylesheet" type="text/css"/> 12 <link href="navtree.css" rel="stylesheet" type="text/css"/>
11 <script type="text/javascript" src="jquery.js"></script>
12 <script type="text/javascript" src="resize.js"></script> 13 <script type="text/javascript" src="resize.js"></script>
14 <script type="text/javascript" src="navtreedata.js"></script>
13 <script type="text/javascript" src="navtree.js"></script> 15 <script type="text/javascript" src="navtree.js"></script>
14 <script type="text/javascript"> 16 <script type="text/javascript">
15 $(document).ready(initResizable); 17 $(document).ready(initResizable);
16 </script> 18 </script>
17 19 <link href="doxygen.css" rel="stylesheet" type="text/css" />
18
19 </head> 20 </head>
20 <body> 21 <body>
21 <div id="top"><!-- do not remove this div! --> 22 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
22
23
24 <div id="titlearea"> 23 <div id="titlearea">
25 <table cellspacing="0" cellpadding="0"> 24 <table cellspacing="0" cellpadding="0">
26 <tbody> 25 <tbody>
27 <tr style="height: 56px;"> 26 <tr style="height: 56px;">
28 27 <td id="projectalign" style="padding-left: 0.5em;">
29
30 <td style="padding-left: 0.5em;">
31 <div id="projectname">VampPluginSDK 28 <div id="projectname">VampPluginSDK
32 &#160;<span id="projectnumber">2.4</span> 29 &#160;<span id="projectnumber">2.7</span>
33 </div> 30 </div>
34 31 </td>
35 </td>
36
37
38
39 </tr> 32 </tr>
40 </tbody> 33 </tbody>
41 </table> 34 </table>
42 </div> 35 </div>
43 36 <!-- end header part -->
44 <!-- Generated by Doxygen 1.8.0 --> 37 <!-- Generated by Doxygen 1.8.13 -->
45 <div id="navrow1" class="tabs"> 38 <script type="text/javascript" src="menudata.js"></script>
46 <ul class="tablist"> 39 <script type="text/javascript" src="menu.js"></script>
47 <li><a href="index.html"><span>Main&#160;Page</span></a></li> 40 <script type="text/javascript">
48 <li><a href="namespaces.html"><span>Namespaces</span></a></li> 41 $(function() {
49 <li class="current"><a href="annotated.html"><span>Classes</span></a></li> 42 initMenu('',false,false,'search.php','Search');
50 <li><a href="files.html"><span>Files</span></a></li> 43 });
51 <li><a href="dirs.html"><span>Directories</span></a></li> 44 </script>
52 </ul> 45 <div id="main-nav"></div>
53 </div> 46 </div><!-- top -->
54 <div id="navrow2" class="tabs2">
55 <ul class="tablist">
56 <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
57 <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
58 <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
59 </ul>
60 </div>
61 </div>
62 <div id="side-nav" class="ui-resizable side-nav-resizable"> 47 <div id="side-nav" class="ui-resizable side-nav-resizable">
63 <div id="nav-tree"> 48 <div id="nav-tree">
64 <div id="nav-tree-contents"> 49 <div id="nav-tree-contents">
50 <div id="nav-sync" class="sync"></div>
65 </div> 51 </div>
66 </div> 52 </div>
67 <div id="splitbar" style="-moz-user-select:none;" 53 <div id="splitbar" style="-moz-user-select:none;"
68 class="ui-resizable-handle"> 54 class="ui-resizable-handle">
69 </div> 55 </div>
70 </div> 56 </div>
71 <script type="text/javascript"> 57 <script type="text/javascript">
72 initNavTree('classVamp_1_1Plugin.html',''); 58 $(document).ready(function(){initNavTree('classVamp_1_1Plugin.html','');});
73 </script> 59 </script>
74 <div id="doc-content"> 60 <div id="doc-content">
75 <div class="header"> 61 <div class="header">
76 <div class="summary"> 62 <div class="summary">
77 <a href="#nested-classes">Classes</a> &#124; 63 <a href="#nested-classes">Classes</a> &#124;
78 <a href="#pub-types">Public Types</a> &#124; 64 <a href="#pub-types">Public Types</a> &#124;
79 <a href="#pub-methods">Public Member Functions</a> &#124; 65 <a href="#pub-methods">Public Member Functions</a> &#124;
80 <a href="#pro-methods">Protected Member Functions</a> &#124; 66 <a href="#pro-methods">Protected Member Functions</a> &#124;
81 <a href="#pro-attribs">Protected Attributes</a> </div> 67 <a href="#pro-attribs">Protected Attributes</a> &#124;
68 <a href="classVamp_1_1Plugin-members.html">List of all members</a> </div>
82 <div class="headertitle"> 69 <div class="headertitle">
83 <div class="title">Vamp::Plugin Class Reference</div> </div> 70 <div class="title">Vamp::Plugin Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
84 </div><!--header--> 71 </div><!--header-->
85 <div class="contents"> 72 <div class="contents">
86 73
87 <p><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> is a base class for plugin instance classes that provide feature extraction from audio or related data. 74 <p><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> is a base class for plugin instance classes that provide feature extraction from audio or related data.
88 <a href="classVamp_1_1Plugin.html#details">More...</a></p> 75 <a href="classVamp_1_1Plugin.html#details">More...</a></p>
91 <div class="dynheader"> 78 <div class="dynheader">
92 Inheritance diagram for Vamp::Plugin:</div> 79 Inheritance diagram for Vamp::Plugin:</div>
93 <div class="dyncontent"> 80 <div class="dyncontent">
94 <div class="center"><img src="classVamp_1_1Plugin__inherit__graph.png" border="0" usemap="#Vamp_1_1Plugin_inherit__map" alt="Inheritance graph"/></div> 81 <div class="center"><img src="classVamp_1_1Plugin__inherit__graph.png" border="0" usemap="#Vamp_1_1Plugin_inherit__map" alt="Inheritance graph"/></div>
95 <map name="Vamp_1_1Plugin_inherit__map" id="Vamp_1_1Plugin_inherit__map"> 82 <map name="Vamp_1_1Plugin_inherit__map" id="Vamp_1_1Plugin_inherit__map">
96 <area shape="rect" id="node5" href="classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function." alt="" coords="345,5,468,30"/><area shape="rect" id="node7" href="classFixedTempoEstimator.html" title="Example plugin that estimates the tempo of a short fixed&#45;tempo sample." alt="" coords="338,54,475,79"/><area shape="rect" id="node9" href="classPercussionOnsetDetector.html" title="Example plugin that detects percussive events." alt="" coords="329,103,484,129"/><area shape="rect" id="node11" href="classPowerSpectrum.html" title="Example plugin that returns a power spectrum calculated (trivially) from the frequency domain represe..." alt="" coords="353,153,460,178"/><area shape="rect" id="node13" href="classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation of each b..." alt="" coords="351,202,463,227"/><area shape="rect" id="node15" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="315,251,499,277"/><area shape="rect" id="node25" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C&#45;language VampPluginDescri..." alt="" coords="327,301,486,326"/><area shape="rect" id="node27" href="classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero&#45;crossing points in an audio waveform..." alt="" coords="360,350,453,375"/><area shape="rect" id="node2" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="6,178,125,203"/><area shape="rect" id="node17" 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..." alt="" coords="558,178,789,203"/><area shape="rect" id="node19" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that..." alt="" coords="560,227,787,253"/><area shape="rect" id="node21" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time&#45;domain input into frequency&#45;doma..." alt="" coords="547,277,800,302"/><area shape="rect" id="node23" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an..." alt="" coords="547,326,800,351"/></map> 83 <area shape="rect" id="node3" href="classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function. " alt="" coords="352,5,476,31"/>
84 <area shape="rect" id="node4" href="classFixedTempoEstimator.html" title="Example plugin that estimates the tempo of a short fixed&#45;tempo sample. " alt="" coords="344,55,484,80"/>
85 <area shape="rect" id="node5" href="classPercussionOnsetDetector.html" title="Example plugin that detects percussive events. " alt="" coords="333,104,495,129"/>
86 <area shape="rect" id="node6" href="classPowerSpectrum.html" title="Example plugin that returns a power spectrum calculated (trivially) from the frequency domain represe..." alt="" coords="359,153,469,179"/>
87 <area shape="rect" id="node7" href="classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation of each b..." alt="" coords="357,203,471,228"/>
88 <area shape="rect" id="node8" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins. " alt="" coords="319,252,509,277"/>
89 <area shape="rect" id="node13" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C&#45;language VampPluginDescri..." alt="" coords="333,301,495,327"/>
90 <area shape="rect" id="node14" href="classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero&#45;crossing points in an audio waveform..." alt="" coords="367,351,461,376"/>
91 <area shape="rect" id="node2" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc. " alt="" coords="5,179,128,204"/>
92 <area shape="rect" id="node9" 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..." alt="" coords="569,152,764,191"/>
93 <area shape="rect" id="node10" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that..." alt="" coords="571,215,762,253"/>
94 <area shape="rect" id="node11" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time&#45;domain input into frequency&#45;doma..." alt="" coords="580,277,753,316"/>
95 <area shape="rect" id="node12" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an..." alt="" coords="557,340,776,379"/>
96 </map>
97 <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> 97 <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
98
99 <p><a href="classVamp_1_1Plugin-members.html">List of all members.</a></p>
100 <table class="memberdecls"> 98 <table class="memberdecls">
101 <tr><td colspan="2"><h2><a name="nested-classes"></a> 99 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
102 Classes</h2></td></tr> 100 Classes</h2></td></tr>
103 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a></td></tr> 101 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a></td></tr>
102 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
104 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a></td></tr> 103 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a></td></tr>
105 <tr><td colspan="2"><h2><a name="pub-types"></a> 104 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
105 </table><table class="memberdecls">
106 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
106 Public Types</h2></td></tr> 107 Public Types</h2></td></tr>
107 <tr class="memitem:a39cb7649d6dcc20e4cb1640cd55907bc"><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>, 108 <tr class="memitem:a39cb7649d6dcc20e4cb1640cd55907bc"><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>,
108 <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> 109 <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>
109 }</td></tr> 110 }</td></tr>
110 <tr class="memitem:a30f531b8fb69fac41a24e3d2a6a08ed9"><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> 111 <tr class="separator:a39cb7649d6dcc20e4cb1640cd55907bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
111 &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> 112 <tr class="memitem:a30f531b8fb69fac41a24e3d2a6a08ed9"><td class="memItemLeft" align="right" valign="top">typedef std::vector&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>
113 <tr class="separator:a30f531b8fb69fac41a24e3d2a6a08ed9"><td class="memSeparator" colspan="2">&#160;</td></tr>
112 <tr class="memitem:a0730bc72c87fa02eb8d2854b233f7be1"><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> 114 <tr class="memitem:a0730bc72c87fa02eb8d2854b233f7be1"><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>
113 <tr class="memitem:a448fb57dc245d47923ec9eeaf9856c5f"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; int, <br class="typebreak"/> 115 <tr class="separator:a0730bc72c87fa02eb8d2854b233f7be1"><td class="memSeparator" colspan="2">&#160;</td></tr>
114 <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> 116 <tr class="memitem:a448fb57dc245d47923ec9eeaf9856c5f"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; int, <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>
115 <tr class="memitem:a3b6bb4bbd86affe1ca9deceea1aad4f8"><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> 117 <tr class="separator:a448fb57dc245d47923ec9eeaf9856c5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
116 &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> 118 <tr class="memitem:a3b6bb4bbd86affe1ca9deceea1aad4f8"><td class="memItemLeft" align="right" valign="top">typedef std::vector&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>
119 <tr class="separator:a3b6bb4bbd86affe1ca9deceea1aad4f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
117 <tr class="memitem:a7f66f00437b21e5f694fe02356b12f20"><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> 120 <tr class="memitem:a7f66f00437b21e5f694fe02356b12f20"><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>
118 <tr><td colspan="2"><h2><a name="pub-methods"></a> 121 <tr class="separator:a7f66f00437b21e5f694fe02356b12f20"><td class="memSeparator" colspan="2">&#160;</td></tr>
122 </table><table class="memberdecls">
123 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
119 Public Member Functions</h2></td></tr> 124 Public Member Functions</h2></td></tr>
120 <tr class="memitem:a42d3096f9c1f58b1876024cd8d9ab80b"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a> ()</td></tr> 125 <tr class="memitem:a42d3096f9c1f58b1876024cd8d9ab80b"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a> ()</td></tr>
126 <tr class="separator:a42d3096f9c1f58b1876024cd8d9ab80b"><td class="memSeparator" colspan="2">&#160;</td></tr>
121 <tr class="memitem:af26212cf5fc511b603a8b48034247822"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">initialise</a> (size_t inputChannels, size_t stepSize, size_t blockSize)=0</td></tr> 127 <tr class="memitem:af26212cf5fc511b603a8b48034247822"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">initialise</a> (size_t inputChannels, size_t stepSize, size_t blockSize)=0</td></tr>
122 <tr class="memdesc:af26212cf5fc511b603a8b48034247822"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames). <a href="#af26212cf5fc511b603a8b48034247822"></a><br/></td></tr> 128 <tr class="memdesc:af26212cf5fc511b603a8b48034247822"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames). <a href="#af26212cf5fc511b603a8b48034247822">More...</a><br /></td></tr>
129 <tr class="separator:af26212cf5fc511b603a8b48034247822"><td class="memSeparator" colspan="2">&#160;</td></tr>
123 <tr class="memitem:aad67dc9d0052417511070c4ebcfbf24f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">reset</a> ()=0</td></tr> 130 <tr class="memitem:aad67dc9d0052417511070c4ebcfbf24f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">reset</a> ()=0</td></tr>
124 <tr class="memdesc:aad67dc9d0052417511070c4ebcfbf24f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#aad67dc9d0052417511070c4ebcfbf24f"></a><br/></td></tr> 131 <tr class="memdesc:aad67dc9d0052417511070c4ebcfbf24f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#aad67dc9d0052417511070c4ebcfbf24f">More...</a><br /></td></tr>
132 <tr class="separator:aad67dc9d0052417511070c4ebcfbf24f"><td class="memSeparator" colspan="2">&#160;</td></tr>
125 <tr class="memitem:ae1d317a9702cbeda65ddf0ec500c1ff6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">getInputDomain</a> () const =0</td></tr> 133 <tr class="memitem:ae1d317a9702cbeda65ddf0ec500c1ff6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">getInputDomain</a> () const =0</td></tr>
126 <tr class="memdesc:ae1d317a9702cbeda65ddf0ec500c1ff6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the plugin's required input domain. <a href="#ae1d317a9702cbeda65ddf0ec500c1ff6"></a><br/></td></tr> 134 <tr class="memdesc:ae1d317a9702cbeda65ddf0ec500c1ff6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the plugin's required input domain. <a href="#ae1d317a9702cbeda65ddf0ec500c1ff6">More...</a><br /></td></tr>
127 <tr class="memitem:aa529adf83f87a603954eb31407602aac"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">getPreferredBlockSize</a> () const </td></tr> 135 <tr class="separator:ae1d317a9702cbeda65ddf0ec500c1ff6"><td class="memSeparator" colspan="2">&#160;</td></tr>
128 <tr class="memdesc:aa529adf83f87a603954eb31407602aac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). <a href="#aa529adf83f87a603954eb31407602aac"></a><br/></td></tr> 136 <tr class="memitem:ae3b9c32b12796ece152388babad7cc7d"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#ae3b9c32b12796ece152388babad7cc7d">getPreferredBlockSize</a> () const</td></tr>
129 <tr class="memitem:a514c716c22f81c055f19b56c3f882567"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">getPreferredStepSize</a> () const </td></tr> 137 <tr class="memdesc:ae3b9c32b12796ece152388babad7cc7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the preferred block size (window size &ndash; the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data. ">process()</a> function). <a href="#ae3b9c32b12796ece152388babad7cc7d">More...</a><br /></td></tr>
130 <tr class="memdesc:a514c716c22f81c055f19b56c3f882567"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the preferred step size (window increment -- the distance in sample frames between the start frames of consecutive blocks passed to the <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#a514c716c22f81c055f19b56c3f882567"></a><br/></td></tr> 138 <tr class="separator:ae3b9c32b12796ece152388babad7cc7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
131 <tr class="memitem:a267b42e866df3cf0d190893e8096f525"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">getMinChannelCount</a> () const </td></tr> 139 <tr class="memitem:a33eaf9a265bc3a055e156452112456c2"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a33eaf9a265bc3a055e156452112456c2">getPreferredStepSize</a> () const</td></tr>
132 <tr class="memdesc:a267b42e866df3cf0d190893e8096f525"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a267b42e866df3cf0d190893e8096f525"></a><br/></td></tr> 140 <tr class="memdesc:a33eaf9a265bc3a055e156452112456c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the preferred step size (window increment &ndash; the distance in sample frames between the start frames of consecutive blocks passed to the <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data. ">process()</a> function) for the plugin. <a href="#a33eaf9a265bc3a055e156452112456c2">More...</a><br /></td></tr>
133 <tr class="memitem:a2c5ab12b6fa4847cb244bd1e9cb3ae5e"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a> () const </td></tr> 141 <tr class="separator:a33eaf9a265bc3a055e156452112456c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
134 <tr class="memdesc:a2c5ab12b6fa4847cb244bd1e9cb3ae5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><br/></td></tr> 142 <tr class="memitem:ab74f7634c6ac6e3da115667808a79c30"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#ab74f7634c6ac6e3da115667808a79c30">getMinChannelCount</a> () const</td></tr>
143 <tr class="memdesc:ab74f7634c6ac6e3da115667808a79c30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#ab74f7634c6ac6e3da115667808a79c30">More...</a><br /></td></tr>
144 <tr class="separator:ab74f7634c6ac6e3da115667808a79c30"><td class="memSeparator" colspan="2">&#160;</td></tr>
145 <tr class="memitem:a0bff9464bc8c117470136c396b2405dd"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0bff9464bc8c117470136c396b2405dd">getMaxChannelCount</a> () const</td></tr>
146 <tr class="memdesc:a0bff9464bc8c117470136c396b2405dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a0bff9464bc8c117470136c396b2405dd">More...</a><br /></td></tr>
147 <tr class="separator:a0bff9464bc8c117470136c396b2405dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
135 <tr class="memitem:ad064d5d132b5c9bd7064f429c3309e35"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">getOutputDescriptors</a> () const =0</td></tr> 148 <tr class="memitem:ad064d5d132b5c9bd7064f429c3309e35"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">getOutputDescriptors</a> () const =0</td></tr>
136 <tr class="memdesc:ad064d5d132b5c9bd7064f429c3309e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the outputs of this plugin. <a href="#ad064d5d132b5c9bd7064f429c3309e35"></a><br/></td></tr> 149 <tr class="memdesc:ad064d5d132b5c9bd7064f429c3309e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the outputs of this plugin. <a href="#ad064d5d132b5c9bd7064f429c3309e35">More...</a><br /></td></tr>
150 <tr class="separator:ad064d5d132b5c9bd7064f429c3309e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
137 <tr class="memitem:ae4aed3bebfe80a2e2fccd3d37af26996"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)=0</td></tr> 151 <tr class="memitem:ae4aed3bebfe80a2e2fccd3d37af26996"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)=0</td></tr>
138 <tr class="memdesc:ae4aed3bebfe80a2e2fccd3d37af26996"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process a single block of input data. <a href="#ae4aed3bebfe80a2e2fccd3d37af26996"></a><br/></td></tr> 152 <tr class="memdesc:ae4aed3bebfe80a2e2fccd3d37af26996"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process a single block of input data. <a href="#ae4aed3bebfe80a2e2fccd3d37af26996">More...</a><br /></td></tr>
153 <tr class="separator:ae4aed3bebfe80a2e2fccd3d37af26996"><td class="memSeparator" colspan="2">&#160;</td></tr>
139 <tr class="memitem:aeca2a26e658ba0314ba90d25dd2195d6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">getRemainingFeatures</a> ()=0</td></tr> 154 <tr class="memitem:aeca2a26e658ba0314ba90d25dd2195d6"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">getRemainingFeatures</a> ()=0</td></tr>
140 <tr class="memdesc:aeca2a26e658ba0314ba90d25dd2195d6"><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="#aeca2a26e658ba0314ba90d25dd2195d6"></a><br/></td></tr> 155 <tr class="memdesc:aeca2a26e658ba0314ba90d25dd2195d6"><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="#aeca2a26e658ba0314ba90d25dd2195d6">More...</a><br /></td></tr>
141 <tr class="memitem:abe13b3997a69fbcc09e2213faa352f91"><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> 156 <tr class="separator:aeca2a26e658ba0314ba90d25dd2195d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
142 <tr class="memdesc:abe13b3997a69fbcc09e2213faa352f91"><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> 157 <tr class="memitem:a530123068767a8728c568ffccfe3e4e5"><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#a530123068767a8728c568ffccfe3e4e5">getType</a> () const</td></tr>
143 <tr class="memitem:a8fd2c48291c64b790f0efb8948508dcf"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a> () const </td></tr> 158 <tr class="memdesc:a530123068767a8728c568ffccfe3e4e5"><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="#a530123068767a8728c568ffccfe3e4e5">More...</a><br /></td></tr>
144 <tr class="memdesc:a8fd2c48291c64b790f0efb8948508dcf"><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="#a8fd2c48291c64b790f0efb8948508dcf"></a><br/></td></tr> 159 <tr class="separator:a530123068767a8728c568ffccfe3e4e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
160 <tr class="memitem:ab4aa9c3e6f6dd9addbc095463c9fb772"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ab4aa9c3e6f6dd9addbc095463c9fb772">getVampApiVersion</a> () const</td></tr>
161 <tr class="memdesc:ab4aa9c3e6f6dd9addbc095463c9fb772"><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="#ab4aa9c3e6f6dd9addbc095463c9fb772">More...</a><br /></td></tr>
162 <tr class="separator:ab4aa9c3e6f6dd9addbc095463c9fb772"><td class="memSeparator" colspan="2">&#160;</td></tr>
145 <tr class="memitem:ad1c6dfc77aa03d937a885b7f08258f4a"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">getIdentifier</a> () const =0</td></tr> 163 <tr class="memitem:ad1c6dfc77aa03d937a885b7f08258f4a"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">getIdentifier</a> () const =0</td></tr>
146 <tr class="memdesc:ad1c6dfc77aa03d937a885b7f08258f4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#ad1c6dfc77aa03d937a885b7f08258f4a"></a><br/></td></tr> 164 <tr class="memdesc:ad1c6dfc77aa03d937a885b7f08258f4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#ad1c6dfc77aa03d937a885b7f08258f4a">More...</a><br /></td></tr>
165 <tr class="separator:ad1c6dfc77aa03d937a885b7f08258f4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
147 <tr class="memitem:a18619d5097e444ecefee0c359da53232"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">getName</a> () const =0</td></tr> 166 <tr class="memitem:a18619d5097e444ecefee0c359da53232"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">getName</a> () const =0</td></tr>
148 <tr class="memdesc:a18619d5097e444ecefee0c359da53232"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#a18619d5097e444ecefee0c359da53232"></a><br/></td></tr> 167 <tr class="memdesc:a18619d5097e444ecefee0c359da53232"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#a18619d5097e444ecefee0c359da53232">More...</a><br /></td></tr>
168 <tr class="separator:a18619d5097e444ecefee0c359da53232"><td class="memSeparator" colspan="2">&#160;</td></tr>
149 <tr class="memitem:a59153a02364f75fff46973b2072e9e5a"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">getDescription</a> () const =0</td></tr> 169 <tr class="memitem:a59153a02364f75fff46973b2072e9e5a"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">getDescription</a> () const =0</td></tr>
150 <tr class="memdesc:a59153a02364f75fff46973b2072e9e5a"><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="#a59153a02364f75fff46973b2072e9e5a"></a><br/></td></tr> 170 <tr class="memdesc:a59153a02364f75fff46973b2072e9e5a"><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="#a59153a02364f75fff46973b2072e9e5a">More...</a><br /></td></tr>
171 <tr class="separator:a59153a02364f75fff46973b2072e9e5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
151 <tr class="memitem:a53d9918bf9ef4d12feedf66b2b26c637"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">getMaker</a> () const =0</td></tr> 172 <tr class="memitem:a53d9918bf9ef4d12feedf66b2b26c637"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">getMaker</a> () const =0</td></tr>
152 <tr class="memdesc:a53d9918bf9ef4d12feedf66b2b26c637"><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="#a53d9918bf9ef4d12feedf66b2b26c637"></a><br/></td></tr> 173 <tr class="memdesc:a53d9918bf9ef4d12feedf66b2b26c637"><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="#a53d9918bf9ef4d12feedf66b2b26c637">More...</a><br /></td></tr>
174 <tr class="separator:a53d9918bf9ef4d12feedf66b2b26c637"><td class="memSeparator" colspan="2">&#160;</td></tr>
153 <tr class="memitem:ab7e9dedbe965f5ab9018b72920fe7661"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">getCopyright</a> () const =0</td></tr> 175 <tr class="memitem:ab7e9dedbe965f5ab9018b72920fe7661"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">getCopyright</a> () const =0</td></tr>
154 <tr class="memdesc:ab7e9dedbe965f5ab9018b72920fe7661"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#ab7e9dedbe965f5ab9018b72920fe7661"></a><br/></td></tr> 176 <tr class="memdesc:ab7e9dedbe965f5ab9018b72920fe7661"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#ab7e9dedbe965f5ab9018b72920fe7661">More...</a><br /></td></tr>
177 <tr class="separator:ab7e9dedbe965f5ab9018b72920fe7661"><td class="memSeparator" colspan="2">&#160;</td></tr>
155 <tr class="memitem:a63f686d77bc3d6b807e7944cdde83151"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">getPluginVersion</a> () const =0</td></tr> 178 <tr class="memitem:a63f686d77bc3d6b807e7944cdde83151"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">getPluginVersion</a> () const =0</td></tr>
156 <tr class="memdesc:a63f686d77bc3d6b807e7944cdde83151"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the version number of the plugin. <a href="#a63f686d77bc3d6b807e7944cdde83151"></a><br/></td></tr> 179 <tr class="memdesc:a63f686d77bc3d6b807e7944cdde83151"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the version number of the plugin. <a href="#a63f686d77bc3d6b807e7944cdde83151">More...</a><br /></td></tr>
157 <tr class="memitem:aac3e49b3b66cacfbb768dfdf07444f21"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">getParameterDescriptors</a> () const </td></tr> 180 <tr class="separator:a63f686d77bc3d6b807e7944cdde83151"><td class="memSeparator" colspan="2">&#160;</td></tr>
158 <tr class="memdesc:aac3e49b3b66cacfbb768dfdf07444f21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#aac3e49b3b66cacfbb768dfdf07444f21"></a><br/></td></tr> 181 <tr class="memitem:a0c24ff6a43c681198dc9497287a26e3a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a0c24ff6a43c681198dc9497287a26e3a">getParameterDescriptors</a> () const</td></tr>
159 <tr class="memitem:a97ababcd45348ceec998d0f8e0f38bf7"><td class="memItemLeft" align="right" valign="top">virtual float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">getParameter</a> (std::string) const </td></tr> 182 <tr class="memdesc:a0c24ff6a43c681198dc9497287a26e3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#a0c24ff6a43c681198dc9497287a26e3a">More...</a><br /></td></tr>
160 <tr class="memdesc:a97ababcd45348ceec998d0f8e0f38bf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of a named parameter. <a href="#a97ababcd45348ceec998d0f8e0f38bf7"></a><br/></td></tr> 183 <tr class="separator:a0c24ff6a43c681198dc9497287a26e3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
184 <tr class="memitem:aa813d61077080ec95487d2a0227cc51b"><td class="memItemLeft" align="right" valign="top">virtual float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aa813d61077080ec95487d2a0227cc51b">getParameter</a> (std::string) const</td></tr>
185 <tr class="memdesc:aa813d61077080ec95487d2a0227cc51b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of a named parameter. <a href="#aa813d61077080ec95487d2a0227cc51b">More...</a><br /></td></tr>
186 <tr class="separator:aa813d61077080ec95487d2a0227cc51b"><td class="memSeparator" colspan="2">&#160;</td></tr>
161 <tr class="memitem:a6c718ce822f7b73b98940d59dcaa9366"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">setParameter</a> (std::string, float)</td></tr> 187 <tr class="memitem:a6c718ce822f7b73b98940d59dcaa9366"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">setParameter</a> (std::string, float)</td></tr>
162 <tr class="memdesc:a6c718ce822f7b73b98940d59dcaa9366"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a named parameter. <a href="#a6c718ce822f7b73b98940d59dcaa9366"></a><br/></td></tr> 188 <tr class="memdesc:a6c718ce822f7b73b98940d59dcaa9366"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a named parameter. <a href="#a6c718ce822f7b73b98940d59dcaa9366">More...</a><br /></td></tr>
163 <tr class="memitem:abb307c60bdb981d5f5af50c3c4ae84af"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a> () const </td></tr> 189 <tr class="separator:a6c718ce822f7b73b98940d59dcaa9366"><td class="memSeparator" colspan="2">&#160;</td></tr>
164 <tr class="memdesc:abb307c60bdb981d5f5af50c3c4ae84af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the program settings available in this plugin. <a href="#abb307c60bdb981d5f5af50c3c4ae84af"></a><br/></td></tr> 190 <tr class="memitem:aaf6febff0ab4daf4a5089c98a67f4df8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aaf6febff0ab4daf4a5089c98a67f4df8">getPrograms</a> () const</td></tr>
165 <tr class="memitem:a24e77eccf1bdfbbca3c79bb25e8799b3"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a> () const </td></tr> 191 <tr class="memdesc:aaf6febff0ab4daf4a5089c98a67f4df8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the program settings available in this plugin. <a href="#aaf6febff0ab4daf4a5089c98a67f4df8">More...</a><br /></td></tr>
166 <tr class="memdesc:a24e77eccf1bdfbbca3c79bb25e8799b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current program. <a href="#a24e77eccf1bdfbbca3c79bb25e8799b3"></a><br/></td></tr> 192 <tr class="separator:aaf6febff0ab4daf4a5089c98a67f4df8"><td class="memSeparator" colspan="2">&#160;</td></tr>
193 <tr class="memitem:aac38c5dc6e87208616122897518ca3d5"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aac38c5dc6e87208616122897518ca3d5">getCurrentProgram</a> () const</td></tr>
194 <tr class="memdesc:aac38c5dc6e87208616122897518ca3d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current program. <a href="#aac38c5dc6e87208616122897518ca3d5">More...</a><br /></td></tr>
195 <tr class="separator:aac38c5dc6e87208616122897518ca3d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
167 <tr class="memitem:aadd3a547ef140bae200473a9518e3353"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a> (std::string)</td></tr> 196 <tr class="memitem:aadd3a547ef140bae200473a9518e3353"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a> (std::string)</td></tr>
168 <tr class="memdesc:aadd3a547ef140bae200473a9518e3353"><td class="mdescLeft">&#160;</td><td class="mdescRight">Select a program. <a href="#aadd3a547ef140bae200473a9518e3353"></a><br/></td></tr> 197 <tr class="memdesc:aadd3a547ef140bae200473a9518e3353"><td class="mdescLeft">&#160;</td><td class="mdescRight">Select a program. <a href="#aadd3a547ef140bae200473a9518e3353">More...</a><br /></td></tr>
169 <tr><td colspan="2"><h2><a name="pro-methods"></a> 198 <tr class="separator:aadd3a547ef140bae200473a9518e3353"><td class="memSeparator" colspan="2">&#160;</td></tr>
199 </table><table class="memberdecls">
200 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
170 Protected Member Functions</h2></td></tr> 201 Protected Member Functions</h2></td></tr>
171 <tr class="memitem:a1b78c4f46c72ef345ed27f0b9bf20ac9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a> (float inputSampleRate)</td></tr> 202 <tr class="memitem:a1b78c4f46c72ef345ed27f0b9bf20ac9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a> (float inputSampleRate)</td></tr>
172 <tr><td colspan="2"><h2><a name="pro-attribs"></a> 203 <tr class="separator:a1b78c4f46c72ef345ed27f0b9bf20ac9"><td class="memSeparator" colspan="2">&#160;</td></tr>
204 </table><table class="memberdecls">
205 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
173 Protected Attributes</h2></td></tr> 206 Protected Attributes</h2></td></tr>
174 <tr class="memitem:a59b9dd82a4f4eb946cd0474cc81abc23"><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> 207 <tr class="memitem:a59b9dd82a4f4eb946cd0474cc81abc23"><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>
175 </table> 208 <tr class="separator:a59b9dd82a4f4eb946cd0474cc81abc23"><td class="memSeparator" colspan="2">&#160;</td></tr>
176 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> 209 </table>
210 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
177 <div class="textblock"><p><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> is a base class for plugin instance classes that provide feature extraction from audio or related data. </p> 211 <div class="textblock"><p><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> is a base class for plugin instance classes that provide feature extraction from audio or related data. </p>
178 <p>In most cases, the input will be audio and the output will be a stream of derived data at a lower sampling resolution than the input.</p> 212 <p>In most cases, the input will be audio and the output will be a stream of derived data at a lower sampling resolution than the input.</p>
179 <p>Note that this class inherits several abstract methods from <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a>. These must be implemented by the subclass.</p> 213 <p>Note that this class inherits several abstract methods from <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc. ">PluginBase</a>. These must be implemented by the subclass.</p>
180 <p>PLUGIN LIFECYCLE</p> 214 <p>PLUGIN LIFECYCLE</p>
181 <p><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> extraction plugins are managed differently from real-time plugins (such as VST effects). The main difference is that the parameters for a feature extraction plugin are configured before the plugin is used, and do not change during use.</p> 215 <p><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> extraction plugins are managed differently from real-time plugins (such as VST effects). The main difference is that the parameters for a feature extraction plugin are configured before the plugin is used, and do not change during use.</p>
182 <ol type="1"> 216 <ol type="1">
183 <li>Host constructs the plugin, passing it the input sample rate. The plugin may do basic initialisation, but should not do anything computationally expensive at this point. You must make sure your plugin is cheap to construct, otherwise you'll seriously affect the startup performance of almost all hosts. If you have serious initialisation to do, the proper place is in <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames).">initialise()</a> (step 5).</li> 217 <li>Host constructs the plugin, passing it the input sample rate. The plugin may do basic initialisation, but should not do anything computationally expensive at this point. You must make sure your plugin is cheap to construct, otherwise you'll seriously affect the startup performance of almost all hosts. If you have serious initialisation to do, the proper place is in <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames). ">initialise()</a> (step 5).</li>
184 </ol>
185 <ol type="1">
186 <li>Host may query the plugin's available outputs.</li> 218 <li>Host may query the plugin's available outputs.</li>
187 </ol>
188 <ol type="1">
189 <li>Host queries programs and parameter descriptors, and may set some or all of them. Parameters that are not explicitly set should take their default values as specified in the parameter descriptor. When a program is set, the parameter values may change and the host will re-query them to check.</li> 219 <li>Host queries programs and parameter descriptors, and may set some or all of them. Parameters that are not explicitly set should take their default values as specified in the parameter descriptor. When a program is set, the parameter values may change and the host will re-query them to check.</li>
190 </ol>
191 <ol type="1">
192 <li>Host queries the preferred step size, block size and number of channels. These may all vary depending on the parameter values. (Note however that you cannot make the number of distinct outputs dependent on parameter values.)</li> 220 <li>Host queries the preferred step size, block size and number of channels. These may all vary depending on the parameter values. (Note however that you cannot make the number of distinct outputs dependent on parameter values.)</li>
193 </ol>
194 <ol type="1">
195 <li><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...">Plugin</a> is properly initialised with a call to initialise. This fixes the step size, block size, and number of channels, as well as all of the parameter and program settings. If the values passed in to initialise do not match the plugin's advertised preferred values from step 4, the plugin may refuse to initialise and return false (although if possible it should accept the new values). Any computationally expensive setup code should take place here.</li> 221 <li><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...">Plugin</a> is properly initialised with a call to initialise. This fixes the step size, block size, and number of channels, as well as all of the parameter and program settings. If the values passed in to initialise do not match the plugin's advertised preferred values from step 4, the plugin may refuse to initialise and return false (although if possible it should accept the new values). Any computationally expensive setup code should take place here.</li>
196 </ol>
197 <ol type="1">
198 <li>Host finally checks the number of values, resolution, extents etc per output (which may vary depending on the number of channels, step size and block size as well as the parameter values).</li> 222 <li>Host finally checks the number of values, resolution, extents etc per output (which may vary depending on the number of channels, step size and block size as well as the parameter values).</li>
199 </ol>
200 <ol type="1">
201 <li>Host will repeatedly call the process method to pass in blocks of input data. This method may return features extracted from that data (if the plugin is causal).</li> 223 <li>Host will repeatedly call the process method to pass in blocks of input data. This method may return features extracted from that data (if the plugin is causal).</li>
202 </ol>
203 <ol type="1">
204 <li>Host will call getRemainingFeatures exactly once, after all the input data has been processed. This may return any non-causal or leftover features.</li> 224 <li>Host will call getRemainingFeatures exactly once, after all the input data has been processed. This may return any non-causal or leftover features.</li>
205 </ol>
206 <ol type="1">
207 <li>At any point after initialise was called, the host may optionally call the reset method and restart processing. (This does not mean it can change the parameters, which are fixed from initialise until destruction.)</li> 225 <li>At any point after initialise was called, the host may optionally call the reset method and restart processing. (This does not mean it can change the parameters, which are fixed from initialise until destruction.)</li>
208 </ol> 226 </ol>
209 <p>A plugin does not need to handle the case where setParameter or selectProgram is called after initialise has been called. It's the host's responsibility not to do that. Similarly, the plugin may safely assume that initialise is called no more than once. </p> 227 <p>A plugin does not need to handle the case where setParameter or selectProgram is called after initialise has been called. It's the host's responsibility not to do that. Similarly, the plugin may safely assume that initialise is called no more than once. </p>
210 228
211 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00124">124</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> 229 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00124">124</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p>
212 </div><hr/><h2>Member Typedef Documentation</h2> 230 </div><h2 class="groupheader">Member Typedef Documentation</h2>
213 <a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a> 231 <a id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a>
232 <h2 class="memtitle"><span class="permalink"><a href="#a30f531b8fb69fac41a24e3d2a6a08ed9">&#9670;&nbsp;</a></span>OutputList</h2>
233
214 <div class="memitem"> 234 <div class="memitem">
215 <div class="memproto"> 235 <div class="memproto">
216 <table class="memname"> 236 <table class="memname">
217 <tr> 237 <tr>
218 <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></td> 238 <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></td>
219 </tr> 239 </tr>
220 </table> 240 </table>
221 </div> 241 </div><div class="memdoc">
222 <div class="memdoc"> 242
223 243 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00335">335</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p>
224 <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> 244
225 245 </div>
226 </div> 246 </div>
227 </div> 247 <a id="a0730bc72c87fa02eb8d2854b233f7be1"></a>
228 <a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a> 248 <h2 class="memtitle"><span class="permalink"><a href="#a0730bc72c87fa02eb8d2854b233f7be1">&#9670;&nbsp;</a></span>FeatureList</h2>
249
229 <div class="memitem"> 250 <div class="memitem">
230 <div class="memproto"> 251 <div class="memproto">
231 <table class="memname"> 252 <table class="memname">
232 <tr> 253 <tr>
233 <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></td> 254 <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></td>
234 </tr> 255 </tr>
235 </table> 256 </table>
236 </div> 257 </div><div class="memdoc">
237 <div class="memdoc"> 258
238 259 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00393">393</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p>
239 <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> 260
240 261 </div>
241 </div> 262 </div>
242 </div> 263 <a id="a448fb57dc245d47923ec9eeaf9856c5f"></a>
243 <a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a> 264 <h2 class="memtitle"><span class="permalink"><a href="#a448fb57dc245d47923ec9eeaf9856c5f">&#9670;&nbsp;</a></span>FeatureSet</h2>
265
244 <div class="memitem"> 266 <div class="memitem">
245 <div class="memproto"> 267 <div class="memproto">
246 <table class="memname"> 268 <table class="memname">
247 <tr> 269 <tr>
248 <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></td> 270 <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></td>
249 </tr> 271 </tr>
250 </table> 272 </table>
251 </div> 273 </div><div class="memdoc">
252 <div class="memdoc"> 274
253 275 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00395">395</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p>
254 <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> 276
255 277 </div>
256 </div> 278 </div>
257 </div> 279 <a id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a>
258 <a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a> 280 <h2 class="memtitle"><span class="permalink"><a href="#a3b6bb4bbd86affe1ca9deceea1aad4f8">&#9670;&nbsp;</a></span>ParameterList</h2>
259 <div class="memitem"> 281
260 <div class="memproto"> 282 <div class="memitem">
261 <table class="memname"> 283 <div class="memproto">
262 <tr> 284 <table class="mlabels">
263 <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> 285 <tr>
264 </tr> 286 <td class="mlabels-left">
265 </table> 287 <table class="memname">
266 </div> 288 <tr>
267 <div class="memdoc"> 289 <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></td>
268 290 </tr>
269 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00199">199</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> 291 </table>
270 292 </td>
271 </div> 293 <td class="mlabels-right">
272 </div> 294 <span class="mlabels"><span class="mlabel">inherited</span></span> </td>
273 <a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a> 295 </tr>
274 <div class="memitem"> 296 </table>
275 <div class="memproto"> 297 </div><div class="memdoc">
276 <table class="memname"> 298
277 <tr> 299 <p class="definition">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>
278 <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> 300
279 </tr> 301 </div>
280 </table> 302 </div>
281 </div> 303 <a id="a7f66f00437b21e5f694fe02356b12f20"></a>
282 <div class="memdoc"> 304 <h2 class="memtitle"><span class="permalink"><a href="#a7f66f00437b21e5f694fe02356b12f20">&#9670;&nbsp;</a></span>ProgramList</h2>
283 305
284 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00221">221</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> 306 <div class="memitem">
285 307 <div class="memproto">
286 </div> 308 <table class="mlabels">
287 </div> 309 <tr>
288 <hr/><h2>Member Enumeration Documentation</h2> 310 <td class="mlabels-left">
289 <a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a> 311 <table class="memname">
312 <tr>
313 <td class="memname">typedef std::vector&lt;std::string&gt; <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a></td>
314 </tr>
315 </table>
316 </td>
317 <td class="mlabels-right">
318 <span class="mlabels"><span class="mlabel">inherited</span></span> </td>
319 </tr>
320 </table>
321 </div><div class="memdoc">
322
323 <p class="definition">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>
324
325 </div>
326 </div>
327 <h2 class="groupheader">Member Enumeration Documentation</h2>
328 <a id="a39cb7649d6dcc20e4cb1640cd55907bc"></a>
329 <h2 class="memtitle"><span class="permalink"><a href="#a39cb7649d6dcc20e4cb1640cd55907bc">&#9670;&nbsp;</a></span>InputDomain</h2>
330
290 <div class="memitem"> 331 <div class="memitem">
291 <div class="memproto"> 332 <div class="memproto">
292 <table class="memname"> 333 <table class="memname">
293 <tr> 334 <tr>
294 <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a></td> 335 <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a></td>
295 </tr> 336 </tr>
296 </table> 337 </table>
297 </div> 338 </div><div class="memdoc">
298 <div class="memdoc"> 339 <table class="fieldtable">
299 <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> 340 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a>TimeDomain&#160;</td><td class="fielddoc"></td></tr>
300 <tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a>TimeDomain</em>&nbsp;</td><td> 341 <tr><td class="fieldname"><a id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a>FrequencyDomain&#160;</td><td class="fielddoc"></td></tr>
301 </td></tr> 342 </table>
302 <tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a>FrequencyDomain</em>&nbsp;</td><td> 343
303 </td></tr> 344 <p class="definition">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>
304 </table> 345
305 </dd> 346 </div>
306 </dl> 347 </div>
307 348 <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
308 <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> 349 <a id="a42d3096f9c1f58b1876024cd8d9ab80b"></a>
309 350 <h2 class="memtitle"><span class="permalink"><a href="#a42d3096f9c1f58b1876024cd8d9ab80b">&#9670;&nbsp;</a></span>~Plugin()</h2>
310 </div> 351
311 </div> 352 <div class="memitem">
312 <hr/><h2>Constructor &amp; Destructor Documentation</h2> 353 <div class="memproto">
313 <a class="anchor" id="a42d3096f9c1f58b1876024cd8d9ab80b"></a> 354 <table class="mlabels">
314 <div class="memitem"> 355 <tr>
315 <div class="memproto"> 356 <td class="mlabels-left">
316 <table class="memname"> 357 <table class="memname">
317 <tr> 358 <tr>
318 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">Vamp::Plugin::~Plugin</a> </td> 359 <td class="memname">virtual Vamp::Plugin::~Plugin </td>
319 <td>(</td> 360 <td>(</td>
320 <td class="paramname"></td><td>)</td> 361 <td class="paramname"></td><td>)</td>
321 <td><code> [inline, virtual]</code></td> 362 <td></td>
322 </tr> 363 </tr>
323 </table> 364 </table>
324 </div> 365 </td>
325 <div class="memdoc"> 366 <td class="mlabels-right">
326 367 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
327 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00127">127</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> 368 </tr>
328 369 </table>
329 </div> 370 </div><div class="memdoc">
330 </div> 371
331 <a class="anchor" id="a1b78c4f46c72ef345ed27f0b9bf20ac9"></a> 372 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00127">127</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p>
332 <div class="memitem"> 373
333 <div class="memproto"> 374 </div>
334 <table class="memname"> 375 </div>
335 <tr> 376 <a id="a1b78c4f46c72ef345ed27f0b9bf20ac9"></a>
336 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Vamp::Plugin::Plugin</a> </td> 377 <h2 class="memtitle"><span class="permalink"><a href="#a1b78c4f46c72ef345ed27f0b9bf20ac9">&#9670;&nbsp;</a></span>Plugin()</h2>
378
379 <div class="memitem">
380 <div class="memproto">
381 <table class="mlabels">
382 <tr>
383 <td class="mlabels-left">
384 <table class="memname">
385 <tr>
386 <td class="memname">Vamp::Plugin::Plugin </td>
337 <td>(</td> 387 <td>(</td>
338 <td class="paramtype">float&#160;</td> 388 <td class="paramtype">float&#160;</td>
339 <td class="paramname"><em>inputSampleRate</em></td><td>)</td> 389 <td class="paramname"><em>inputSampleRate</em></td><td>)</td>
340 <td><code> [inline, protected]</code></td> 390 <td></td>
341 </tr> 391 </tr>
342 </table> 392 </table>
343 </div> 393 </td>
344 <div class="memdoc"> 394 <td class="mlabels-right">
345 395 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
346 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00433">433</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> 396 </tr>
347 397 </table>
348 </div> 398 </div><div class="memdoc">
349 </div> 399
350 <hr/><h2>Member Function Documentation</h2> 400 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00441">441</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p>
351 <a class="anchor" id="af26212cf5fc511b603a8b48034247822"></a> 401
352 <div class="memitem"> 402 </div>
353 <div class="memproto"> 403 </div>
354 <table class="memname"> 404 <h2 class="groupheader">Member Function Documentation</h2>
355 <tr> 405 <a id="af26212cf5fc511b603a8b48034247822"></a>
356 <td class="memname">virtual bool <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">Vamp::Plugin::initialise</a> </td> 406 <h2 class="memtitle"><span class="permalink"><a href="#af26212cf5fc511b603a8b48034247822">&#9670;&nbsp;</a></span>initialise()</h2>
407
408 <div class="memitem">
409 <div class="memproto">
410 <table class="mlabels">
411 <tr>
412 <td class="mlabels-left">
413 <table class="memname">
414 <tr>
415 <td class="memname">virtual bool Vamp::Plugin::initialise </td>
357 <td>(</td> 416 <td>(</td>
358 <td class="paramtype">size_t&#160;</td> 417 <td class="paramtype">size_t&#160;</td>
359 <td class="paramname"><em>inputChannels</em>, </td> 418 <td class="paramname"><em>inputChannels</em>, </td>
360 </tr> 419 </tr>
361 <tr> 420 <tr>
371 <td class="paramname"><em>blockSize</em>&#160;</td> 430 <td class="paramname"><em>blockSize</em>&#160;</td>
372 </tr> 431 </tr>
373 <tr> 432 <tr>
374 <td></td> 433 <td></td>
375 <td>)</td> 434 <td>)</td>
376 <td></td><td><code> [pure virtual]</code></td> 435 <td></td><td></td>
377 </tr> 436 </tr>
378 </table> 437 </table>
379 </div> 438 </td>
380 <div class="memdoc"> 439 <td class="mlabels-right">
440 <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
441 </tr>
442 </table>
443 </div><div class="memdoc">
381 444
382 <p>Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames). </p> 445 <p>Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames). </p>
383 <p>The input sample rate should have been already specified at construction time.</p> 446 <p>The input sample rate should have been already specified at construction time.</p>
384 <p>Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. </p> 447 <p>Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. </p>
385 448
386 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ade0473c8fc54636431967cbf41649c1c">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a72d201eca10ec73bf16e07984f58f94c">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a1e994576d43efe103bf8f83b69716745">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#add6a2f1ee7e47bd97fa599cead14b738">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#ae2d046334c4bede5be72a0d97e4dfb29">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#aeb727e44ee8ad1aceb90964d20f8d90d">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#aab1ae16f5c68e2b319668f447908cedb">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#af21bbcc87a6eb7875dfab7d86222dccc">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#aa7500a4ffbc4653baaf5101defdb37f5">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a349c528260622308f3850bcda8a448ab">PercussionOnsetDetector</a>.</p> 449 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ade0473c8fc54636431967cbf41649c1c">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a72d201eca10ec73bf16e07984f58f94c">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a1e994576d43efe103bf8f83b69716745">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#add6a2f1ee7e47bd97fa599cead14b738">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#ae2d046334c4bede5be72a0d97e4dfb29">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#aeb727e44ee8ad1aceb90964d20f8d90d">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#aab1ae16f5c68e2b319668f447908cedb">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#af21bbcc87a6eb7875dfab7d86222dccc">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#aa7500a4ffbc4653baaf5101defdb37f5">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a349c528260622308f3850bcda8a448ab">PercussionOnsetDetector</a>.</p>
387 450
388 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> 451 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00268">runPlugin()</a>.</p>
389 452
390 </div> 453 </div>
391 </div> 454 </div>
392 <a class="anchor" id="aad67dc9d0052417511070c4ebcfbf24f"></a> 455 <a id="aad67dc9d0052417511070c4ebcfbf24f"></a>
393 <div class="memitem"> 456 <h2 class="memtitle"><span class="permalink"><a href="#aad67dc9d0052417511070c4ebcfbf24f">&#9670;&nbsp;</a></span>reset()</h2>
394 <div class="memproto"> 457
395 <table class="memname"> 458 <div class="memitem">
396 <tr> 459 <div class="memproto">
397 <td class="memname">virtual void <a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin::reset</a> </td> 460 <table class="mlabels">
398 <td>(</td> 461 <tr>
399 <td class="paramname"></td><td>)</td> 462 <td class="mlabels-left">
400 <td><code> [pure virtual]</code></td> 463 <table class="memname">
401 </tr> 464 <tr>
402 </table> 465 <td class="memname">virtual void Vamp::Plugin::reset </td>
403 </div> 466 <td>(</td>
404 <div class="memdoc"> 467 <td class="paramname"></td><td>)</td>
468 <td></td>
469 </tr>
470 </table>
471 </td>
472 <td class="mlabels-right">
473 <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
474 </tr>
475 </table>
476 </div><div class="memdoc">
405 477
406 <p>Reset the plugin after use, to prepare it for another clean run. </p> 478 <p>Reset the plugin after use, to prepare it for another clean run. </p>
407 <p>Not called for the first initialisation (i.e. initialise must also do a reset). </p> 479 <p>Not called for the first initialisation (i.e. initialise must also do a reset). </p>
408 480
409 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a131fd9fe8a1795d7370d8a721176868a">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a984a12b5b4cb0be1e2f7a0aa84106c4c">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3402381d145d507bd26d1a67e3616911">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a5d54c5bbd76bc27b7a243827148afeaa">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a091ba21e1697ea4208f42e8295c389d9">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#acebd835e80e84669df078fbd7591d8f7">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a9b5f5581691ff8f46bb7674d8d74395c">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#a9ae6c4a31ea027dceb1e97ead807e228">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#ac41708397255400c6682fee6c1b3d45f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a9b1075e992cd9599764ef3881fb91d1a">PercussionOnsetDetector</a>.</p> 481 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a131fd9fe8a1795d7370d8a721176868a">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a984a12b5b4cb0be1e2f7a0aa84106c4c">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3402381d145d507bd26d1a67e3616911">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a5d54c5bbd76bc27b7a243827148afeaa">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a091ba21e1697ea4208f42e8295c389d9">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#acebd835e80e84669df078fbd7591d8f7">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a9b5f5581691ff8f46bb7674d8d74395c">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#a9ae6c4a31ea027dceb1e97ead807e228">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#ac41708397255400c6682fee6c1b3d45f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a9b1075e992cd9599764ef3881fb91d1a">PercussionOnsetDetector</a>.</p>
410 482
411 </div> 483 </div>
412 </div> 484 </div>
413 <a class="anchor" id="ae1d317a9702cbeda65ddf0ec500c1ff6"></a> 485 <a id="ae1d317a9702cbeda65ddf0ec500c1ff6"></a>
414 <div class="memitem"> 486 <h2 class="memtitle"><span class="permalink"><a href="#ae1d317a9702cbeda65ddf0ec500c1ff6">&#9670;&nbsp;</a></span>getInputDomain()</h2>
415 <div class="memproto"> 487
416 <table class="memname"> 488 <div class="memitem">
417 <tr> 489 <div class="memproto">
418 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin::getInputDomain</a> </td> 490 <table class="mlabels">
419 <td>(</td> 491 <tr>
420 <td class="paramname"></td><td>)</td> 492 <td class="mlabels-left">
421 <td> const<code> [pure virtual]</code></td> 493 <table class="memname">
422 </tr> 494 <tr>
423 </table> 495 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::Plugin::getInputDomain </td>
424 </div> 496 <td>(</td>
425 <div class="memdoc"> 497 <td class="paramname"></td><td>)</td>
498 <td> const</td>
499 </tr>
500 </table>
501 </td>
502 <td class="mlabels-right">
503 <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
504 </tr>
505 </table>
506 </div><div class="memdoc">
426 507
427 <p>Get the plugin's required input domain. </p> 508 <p>Get the plugin's required input domain. </p>
428 <p>If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" 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> 509 <p>If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" 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>
429 <p>If this is FrequencyDomain, the host will carry out a windowed <a class="el" href="classVamp_1_1FFT.html" title="A simple FFT implementation provided for convenience of plugin authors.">FFT</a> of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a>. The input data for the <a class="el" href="classVamp_1_1FFT.html" title="A simple FFT implementation provided for convenience of plugin authors.">FFT</a> 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> 510 <p>If this is FrequencyDomain, the host will carry out a windowed <a class="el" href="classVamp_1_1FFT.html" title="A simple FFT implementation provided for convenience of plugin authors. ">FFT</a> of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data. ">process()</a>. The input data for the <a class="el" href="classVamp_1_1FFT.html" title="A simple FFT implementation provided for convenience of plugin authors. ">FFT</a> 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 &ndash; the host will either let the user do so, or will use a Hanning window. </p>
430 511
431 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8e9d25673367c741631a60cbb36e91d2">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae203faf8384c9e1fddc381409aa8a214">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#ae04e0e34847a93f3444d04c802ee56ef">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#afc07a389b5f922b944b0350fd232d2eb">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a0ec2cb74c1c5f6e57d0bd9dcf7c8f469">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#aafe2ce6ebd353a14c40db7e8e60f4051">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a055689c9b41b0945e8d3cdbc3b8c3a2e">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a4f6954267696ee5bfa7dd1c4a6cfa92a">PercussionOnsetDetector</a>.</p> 512 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27f740e3b5eb7aa4ac14f368e27222dd">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#ae1364251d4110ad9538523b3373f8d5e">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a8838facfe9d88cf36b13c1b42165fc6d">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a6550205cd5c1bb45eca69b8ddbd0cb4f">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#aa11a470900da2b800b3ab118ae81f69e">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a4c75fd6c00f79f8074f84644b4929052">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#a2fd2cefbd1564e4d30ccabd64d6555e7">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a7da277b8bf01708e2e7817ee5f4afce6">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a8c980a67814934d57e0c5de3e58a4ca2">PercussionOnsetDetector</a>.</p>
432 513
433 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> 514 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00268">runPlugin()</a>.</p>
434 515
435 </div> 516 </div>
436 </div> 517 </div>
437 <a class="anchor" id="aa529adf83f87a603954eb31407602aac"></a> 518 <a id="ae3b9c32b12796ece152388babad7cc7d"></a>
438 <div class="memitem"> 519 <h2 class="memtitle"><span class="permalink"><a href="#ae3b9c32b12796ece152388babad7cc7d">&#9670;&nbsp;</a></span>getPreferredBlockSize()</h2>
439 <div class="memproto"> 520
440 <table class="memname"> 521 <div class="memitem">
441 <tr> 522 <div class="memproto">
442 <td class="memname">virtual size_t <a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">Vamp::Plugin::getPreferredBlockSize</a> </td> 523 <table class="mlabels">
443 <td>(</td> 524 <tr>
444 <td class="paramname"></td><td>)</td> 525 <td class="mlabels-left">
445 <td> const<code> [inline, virtual]</code></td> 526 <table class="memname">
446 </tr> 527 <tr>
447 </table> 528 <td class="memname">virtual size_t Vamp::Plugin::getPreferredBlockSize </td>
448 </div> 529 <td>(</td>
449 <div class="memdoc"> 530 <td class="paramname"></td><td>)</td>
450 531 <td> const</td>
451 <p>Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). </p> 532 </tr>
452 <p>This should be called before <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames).">initialise()</a>.</p> 533 </table>
453 <p>A plugin that can handle any block size may return 0. The final block size will be set in the <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames).">initialise()</a> call. </p> 534 </td>
454 535 <td class="mlabels-right">
455 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a21e45180b19873f9ab69fe7a4e184a03">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#ad5e0ea8042bdec4dd18428991117e07a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#a68b8569b71504a0478caf990dbe30683">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a410c0b47c6c849d7ed9b726b84402ad0">PercussionOnsetDetector</a>.</p> 536 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
456 537 </tr>
457 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00179">179</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> 538 </table>
458 539 </div><div class="memdoc">
459 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> 540
460 541 <p>Get the preferred block size (window size &ndash; the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data. ">process()</a> function). </p>
461 </div> 542 <p>This should be called before <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames). ">initialise()</a>.</p>
462 </div> 543 <p>A plugin that can handle any block size may return 0. The final block size will be set in the <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames). ">initialise()</a> call. </p>
463 <a class="anchor" id="a514c716c22f81c055f19b56c3f882567"></a> 544
464 <div class="memitem"> 545 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a39dd1770dd0a737ff295d70082d86fd3">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a030b94dc3af4228a518f860952148bdd">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a9ee8ecc8406f633c68e9aa1516700332">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a94f855a2cf674ccc2e7315484f706d68">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#a9a2706b057bb269531f5c2797c42ddf4">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#abacdc27486aab9b37d1a51e35e6a9444">PercussionOnsetDetector</a>.</p>
465 <div class="memproto"> 546
466 <table class="memname"> 547 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00179">179</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p>
467 <tr> 548
468 <td class="memname">virtual size_t <a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">Vamp::Plugin::getPreferredStepSize</a> </td> 549 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00268">runPlugin()</a>.</p>
469 <td>(</td> 550
470 <td class="paramname"></td><td>)</td> 551 </div>
471 <td> const<code> [inline, virtual]</code></td> 552 </div>
472 </tr> 553 <a id="a33eaf9a265bc3a055e156452112456c2"></a>
473 </table> 554 <h2 class="memtitle"><span class="permalink"><a href="#a33eaf9a265bc3a055e156452112456c2">&#9670;&nbsp;</a></span>getPreferredStepSize()</h2>
474 </div> 555
475 <div class="memdoc"> 556 <div class="memitem">
476 557 <div class="memproto">
477 <p>Get the preferred step size (window increment -- the distance in sample frames between the start frames of consecutive blocks passed to the <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. </p> 558 <table class="mlabels">
478 <p>This should be called before <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames).">initialise()</a>.</p> 559 <tr>
479 <p>A plugin may return 0 if it has no particular interest in the step size. In this case, the host should make the step size equal to the block size if the plugin is accepting input in the time domain. If the plugin is accepting input in the frequency domain, the host may use any step size. The final step size will be set in the <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames).">initialise()</a> call. </p> 560 <td class="mlabels-left">
480 561 <table class="memname">
481 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ad979af9f1cbf2eeb16f4eaedb4a4f565">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a859ad5d59402691daed3cf1af1899ebe">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#ad450bb7e7df559ae3d68dfbfb085676f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a733824891e11c306a7a678534b89b968">PercussionOnsetDetector</a>.</p> 562 <tr>
482 563 <td class="memname">virtual size_t Vamp::Plugin::getPreferredStepSize </td>
483 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00194">194</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> 564 <td>(</td>
484 565 <td class="paramname"></td><td>)</td>
485 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> 566 <td> const</td>
486 567 </tr>
487 </div> 568 </table>
488 </div> 569 </td>
489 <a class="anchor" id="a267b42e866df3cf0d190893e8096f525"></a> 570 <td class="mlabels-right">
490 <div class="memitem"> 571 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
491 <div class="memproto"> 572 </tr>
492 <table class="memname"> 573 </table>
493 <tr> 574 </div><div class="memdoc">
494 <td class="memname">virtual size_t <a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">Vamp::Plugin::getMinChannelCount</a> </td> 575
495 <td>(</td> 576 <p>Get the preferred step size (window increment &ndash; the distance in sample frames between the start frames of consecutive blocks passed to the <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data. ">process()</a> function) for the plugin. </p>
496 <td class="paramname"></td><td>)</td> 577 <p>This should be called before <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames). ">initialise()</a>.</p>
497 <td> const<code> [inline, virtual]</code></td> 578 <p>A plugin may return 0 if it has no particular interest in the step size. In this case, the host should make the step size equal to the block size if the plugin is accepting input in the time domain. If the plugin is accepting input in the frequency domain, the host may use any step size. The final step size will be set in the <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames). ">initialise()</a> call. </p>
498 </tr> 579
499 </table> 580 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ac7b43a08f1b1f42ed871fd6962c570f4">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a344c85cc017c97bf4f0f144e7d6e0f42">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#acb6b82c61ebac4610a8b92f94cd50682">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#adf2ea98d6eeb0435c0c8d7cdc29fed7c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#ac7c25bbeeef013210f4ab808ad12b659">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a0ad851545302fc87e8226104584667a0">PercussionOnsetDetector</a>.</p>
500 </div> 581
501 <div class="memdoc"> 582 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00194">194</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p>
583
584 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00268">runPlugin()</a>.</p>
585
586 </div>
587 </div>
588 <a id="ab74f7634c6ac6e3da115667808a79c30"></a>
589 <h2 class="memtitle"><span class="permalink"><a href="#ab74f7634c6ac6e3da115667808a79c30">&#9670;&nbsp;</a></span>getMinChannelCount()</h2>
590
591 <div class="memitem">
592 <div class="memproto">
593 <table class="mlabels">
594 <tr>
595 <td class="mlabels-left">
596 <table class="memname">
597 <tr>
598 <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td>
599 <td>(</td>
600 <td class="paramname"></td><td>)</td>
601 <td> const</td>
602 </tr>
603 </table>
604 </td>
605 <td class="mlabels-right">
606 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
607 </tr>
608 </table>
609 </div><div class="memdoc">
502 610
503 <p>Get the minimum supported number of input channels. </p> 611 <p>Get the minimum supported number of input channels. </p>
504 612
505 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a67d1198c0e58d3f0076d0eda599ff28d">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">Vamp::HostExt::PluginWrapper</a>.</p> 613 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8e7f62e03adea0321080839f6ef6c77b">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#abc0a4e6ce0ae9de39c40725de1f30d2f">Vamp::HostExt::PluginWrapper</a>.</p>
506 614
507 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00199">199</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> 615 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00199">199</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p>
508 616
509 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> 617 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00106">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00095">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00268">runPlugin()</a>.</p>
510 618
511 </div> 619 </div>
512 </div> 620 </div>
513 <a class="anchor" id="a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a> 621 <a id="a0bff9464bc8c117470136c396b2405dd"></a>
514 <div class="memitem"> 622 <h2 class="memtitle"><span class="permalink"><a href="#a0bff9464bc8c117470136c396b2405dd">&#9670;&nbsp;</a></span>getMaxChannelCount()</h2>
515 <div class="memproto"> 623
516 <table class="memname"> 624 <div class="memitem">
517 <tr> 625 <div class="memproto">
518 <td class="memname">virtual size_t <a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">Vamp::Plugin::getMaxChannelCount</a> </td> 626 <table class="mlabels">
519 <td>(</td> 627 <tr>
520 <td class="paramname"></td><td>)</td> 628 <td class="mlabels-left">
521 <td> const<code> [inline, virtual]</code></td> 629 <table class="memname">
522 </tr> 630 <tr>
523 </table> 631 <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td>
524 </div> 632 <td>(</td>
525 <div class="memdoc"> 633 <td class="paramname"></td><td>)</td>
634 <td> const</td>
635 </tr>
636 </table>
637 </td>
638 <td class="mlabels-right">
639 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
640 </tr>
641 </table>
642 </div><div class="memdoc">
526 643
527 <p>Get the maximum supported number of input channels. </p> 644 <p>Get the maximum supported number of input channels. </p>
528 645
529 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a25091905e97e39d515d8ffc1a9f2b9e0">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">Vamp::HostExt::PluginWrapper</a>.</p> 646 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a626ad6e35eb0f4ed93bc3c6d976cdca4">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#acfed040cd91e797ee89d077db22b4a97">Vamp::HostExt::PluginWrapper</a>.</p>
530 647
531 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00204">204</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> 648 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00204">204</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p>
532 649
533 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> 650 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00106">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00095">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00268">runPlugin()</a>.</p>
534 651
535 </div> 652 </div>
536 </div> 653 </div>
537 <a class="anchor" id="ad064d5d132b5c9bd7064f429c3309e35"></a> 654 <a id="ad064d5d132b5c9bd7064f429c3309e35"></a>
538 <div class="memitem"> 655 <h2 class="memtitle"><span class="permalink"><a href="#ad064d5d132b5c9bd7064f429c3309e35">&#9670;&nbsp;</a></span>getOutputDescriptors()</h2>
539 <div class="memproto"> 656
540 <table class="memname"> 657 <div class="memitem">
541 <tr> 658 <div class="memproto">
542 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> <a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin::getOutputDescriptors</a> </td> 659 <table class="mlabels">
543 <td>(</td> 660 <tr>
544 <td class="paramname"></td><td>)</td> 661 <td class="mlabels-left">
545 <td> const<code> [pure virtual]</code></td> 662 <table class="memname">
546 </tr> 663 <tr>
547 </table> 664 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::Plugin::getOutputDescriptors </td>
548 </div> 665 <td>(</td>
549 <div class="memdoc"> 666 <td class="paramname"></td><td>)</td>
667 <td> const</td>
668 </tr>
669 </table>
670 </td>
671 <td class="mlabels-right">
672 <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
673 </tr>
674 </table>
675 </div><div class="memdoc">
550 676
551 <p>Get the outputs of this plugin. </p> 677 <p>Get the outputs of this plugin. </p>
552 <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_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> call. </p> 678 <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_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data. ">process()</a> call. </p>
553 679
554 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#af8cc914897a284433de220f1153f3845">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a9649a113da0252fe8bd9fc731b047ae0">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a9411305f713b4c9827844b89acd270">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#a83121c205a723fe6297e2bf8870622a4">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#aa4537aa0eb58a67d6e824d46924cf782">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#a6aac5f93e3a8c033026d739fed427242">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a043e3c3db77d76267cd8069e1485bf26">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a894ca9740927102bb80b56b5e9e95877">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#ac9d590a6feb1fc9a37d7892aefe2b688">ZeroCrossing</a>.</p> 680 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#ac17520cdd29a57d320ca65066ec2636c">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#ad799e6317c4caf1a1c55b172ed6cc1fc">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#af67a6cd3afa18895393ec8d4bdec3b4c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#af8d3aaa1025078a6ee004f615cc68cbb">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#a9518f60b3b0bf6c31c51c0aaffc599c9">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#a75a374270a4f22c8104db3e815ff6d7b">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a3e7f3c93c66f161e9b37e7f2aff1fe60">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#af77b30128e071e99d0dd374a3b2fe928">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#ab83cfab3f9674920e295c2f3571bb24e">ZeroCrossing</a>.</p>
555 681
556 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> 682 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00268">runPlugin()</a>.</p>
557 683
558 </div> 684 </div>
559 </div> 685 </div>
560 <a class="anchor" id="ae4aed3bebfe80a2e2fccd3d37af26996"></a> 686 <a id="ae4aed3bebfe80a2e2fccd3d37af26996"></a>
561 <div class="memitem"> 687 <h2 class="memtitle"><span class="permalink"><a href="#ae4aed3bebfe80a2e2fccd3d37af26996">&#9670;&nbsp;</a></span>process()</h2>
562 <div class="memproto"> 688
563 <table class="memname"> 689 <div class="memitem">
564 <tr> 690 <div class="memproto">
565 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin::process</a> </td> 691 <table class="mlabels">
692 <tr>
693 <td class="mlabels-left">
694 <table class="memname">
695 <tr>
696 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::Plugin::process </td>
566 <td>(</td> 697 <td>(</td>
567 <td class="paramtype">const float *const *&#160;</td> 698 <td class="paramtype">const float *const *&#160;</td>
568 <td class="paramname"><em>inputBuffers</em>, </td> 699 <td class="paramname"><em>inputBuffers</em>, </td>
569 </tr> 700 </tr>
570 <tr> 701 <tr>
574 <td class="paramname"><em>timestamp</em>&#160;</td> 705 <td class="paramname"><em>timestamp</em>&#160;</td>
575 </tr> 706 </tr>
576 <tr> 707 <tr>
577 <td></td> 708 <td></td>
578 <td>)</td> 709 <td>)</td>
579 <td></td><td><code> [pure virtual]</code></td> 710 <td></td><td></td>
580 </tr> 711 </tr>
581 </table> 712 </table>
582 </div> 713 </td>
583 <div class="memdoc"> 714 <td class="mlabels-right">
715 <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
716 </tr>
717 </table>
718 </div><div class="memdoc">
584 719
585 <p>Process a single block of input data. </p> 720 <p>Process a single block of input data. </p>
586 <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> 721 <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>
587 <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 <a class="el" href="classVamp_1_1FFT.html" title="A simple FFT implementation provided for convenience of plugin authors.">FFT</a> 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 <a class="el" href="classVamp_1_1FFT.html" title="A simple FFT implementation provided for convenience of plugin authors.">FFT</a> input window (i.e. the very first block passed to process might contain the <a class="el" href="classVamp_1_1FFT.html" title="A simple FFT implementation provided for convenience of plugin authors.">FFT</a> of half a block of zero samples and the first half-block of the actual data, with a timestamp of zero).</p> 722 <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 <a class="el" href="classVamp_1_1FFT.html" title="A simple FFT implementation provided for convenience of plugin authors. ">FFT</a> 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 <a class="el" href="classVamp_1_1FFT.html" title="A simple FFT implementation provided for convenience of plugin authors. ">FFT</a> input window (i.e. the very first block passed to process might contain the <a class="el" href="classVamp_1_1FFT.html" title="A simple FFT implementation provided for convenience of plugin authors. ">FFT</a> of half a block of zero samples and the first half-block of the actual data, with a timestamp of zero).</p>
588 <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> 723 <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>
589 724
590 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a55058a20c1f8bffc0dc927350df778a0">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a6ff37bf754ff8711dbcb2f020fa3902c">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a38fe1080b343ba10e5d8a4b30c87cbdd">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3314b456a4780601c021dac25b478846">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#a1cf76b0e55cf4ed3da095cffcdeaec3c">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614">PercussionOnsetDetector</a>, <a class="el" href="classAmplitudeFollower.html#a48d0f95cac31ffd190cff89b50a2a5bd">AmplitudeFollower</a>, <a class="el" href="classPowerSpectrum.html#aa5664ffc2b37a16db471fae791c1f55f">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#aca96c70e7e75c9e4a7db38485018914c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#abf4aaa6fd8cc03de63f4e1e8942633da">ZeroCrossing</a>.</p> 725 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a55058a20c1f8bffc0dc927350df778a0">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a6ff37bf754ff8711dbcb2f020fa3902c">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a38fe1080b343ba10e5d8a4b30c87cbdd">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3314b456a4780601c021dac25b478846">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#a1cf76b0e55cf4ed3da095cffcdeaec3c">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614">PercussionOnsetDetector</a>, <a class="el" href="classAmplitudeFollower.html#a48d0f95cac31ffd190cff89b50a2a5bd">AmplitudeFollower</a>, <a class="el" href="classPowerSpectrum.html#aa5664ffc2b37a16db471fae791c1f55f">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#aca96c70e7e75c9e4a7db38485018914c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#abf4aaa6fd8cc03de63f4e1e8942633da">ZeroCrossing</a>.</p>
591 726
592 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> 727 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00268">runPlugin()</a>.</p>
593 728
594 </div> 729 </div>
595 </div> 730 </div>
596 <a class="anchor" id="aeca2a26e658ba0314ba90d25dd2195d6"></a> 731 <a id="aeca2a26e658ba0314ba90d25dd2195d6"></a>
597 <div class="memitem"> 732 <h2 class="memtitle"><span class="permalink"><a href="#aeca2a26e658ba0314ba90d25dd2195d6">&#9670;&nbsp;</a></span>getRemainingFeatures()</h2>
598 <div class="memproto"> 733
599 <table class="memname"> 734 <div class="memitem">
600 <tr> 735 <div class="memproto">
601 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin::getRemainingFeatures</a> </td> 736 <table class="mlabels">
602 <td>(</td> 737 <tr>
603 <td class="paramname"></td><td>)</td> 738 <td class="mlabels-left">
604 <td><code> [pure virtual]</code></td> 739 <table class="memname">
605 </tr> 740 <tr>
606 </table> 741 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::Plugin::getRemainingFeatures </td>
607 </div> 742 <td>(</td>
608 <div class="memdoc"> 743 <td class="paramname"></td><td>)</td>
744 <td></td>
745 </tr>
746 </table>
747 </td>
748 <td class="mlabels-right">
749 <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
750 </tr>
751 </table>
752 </div><div class="memdoc">
609 753
610 <p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p> 754 <p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p>
611 755
612 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a28423951b2eda1a1fc371485434f417b">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a984a4c11f3fbdcfd90e4837b1619a5ab">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ae9dcbd1ba8197ff90b4fc6bf7ade7688">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2bc8c0992e64f06991fb7cf89f99857e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#a4965cf99be77fc4d1de51e11d83936b0">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#ad3d6767ed137783e84f842b4d4732ffa">PercussionOnsetDetector</a>, <a class="el" href="classAmplitudeFollower.html#a368606f643b88e0df0823d85e36f030c">AmplitudeFollower</a>, <a class="el" href="classPowerSpectrum.html#ac8a9661a785d38f4c5ce8ca2d53e69f9">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#a83ba39f0870a2f86837605a958dfab1a">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#a70996d1b7166e303903daf92a9a37ad8">ZeroCrossing</a>.</p> 756 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a28423951b2eda1a1fc371485434f417b">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a984a4c11f3fbdcfd90e4837b1619a5ab">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ae9dcbd1ba8197ff90b4fc6bf7ade7688">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2bc8c0992e64f06991fb7cf89f99857e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#a4965cf99be77fc4d1de51e11d83936b0">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#ad3d6767ed137783e84f842b4d4732ffa">PercussionOnsetDetector</a>, <a class="el" href="classAmplitudeFollower.html#a368606f643b88e0df0823d85e36f030c">AmplitudeFollower</a>, <a class="el" href="classPowerSpectrum.html#ac8a9661a785d38f4c5ce8ca2d53e69f9">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#a83ba39f0870a2f86837605a958dfab1a">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#a70996d1b7166e303903daf92a9a37ad8">ZeroCrossing</a>.</p>
613 757
614 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> 758 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00268">runPlugin()</a>.</p>
615 759
616 </div> 760 </div>
617 </div> 761 </div>
618 <a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a> 762 <a id="a530123068767a8728c568ffccfe3e4e5"></a>
619 <div class="memitem"> 763 <h2 class="memtitle"><span class="permalink"><a href="#a530123068767a8728c568ffccfe3e4e5">&#9670;&nbsp;</a></span>getType()</h2>
620 <div class="memproto"> 764
621 <table class="memname"> 765 <div class="memitem">
622 <tr> 766 <div class="memproto">
623 <td class="memname">virtual std::string <a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">Vamp::Plugin::getType</a> </td> 767 <table class="mlabels">
624 <td>(</td> 768 <tr>
625 <td class="paramname"></td><td>)</td> 769 <td class="mlabels-left">
626 <td> const<code> [inline, virtual]</code></td> 770 <table class="memname">
627 </tr> 771 <tr>
628 </table> 772 <td class="memname">virtual std::string Vamp::Plugin::getType </td>
629 </div> 773 <td>(</td>
630 <div class="memdoc"> 774 <td class="paramname"></td><td>)</td>
631 775 <td> const</td>
632 <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> 776 </tr>
777 </table>
778 </td>
779 <td class="mlabels-right">
780 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
781 </tr>
782 </table>
783 </div><div class="memdoc">
784
785 <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>
633 <p>Do not reimplement this function in your subclass. </p> 786 <p>Do not reimplement this function in your subclass. </p>
634 787
635 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> 788 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p>
636 789
637 <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> 790 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00438">438</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p>
638 791
639 </div> 792 </div>
640 </div> 793 </div>
641 <a class="anchor" id="a8fd2c48291c64b790f0efb8948508dcf"></a> 794 <a id="ab4aa9c3e6f6dd9addbc095463c9fb772"></a>
642 <div class="memitem"> 795 <h2 class="memtitle"><span class="permalink"><a href="#ab4aa9c3e6f6dd9addbc095463c9fb772">&#9670;&nbsp;</a></span>getVampApiVersion()</h2>
643 <div class="memproto"> 796
644 <table class="memname"> 797 <div class="memitem">
645 <tr> 798 <div class="memproto">
646 <td class="memname">virtual unsigned int <a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">Vamp::PluginBase::getVampApiVersion</a> </td> 799 <table class="mlabels">
647 <td>(</td> 800 <tr>
648 <td class="paramname"></td><td>)</td> 801 <td class="mlabels-left">
649 <td> const<code> [inline, virtual, inherited]</code></td> 802 <table class="memname">
650 </tr> 803 <tr>
651 </table> 804 <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td>
652 </div> 805 <td>(</td>
653 <div class="memdoc"> 806 <td class="paramname"></td><td>)</td>
807 <td> const</td>
808 </tr>
809 </table>
810 </td>
811 <td class="mlabels-right">
812 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
813 </tr>
814 </table>
815 </div><div class="memdoc">
654 816
655 <p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p> 817 <p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p>
656 818
657 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a98aadddc8403eb46c9d8c5a9d1fdd19e">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">Vamp::HostExt::PluginWrapper</a>.</p> 819 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#adc708325d057516bd92d5ea1c0808dbc">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#afa79272f991fb720ddd09784be1b3cb8">Vamp::HostExt::PluginWrapper</a>.</p>
658 820
659 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00068">68</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> 821 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00068">68</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>
660 822
661 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> 823 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>.</p>
662 824
663 </div> 825 </div>
664 </div> 826 </div>
665 <a class="anchor" id="ad1c6dfc77aa03d937a885b7f08258f4a"></a> 827 <a id="ad1c6dfc77aa03d937a885b7f08258f4a"></a>
666 <div class="memitem"> 828 <h2 class="memtitle"><span class="permalink"><a href="#ad1c6dfc77aa03d937a885b7f08258f4a">&#9670;&nbsp;</a></span>getIdentifier()</h2>
667 <div class="memproto"> 829
668 <table class="memname"> 830 <div class="memitem">
669 <tr> 831 <div class="memproto">
670 <td class="memname">virtual std::string <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase::getIdentifier</a> </td> 832 <table class="mlabels">
671 <td>(</td> 833 <tr>
672 <td class="paramname"></td><td>)</td> 834 <td class="mlabels-left">
673 <td> const<code> [pure virtual, inherited]</code></td> 835 <table class="memname">
674 </tr> 836 <tr>
675 </table> 837 <td class="memname">virtual std::string Vamp::PluginBase::getIdentifier </td>
676 </div> 838 <td>(</td>
677 <div class="memdoc"> 839 <td class="paramname"></td><td>)</td>
840 <td> const</td>
841 </tr>
842 </table>
843 </td>
844 <td class="mlabels-right">
845 <span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
846 </tr>
847 </table>
848 </div><div class="memdoc">
678 849
679 <p>Get the computer-usable name of the plugin. </p> 850 <p>Get the computer-usable name of the plugin. </p>
680 <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> 851 <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>
681 <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> 852 <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>
682 <p>Example: "zero_crossings" </p> 853 <p>Example: "zero_crossings" </p>
683 854
684 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ab27423a656f878d97d2ad2eba4e76c7a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a9e9d8349461cbb88d7565a5e8c51b64e">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#afe7576af95c8fcc7f5bad42eec9f9f29">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a1b2c4c8440c024c4c635fcef5697949f">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#af2baf9e19fcdd11cfe97ace56d4f5c1a">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#ab818edcf1555177d10260e197e3a5e7a">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a267c83a7533146c127e2c3be310e0154">PercussionOnsetDetector</a>.</p> 855 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a68749b61d8a4e322d7ce6662347817ca">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad9312a38c199004c7bad0c42f590393f">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a885e87df9fbb4e6cb2fff69116122326">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#ad77b59b8e8bc0f415edab073f2e5edef">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a4992d03772a228015ee2f8174f1bf06e">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#af5049a01a3f003f17a45c61b599c6543">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a149f40bbccc3cf3bc05f35e32e6cedac">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#ac1bb968a3632083e55e4d236310b9cdb">PercussionOnsetDetector</a>.</p>
685 856
686 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> 857 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00268">runPlugin()</a>.</p>
687 858
688 </div> 859 </div>
689 </div> 860 </div>
690 <a class="anchor" id="a18619d5097e444ecefee0c359da53232"></a> 861 <a id="a18619d5097e444ecefee0c359da53232"></a>
691 <div class="memitem"> 862 <h2 class="memtitle"><span class="permalink"><a href="#a18619d5097e444ecefee0c359da53232">&#9670;&nbsp;</a></span>getName()</h2>
692 <div class="memproto"> 863
693 <table class="memname"> 864 <div class="memitem">
694 <tr> 865 <div class="memproto">
695 <td class="memname">virtual std::string <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase::getName</a> </td> 866 <table class="mlabels">
696 <td>(</td> 867 <tr>
697 <td class="paramname"></td><td>)</td> 868 <td class="mlabels-left">
698 <td> const<code> [pure virtual, inherited]</code></td> 869 <table class="memname">
699 </tr> 870 <tr>
700 </table> 871 <td class="memname">virtual std::string Vamp::PluginBase::getName </td>
701 </div> 872 <td>(</td>
702 <div class="memdoc"> 873 <td class="paramname"></td><td>)</td>
874 <td> const</td>
875 </tr>
876 </table>
877 </td>
878 <td class="mlabels-right">
879 <span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
880 </tr>
881 </table>
882 </div><div class="memdoc">
703 883
704 <p>Get a human-readable name or title of the plugin. </p> 884 <p>Get a human-readable name or title of the plugin. </p>
705 <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> 885 <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>
706 <p>Example: "Zero Crossings" </p> 886 <p>Example: "Zero Crossings" </p>
707 887
708 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a45f1d0377e233eeddd1b7cefb48be62a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#ac9214f9cafeeed3fca549c90aef57623">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a7cfed00bc9d96ba6c709b69ab6a40594">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#ab7e6a620fea568af431be3cfd9dd5a41">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#afa96f7ce6e7d9f03768f48c6a9d88498">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#af9eb6fa8a98aa66b55e64e1795f9405f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#aa98f1ad061a11af98c054011a8844e6f">PercussionOnsetDetector</a>.</p> 888 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a6276b0838a3a9ac155d295cae0e7bb67">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa2b40de6e240d872997a63dd4a301ff3">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a8f3d7d654e6aad23f307ef46dd9e70cb">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a4a4ea5c0b2e30b420646aa78571176c2">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#aa6236ae7400468b8d23d57f8bbb917a9">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#a191365f793e6488d02d57029eb14deb2">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#aad3f044387fb8fd4dbadca8f397dd798">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a9b8532bfd1a6053682db3ce15b1890da">PercussionOnsetDetector</a>.</p>
709 889
710 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00797">printPluginCategoryList()</a>.</p> 890 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00828">printPluginCategoryList()</a>.</p>
711 891
712 </div> 892 </div>
713 </div> 893 </div>
714 <a class="anchor" id="a59153a02364f75fff46973b2072e9e5a"></a> 894 <a id="a59153a02364f75fff46973b2072e9e5a"></a>
715 <div class="memitem"> 895 <h2 class="memtitle"><span class="permalink"><a href="#a59153a02364f75fff46973b2072e9e5a">&#9670;&nbsp;</a></span>getDescription()</h2>
716 <div class="memproto"> 896
717 <table class="memname"> 897 <div class="memitem">
718 <tr> 898 <div class="memproto">
719 <td class="memname">virtual std::string <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase::getDescription</a> </td> 899 <table class="mlabels">
720 <td>(</td> 900 <tr>
721 <td class="paramname"></td><td>)</td> 901 <td class="mlabels-left">
722 <td> const<code> [pure virtual, inherited]</code></td> 902 <table class="memname">
723 </tr> 903 <tr>
724 </table> 904 <td class="memname">virtual std::string Vamp::PluginBase::getDescription </td>
725 </div> 905 <td>(</td>
726 <div class="memdoc"> 906 <td class="paramname"></td><td>)</td>
907 <td> const</td>
908 </tr>
909 </table>
910 </td>
911 <td class="mlabels-right">
912 <span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
913 </tr>
914 </table>
915 </div><div class="memdoc">
727 916
728 <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> 917 <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>
729 <p>May be empty if the name has said it all already.</p> 918 <p>May be empty if the name has said it all already.</p>
730 <p>Example: "Detect and count zero crossing points" </p> 919 <p>Example: "Detect and count zero crossing points" </p>
731 920
732 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a5eaafcef030e81b90a3e77cf16cf8ae1">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a7b48d56dc954f3af344f7e4dcd8993e5">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a6f0f2fea1fdb4b51e688edfe859d5062">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a8fbb74a46283057d9a0b0e4718ee943c">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#a710bb0b013157adaeef2a9e6867b4478">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a06b00853f00c2e78d490697fcd7d1920">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a9061d189705802a48973a7ccab6360db">PercussionOnsetDetector</a>.</p> 921 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#aae795d71594901243de8cda96d871fc8">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad6e453c30b265a2daf243f953b35c815">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a0740aaee10568b4e21903ccd5a764e2a">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#aad780ea62291ef94925d6f4d1cc3f4ac">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#ac4a840f9b3c92e0acbcc7d262e841b59">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#a7ba1cfd102a427f8333ddfa2fe234d58">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a4e48cbf0eedb001c0824db864ee4d942">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a4ea74f76e302c53ced7508bc8388487b">PercussionOnsetDetector</a>.</p>
733 922
734 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00797">printPluginCategoryList()</a>.</p> 923 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00828">printPluginCategoryList()</a>.</p>
735 924
736 </div> 925 </div>
737 </div> 926 </div>
738 <a class="anchor" id="a53d9918bf9ef4d12feedf66b2b26c637"></a> 927 <a id="a53d9918bf9ef4d12feedf66b2b26c637"></a>
739 <div class="memitem"> 928 <h2 class="memtitle"><span class="permalink"><a href="#a53d9918bf9ef4d12feedf66b2b26c637">&#9670;&nbsp;</a></span>getMaker()</h2>
740 <div class="memproto"> 929
741 <table class="memname"> 930 <div class="memitem">
742 <tr> 931 <div class="memproto">
743 <td class="memname">virtual std::string <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase::getMaker</a> </td> 932 <table class="mlabels">
744 <td>(</td> 933 <tr>
745 <td class="paramname"></td><td>)</td> 934 <td class="mlabels-left">
746 <td> const<code> [pure virtual, inherited]</code></td> 935 <table class="memname">
747 </tr> 936 <tr>
748 </table> 937 <td class="memname">virtual std::string Vamp::PluginBase::getMaker </td>
749 </div> 938 <td>(</td>
750 <div class="memdoc"> 939 <td class="paramname"></td><td>)</td>
940 <td> const</td>
941 </tr>
942 </table>
943 </td>
944 <td class="mlabels-right">
945 <span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
946 </tr>
947 </table>
948 </div><div class="memdoc">
751 949
752 <p>Get the name of the author or vendor of the plugin in human-readable form. </p> 950 <p>Get the name of the author or vendor of the plugin in human-readable form. </p>
753 <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> 951 <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>
754 952
755 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#af572be0b175f5661559006a380a0f3db">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a9f3e3f759e2b67c771a41f1c276984b2">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a44fc43838f203f58bc2ce6e3cb2b03dd">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#ac01ff858bf67e2e93ad5d24a6ba8c8c8">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#ac68561634a3c329a029c2fd3deaeae2a">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#ae910d1b9250b11097fd6b51cd8285b68">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a63d63f2cb7ea8d8b09d58cc13b541375">PercussionOnsetDetector</a>.</p> 953 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ac906c3a0eef77f545fb4dad2456ee2b4">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#af9b2f01063828ef0745dc2623fc8dd42">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a55764eb41af953c36339c4cade238be2">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#ac7a9db3ec7daa0e9bd83106bbf641777">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a9bab5a013a818e286eb4894f9874fee1">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#a9ddf295d977b6c64d8acd34b7e0ce1b0">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a5ade364056e5ff7c3e2978d9a75a2988">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a1ef108aac025c3f2c3201fd9f43b6a6b">PercussionOnsetDetector</a>.</p>
756 954
757 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00797">printPluginCategoryList()</a>.</p> 955 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00828">printPluginCategoryList()</a>.</p>
758 956
759 </div> 957 </div>
760 </div> 958 </div>
761 <a class="anchor" id="ab7e9dedbe965f5ab9018b72920fe7661"></a> 959 <a id="ab7e9dedbe965f5ab9018b72920fe7661"></a>
762 <div class="memitem"> 960 <h2 class="memtitle"><span class="permalink"><a href="#ab7e9dedbe965f5ab9018b72920fe7661">&#9670;&nbsp;</a></span>getCopyright()</h2>
763 <div class="memproto"> 961
764 <table class="memname"> 962 <div class="memitem">
765 <tr> 963 <div class="memproto">
766 <td class="memname">virtual std::string <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase::getCopyright</a> </td> 964 <table class="mlabels">
767 <td>(</td> 965 <tr>
768 <td class="paramname"></td><td>)</td> 966 <td class="mlabels-left">
769 <td> const<code> [pure virtual, inherited]</code></td> 967 <table class="memname">
770 </tr> 968 <tr>
771 </table> 969 <td class="memname">virtual std::string Vamp::PluginBase::getCopyright </td>
772 </div> 970 <td>(</td>
773 <div class="memdoc"> 971 <td class="paramname"></td><td>)</td>
972 <td> const</td>
973 </tr>
974 </table>
975 </td>
976 <td class="mlabels-right">
977 <span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
978 </tr>
979 </table>
980 </div><div class="memdoc">
774 981
775 <p>Get the copyright statement or licensing summary for the plugin. </p> 982 <p>Get the copyright statement or licensing summary for the plugin. </p>
776 <p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p> 983 <p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p>
777 984
778 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ac73c9d6baad04369beee695e99584815">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a708b4d335c57643d5ef2b2e1caf43bd9">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a0c197fc90f30d91cb4403115c83c9134">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a925747d513d598e0fa21ed0ed6520980">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#af9c41b92aa8ff8bddaebf75569ff789c">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a50c6b64530c84c0707ba3936c5022a48">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a1a22ece271330c94cc08798a77416351">PercussionOnsetDetector</a>.</p> 985 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a6f68665c4c00bb55e4736a091a68d9a9">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aea9c238f86de65d3380fa887bb9e47e6">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#ab0e73795d0d94f1162bde9d024785147">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#acd61ab359d1b7a5514fb2e1bc191f95a">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#afbf8f44c5724cfc7b2b12102389f10b5">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#af955fb85b26a5497690aecbd288975f2">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a3bcf5f3d231454792d9abef114ad21b6">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#acf9ac12b8f313aa6fad58ad2fed663da">PercussionOnsetDetector</a>.</p>
779 986
780 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> 987 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>.</p>
781 988
782 </div> 989 </div>
783 </div> 990 </div>
784 <a class="anchor" id="a63f686d77bc3d6b807e7944cdde83151"></a> 991 <a id="a63f686d77bc3d6b807e7944cdde83151"></a>
785 <div class="memitem"> 992 <h2 class="memtitle"><span class="permalink"><a href="#a63f686d77bc3d6b807e7944cdde83151">&#9670;&nbsp;</a></span>getPluginVersion()</h2>
786 <div class="memproto"> 993
787 <table class="memname"> 994 <div class="memitem">
788 <tr> 995 <div class="memproto">
789 <td class="memname">virtual int <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase::getPluginVersion</a> </td> 996 <table class="mlabels">
790 <td>(</td> 997 <tr>
791 <td class="paramname"></td><td>)</td> 998 <td class="mlabels-left">
792 <td> const<code> [pure virtual, inherited]</code></td> 999 <table class="memname">
793 </tr> 1000 <tr>
794 </table> 1001 <td class="memname">virtual int Vamp::PluginBase::getPluginVersion </td>
795 </div> 1002 <td>(</td>
796 <div class="memdoc"> 1003 <td class="paramname"></td><td>)</td>
1004 <td> const</td>
1005 </tr>
1006 </table>
1007 </td>
1008 <td class="mlabels-right">
1009 <span class="mlabels"><span class="mlabel">pure virtual</span><span class="mlabel">inherited</span></span> </td>
1010 </tr>
1011 </table>
1012 </div><div class="memdoc">
797 1013
798 <p>Get the version number of the plugin. </p> 1014 <p>Get the version number of the plugin. </p>
799 1015
800 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a6fbd94781867ca46a20368c2a3593c77">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#ad23d27e4e82f10404a37b933f6a72c33">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a8a5d7a834eb996d517c51f84b2a72250">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#af64622e66bf678ac2b0b58aa832ca2b3">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#ad685f6c2f443f07a1634550c335571eb">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#ad002fddb3735c2dd7e31e6a9def9949f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#ad6b818dbd81867ce7be71c99cae861be">PercussionOnsetDetector</a>.</p> 1016 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a5e774f5b0e86293714c0506676d4fa62">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9537de27c826a1441b2d3643df4880bb">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#acd30237d5e3516b3171ffddbfafd4271">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#ad84e40327cb36e470790af9619e8e80e">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a0056cd5e0615ce8766d52c0b7a92280e">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#a4199350192d84a4ec5f379805cd3e7cf">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a243f85a07ef5236e5c547a183969e0d2">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#ad4f4a732e9e0ae0cb0151e2e10862299">PercussionOnsetDetector</a>.</p>
801 1017
802 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> 1018 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>.</p>
803 1019
804 </div> 1020 </div>
805 </div> 1021 </div>
806 <a class="anchor" id="aac3e49b3b66cacfbb768dfdf07444f21"></a> 1022 <a id="a0c24ff6a43c681198dc9497287a26e3a"></a>
807 <div class="memitem"> 1023 <h2 class="memtitle"><span class="permalink"><a href="#a0c24ff6a43c681198dc9497287a26e3a">&#9670;&nbsp;</a></span>getParameterDescriptors()</h2>
808 <div class="memproto"> 1024
809 <table class="memname"> 1025 <div class="memitem">
810 <tr> 1026 <div class="memproto">
811 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> <a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase::getParameterDescriptors</a> </td> 1027 <table class="mlabels">
812 <td>(</td> 1028 <tr>
813 <td class="paramname"></td><td>)</td> 1029 <td class="mlabels-left">
814 <td> const<code> [inline, virtual, inherited]</code></td> 1030 <table class="memname">
815 </tr> 1031 <tr>
816 </table> 1032 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginBase::getParameterDescriptors </td>
817 </div> 1033 <td>(</td>
818 <div class="memdoc"> 1034 <td class="paramname"></td><td>)</td>
1035 <td> const</td>
1036 </tr>
1037 </table>
1038 </td>
1039 <td class="mlabels-right">
1040 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
1041 </tr>
1042 </table>
1043 </div><div class="memdoc">
819 1044
820 <p>Get the controllable parameters of this plugin. </p> 1045 <p>Get the controllable parameters of this plugin. </p>
821 1046
822 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a602faa0bfaae83e2ca53b36292271a76">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#a9df01323a09e117bc12354ebe9244edf">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#ae157465a4e07d180bab05b5c3a4d8987">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#abceae88cc9762b0ea310d7aad71de815">PercussionOnsetDetector</a>.</p> 1047 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f2b1c45be01169414bc86b685f4508e">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab2b67205d86e921cb0a9bd1f819d2cf9">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#a4a707648d17d03a66b110b73b99e821b">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a4d5edffcea6c8757e0c077913b098aea">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#ae1cc81d82aaac8db5cf8a1067494f3d8">PercussionOnsetDetector</a>.</p>
823 1048
824 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00204">204</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> 1049 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00208">208</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>
825 1050
826 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> 1051 <p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>.</p>
827 1052
828 </div> 1053 </div>
829 </div> 1054 </div>
830 <a class="anchor" id="a97ababcd45348ceec998d0f8e0f38bf7"></a> 1055 <a id="aa813d61077080ec95487d2a0227cc51b"></a>
831 <div class="memitem"> 1056 <h2 class="memtitle"><span class="permalink"><a href="#aa813d61077080ec95487d2a0227cc51b">&#9670;&nbsp;</a></span>getParameter()</h2>
832 <div class="memproto"> 1057
833 <table class="memname"> 1058 <div class="memitem">
834 <tr> 1059 <div class="memproto">
835 <td class="memname">virtual float <a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase::getParameter</a> </td> 1060 <table class="mlabels">
1061 <tr>
1062 <td class="mlabels-left">
1063 <table class="memname">
1064 <tr>
1065 <td class="memname">virtual float Vamp::PluginBase::getParameter </td>
836 <td>(</td> 1066 <td>(</td>
837 <td class="paramtype">std::string&#160;</td> 1067 <td class="paramtype">std::string&#160;</td>
838 <td class="paramname"></td><td>)</td> 1068 <td class="paramname"></td><td>)</td>
839 <td> const<code> [inline, virtual, inherited]</code></td> 1069 <td> const</td>
840 </tr> 1070 </tr>
841 </table> 1071 </table>
842 </div> 1072 </td>
843 <div class="memdoc"> 1073 <td class="mlabels-right">
1074 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
1075 </tr>
1076 </table>
1077 </div><div class="memdoc">
844 1078
845 <p>Get the value of a named parameter. </p> 1079 <p>Get the value of a named parameter. </p>
846 <p>The argument is the identifier field from that parameter's descriptor. </p> 1080 <p>The argument is the identifier field from that parameter's descriptor. </p>
847 1081
848 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#af0c46d4f67ca93be7c76f3ea2e6c8efb">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#ab278c4b6f2ca23248dc94ad775273f39">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a2030b05fb1228b30ace16200780c9152">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a9b28da8315fcde46ce7644d6592ba527">PercussionOnsetDetector</a>.</p> 1082 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a97149b60fb9d7c4359262ba8f6ff9743">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5c0a4d72a25fded51829de21771de521">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#a93f32b68462f46af5265327a69479c38">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#ae988b4015672a73914e83c1589952752">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#accce70a87d6b30d4696d40a3e09b8f17">PercussionOnsetDetector</a>.</p>
849 1083
850 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00212">212</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> 1084 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00216">216</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>
851 1085
852 </div> 1086 </div>
853 </div> 1087 </div>
854 <a class="anchor" id="a6c718ce822f7b73b98940d59dcaa9366"></a> 1088 <a id="a6c718ce822f7b73b98940d59dcaa9366"></a>
855 <div class="memitem"> 1089 <h2 class="memtitle"><span class="permalink"><a href="#a6c718ce822f7b73b98940d59dcaa9366">&#9670;&nbsp;</a></span>setParameter()</h2>
856 <div class="memproto"> 1090
857 <table class="memname"> 1091 <div class="memitem">
858 <tr> 1092 <div class="memproto">
859 <td class="memname">virtual void <a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">Vamp::PluginBase::setParameter</a> </td> 1093 <table class="mlabels">
1094 <tr>
1095 <td class="mlabels-left">
1096 <table class="memname">
1097 <tr>
1098 <td class="memname">virtual void Vamp::PluginBase::setParameter </td>
860 <td>(</td> 1099 <td>(</td>
861 <td class="paramtype">std::string&#160;</td> 1100 <td class="paramtype">std::string&#160;</td>
862 <td class="paramname">, </td> 1101 <td class="paramname">, </td>
863 </tr> 1102 </tr>
864 <tr> 1103 <tr>
868 <td class="paramname">&#160;</td> 1107 <td class="paramname">&#160;</td>
869 </tr> 1108 </tr>
870 <tr> 1109 <tr>
871 <td></td> 1110 <td></td>
872 <td>)</td> 1111 <td>)</td>
873 <td></td><td><code> [inline, virtual, inherited]</code></td> 1112 <td></td><td></td>
874 </tr> 1113 </tr>
875 </table> 1114 </table>
876 </div> 1115 </td>
877 <div class="memdoc"> 1116 <td class="mlabels-right">
1117 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
1118 </tr>
1119 </table>
1120 </div><div class="memdoc">
878 1121
879 <p>Set a named parameter. </p> 1122 <p>Set a named parameter. </p>
880 <p>The first argument is the identifier field from that parameter's descriptor. </p> 1123 <p>The first argument is the identifier field from that parameter's descriptor. </p>
881 1124
882 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a29f75395aa75b9de0228aa11edf9c6d6">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#ae1fc37ece4d20e40f3066a3361a99340">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#aa097d72488e1211f05fc661ff5c6dc01">PercussionOnsetDetector</a>.</p> 1125 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a29f75395aa75b9de0228aa11edf9c6d6">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#ae1fc37ece4d20e40f3066a3361a99340">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#aa097d72488e1211f05fc661ff5c6dc01">PercussionOnsetDetector</a>.</p>
883 1126
884 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00218">218</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> 1127 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00222">222</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>
885 1128
886 </div> 1129 </div>
887 </div> 1130 </div>
888 <a class="anchor" id="abb307c60bdb981d5f5af50c3c4ae84af"></a> 1131 <a id="aaf6febff0ab4daf4a5089c98a67f4df8"></a>
889 <div class="memitem"> 1132 <h2 class="memtitle"><span class="permalink"><a href="#aaf6febff0ab4daf4a5089c98a67f4df8">&#9670;&nbsp;</a></span>getPrograms()</h2>
890 <div class="memproto"> 1133
891 <table class="memname"> 1134 <div class="memitem">
892 <tr> 1135 <div class="memproto">
893 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> <a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">Vamp::PluginBase::getPrograms</a> </td> 1136 <table class="mlabels">
894 <td>(</td> 1137 <tr>
895 <td class="paramname"></td><td>)</td> 1138 <td class="mlabels-left">
896 <td> const<code> [inline, virtual, inherited]</code></td> 1139 <table class="memname">
897 </tr> 1140 <tr>
898 </table> 1141 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td>
899 </div> 1142 <td>(</td>
900 <div class="memdoc"> 1143 <td class="paramname"></td><td>)</td>
1144 <td> const</td>
1145 </tr>
1146 </table>
1147 </td>
1148 <td class="mlabels-right">
1149 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
1150 </tr>
1151 </table>
1152 </div><div class="memdoc">
901 1153
902 <p>Get the program settings available in this plugin. </p> 1154 <p>Get the program settings available in this plugin. </p>
903 <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> 1155 <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>
904 <p>The programs must have unique names. </p> 1156 <p>The programs must have unique names. </p>
905 1157
906 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ae0cde5cd625418c1bc470b91f75daafc">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">Vamp::HostExt::PluginWrapper</a>.</p> 1158 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a1e3c40e9b9d8dc876d2e732976950c4b">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa0b72ea17766266d20539f293ccae7c8">Vamp::HostExt::PluginWrapper</a>.</p>
907 1159
908 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00233">233</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> 1160 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00237">237</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>
909 1161
910 </div> 1162 </div>
911 </div> 1163 </div>
912 <a class="anchor" id="a24e77eccf1bdfbbca3c79bb25e8799b3"></a> 1164 <a id="aac38c5dc6e87208616122897518ca3d5"></a>
913 <div class="memitem"> 1165 <h2 class="memtitle"><span class="permalink"><a href="#aac38c5dc6e87208616122897518ca3d5">&#9670;&nbsp;</a></span>getCurrentProgram()</h2>
914 <div class="memproto"> 1166
915 <table class="memname"> 1167 <div class="memitem">
916 <tr> 1168 <div class="memproto">
917 <td class="memname">virtual std::string <a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">Vamp::PluginBase::getCurrentProgram</a> </td> 1169 <table class="mlabels">
918 <td>(</td> 1170 <tr>
919 <td class="paramname"></td><td>)</td> 1171 <td class="mlabels-left">
920 <td> const<code> [inline, virtual, inherited]</code></td> 1172 <table class="memname">
921 </tr> 1173 <tr>
922 </table> 1174 <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td>
923 </div> 1175 <td>(</td>
924 <div class="memdoc"> 1176 <td class="paramname"></td><td>)</td>
1177 <td> const</td>
1178 </tr>
1179 </table>
1180 </td>
1181 <td class="mlabels-right">
1182 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
1183 </tr>
1184 </table>
1185 </div><div class="memdoc">
925 1186
926 <p>Get the current program. </p> 1187 <p>Get the current program. </p>
927 1188
928 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a34859eff8ca8d862af39be9636ec1867">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">Vamp::HostExt::PluginWrapper</a>.</p> 1189 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#abf984c347c4dac9e4b01123498bfe68f">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a3936fe2c4b3c960dd244849a7c3320ad">Vamp::HostExt::PluginWrapper</a>.</p>
929 1190
930 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00238">238</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> 1191 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00242">242</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>
931 1192
932 </div> 1193 </div>
933 </div> 1194 </div>
934 <a class="anchor" id="aadd3a547ef140bae200473a9518e3353"></a> 1195 <a id="aadd3a547ef140bae200473a9518e3353"></a>
935 <div class="memitem"> 1196 <h2 class="memtitle"><span class="permalink"><a href="#aadd3a547ef140bae200473a9518e3353">&#9670;&nbsp;</a></span>selectProgram()</h2>
936 <div class="memproto"> 1197
937 <table class="memname"> 1198 <div class="memitem">
938 <tr> 1199 <div class="memproto">
939 <td class="memname">virtual void <a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">Vamp::PluginBase::selectProgram</a> </td> 1200 <table class="mlabels">
1201 <tr>
1202 <td class="mlabels-left">
1203 <table class="memname">
1204 <tr>
1205 <td class="memname">virtual void Vamp::PluginBase::selectProgram </td>
940 <td>(</td> 1206 <td>(</td>
941 <td class="paramtype">std::string&#160;</td> 1207 <td class="paramtype">std::string&#160;</td>
942 <td class="paramname"></td><td>)</td> 1208 <td class="paramname"></td><td>)</td>
943 <td><code> [inline, virtual, inherited]</code></td> 1209 <td></td>
944 </tr> 1210 </tr>
945 </table> 1211 </table>
946 </div> 1212 </td>
947 <div class="memdoc"> 1213 <td class="mlabels-right">
1214 <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
1215 </tr>
1216 </table>
1217 </div><div class="memdoc">
948 1218
949 <p>Select a program. </p> 1219 <p>Select a program. </p>
950 <p>(If the given program name is not one of the available programs, do nothing.) </p> 1220 <p>(If the given program name is not one of the available programs, do nothing.) </p>
951 1221
952 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p> 1222 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p>
953 1223
954 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00244">244</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> 1224 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00248">248</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>
955 1225
956 </div> 1226 <p class="reference">References <a class="el" href="plugguard_8h_source.html#l00080">_VAMP_SDK_PLUGSPACE_END</a>.</p>
957 </div> 1227
958 <hr/><h2>Member Data Documentation</h2> 1228 </div>
959 <a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a> 1229 </div>
960 <div class="memitem"> 1230 <h2 class="groupheader">Member Data Documentation</h2>
961 <div class="memproto"> 1231 <a id="a59b9dd82a4f4eb946cd0474cc81abc23"></a>
962 <table class="memname"> 1232 <h2 class="memtitle"><span class="permalink"><a href="#a59b9dd82a4f4eb946cd0474cc81abc23">&#9670;&nbsp;</a></span>m_inputSampleRate</h2>
963 <tr> 1233
964 <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected]</code></td> 1234 <div class="memitem">
965 </tr> 1235 <div class="memproto">
966 </table> 1236 <table class="mlabels">
967 </div> 1237 <tr>
968 <div class="memdoc"> 1238 <td class="mlabels-left">
969 1239 <table class="memname">
970 <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> 1240 <tr>
971 1241 <td class="memname">float Vamp::Plugin::m_inputSampleRate</td>
972 <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> 1242 </tr>
1243 </table>
1244 </td>
1245 <td class="mlabels-right">
1246 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
1247 </tr>
1248 </table>
1249 </div><div class="memdoc">
1250
1251 <p class="definition">Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00444">444</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p>
1252
1253 <p class="reference">Referenced by <a class="el" href="ZeroCrossing_8cpp_source.html#l00112">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00106">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00146">SpectralCentroid::process()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00143">ZeroCrossing::process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>.</p>
973 1254
974 </div> 1255 </div>
975 </div> 1256 </div>
976 <hr/>The documentation for this class was generated from the following file:<ul> 1257 <hr/>The documentation for this class was generated from the following file:<ul>
977 <li><a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a></li> 1258 <li><a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a></li>
978 </ul> 1259 </ul>
979 </div><!-- contents --> 1260 </div><!-- contents -->
980 </div> 1261 </div><!-- doc-content -->
981 <div id="nav-path" class="navpath"> 1262 <!-- start footer part -->
982 <ul> 1263 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
983 <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> 1264 <ul>
984 <li class="navelem"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> </li> 1265 <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a></li><li class="navelem"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a></li>
985 1266 <li class="footer">Generated by
986 <li class="footer">Generated on Fri Jul 13 2012 13:28:49 for VampPluginSDK by
987 <a href="http://www.doxygen.org/index.html"> 1267 <a href="http://www.doxygen.org/index.html">
988 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.0 </li> 1268 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
989 </ul> 1269 </ul>
990 </div> 1270 </div>
991
992
993 </body> 1271 </body>
994 </html> 1272 </html>