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

Update code docs for 2.3
author cannam
date Tue, 04 Oct 2011 13:47:23 +0000
parents 0976232e353b
children
comparison
equal deleted inserted replaced
49:f75f330aa130 50:8260c0f4e05b
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <title>VampPluginSDK: Vamp::Plugin Class Reference</title> 5 <title>VampPluginSDK: Vamp::Plugin Class Reference</title>
4 <link href="tabs.css" rel="stylesheet" type="text/css"> 6
5 <link href="doxygen.css" rel="stylesheet" type="text/css"> 7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
6 </head><body> 8 <link href="doxygen.css" rel="stylesheet" type="text/css" />
7 <!-- Generated by Doxygen 1.5.8 --> 9 <link href="navtree.css" rel="stylesheet" type="text/css"/>
8 <div class="navigation" id="top"> 10 <script type="text/javascript" src="jquery.js"></script>
9 <div class="tabs"> 11 <script type="text/javascript" src="resize.js"></script>
10 <ul> 12 <script type="text/javascript" src="navtree.js"></script>
11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li> 13 <script type="text/javascript">
14 $(document).ready(initResizable);
15 </script>
16
17
18 </head>
19 <body>
20 <div id="top"><!-- do not remove this div! -->
21
22
23 <div id="titlearea">
24 <table cellspacing="0" cellpadding="0">
25 <tbody>
26 <tr style="height: 56px;">
27
28
29 <td style="padding-left: 0.5em;">
30 <div id="projectname">VampPluginSDK
31 &#160;<span id="projectnumber">2.1</span>
32 </div>
33
34 </td>
35
36
37
38 </tr>
39 </tbody>
40 </table>
41 </div>
42
43 <!-- Generated by Doxygen 1.7.5.1 -->
44 <div id="navrow1" class="tabs">
45 <ul class="tablist">
46 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
12 <li><a href="namespaces.html"><span>Namespaces</span></a></li> 47 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13 <li class="current"><a href="annotated.html"><span>Classes</span></a></li> 48 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
14 <li><a href="files.html"><span>Files</span></a></li> 49 <li><a href="files.html"><span>Files</span></a></li>
15 <li><a href="dirs.html"><span>Directories</span></a></li> 50 <li><a href="dirs.html"><span>Directories</span></a></li>
16 </ul> 51 </ul>
17 </div> 52 </div>
18 <div class="tabs"> 53 <div id="navrow2" class="tabs2">
19 <ul> 54 <ul class="tablist">
20 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li> 55 <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
21 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li> 56 <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
22 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li> 57 <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
23 </ul> 58 </ul>
24 </div> 59 </div>
25 <div class="navpath"><a class="el" href="namespaceVamp.html">Vamp</a>::<a class="el" href="classVamp_1_1Plugin.html">Plugin</a> 60 </div>
61 <div id="side-nav" class="ui-resizable side-nav-resizable">
62 <div id="nav-tree">
63 <div id="nav-tree-contents">
64 </div>
26 </div> 65 </div>
66 <div id="splitbar" style="-moz-user-select:none;"
67 class="ui-resizable-handle">
68 </div>
69 </div>
70 <script type="text/javascript">
71 initNavTree('classVamp_1_1Plugin.html','');
72 </script>
73 <div id="doc-content">
74 <div class="header">
75 <div class="summary">
76 <a href="#nested-classes">Classes</a> &#124;
77 <a href="#pub-types">Public Types</a> &#124;
78 <a href="#pub-methods">Public Member Functions</a> &#124;
79 <a href="#pro-methods">Protected Member Functions</a> &#124;
80 <a href="#pro-attribs">Protected Attributes</a> </div>
81 <div class="headertitle">
82 <div class="title">Vamp::Plugin Class Reference</div> </div>
27 </div> 83 </div>
28 <div class="contents"> 84 <div class="contents">
29 <h1>Vamp::Plugin Class Reference</h1><!-- doxytag: class="Vamp::Plugin" --><!-- doxytag: inherits="Vamp::PluginBase" --><a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction...">Vamp::Plugin</a> is a base class for plugin instance classes that provide feature extraction from audio or related data. 85 <!-- doxytag: class="Vamp::Plugin" --><!-- doxytag: inherits="Vamp::PluginBase" -->
30 <a href="#_details">More...</a> 86 <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.
31 <p> 87 <a href="classVamp_1_1Plugin.html#details">More...</a></p>
32 <code>#include &lt;<a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>&gt;</code> 88
33 <p> 89 <p><code>#include &lt;<a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>&gt;</code></p>
34 <div class="dynheader"> 90 <div class="dynheader">
35 Inheritance diagram for Vamp::Plugin:</div> 91 Inheritance diagram for Vamp::Plugin:</div>
36 <div class="dynsection"> 92 <div class="dyncontent">
37 <p><center><img src="classVamp_1_1Plugin__inherit__graph.png" border="0" usemap="#Vamp_1_1Plugin__inherit__map" alt="Inheritance graph"></center> 93 <div class="center"><img src="classVamp_1_1Plugin__inherit__graph.png" border="0" usemap="#Vamp_1_1Plugin_inherit__map" alt="Inheritance graph"/></div>
38 <map name="Vamp_1_1Plugin__inherit__map"> 94 <map name="Vamp_1_1Plugin_inherit__map" id="Vamp_1_1Plugin_inherit__map">
39 <area shape="rect" href="classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function." alt="" coords="355,5,477,29"><area shape="rect" href="classFixedTempoEstimator.html" title="Example plugin that estimates the tempo of a short fixed&#45;tempo sample." alt="" coords="347,53,485,77"><area shape="rect" href="classPercussionOnsetDetector.html" title="Example plugin that detects percussive events." alt="" coords="336,101,496,125"><area shape="rect" href="classPowerSpectrum.html" title="Example plugin that returns a power spectrum calculated (trivially) from the frequency..." alt="" coords="363,149,469,173"><area shape="rect" href="classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation..." alt="" coords="360,197,472,221"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="321,245,511,269"><area shape="rect" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C&#45;language..." alt="" coords="335,293,497,317"><area shape="rect" href="classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero&#45;crossing points..." alt="" coords="369,341,463,365"><area shape="rect" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="7,173,127,197"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by..." alt="" coords="573,173,808,197"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management..." alt="" coords="575,221,807,245"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time&#45;domain input..." alt="" coords="561,269,820,293"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods..." alt="" coords="561,317,820,341"></map> 95 <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>
40 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div> 96 <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
41 97
42 <p> 98 <p><a href="classVamp_1_1Plugin-members.html">List of all members.</a></p>
43 <a href="classVamp_1_1Plugin-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> 99 <table class="memberdecls">
44 <tr><td></td></tr> 100 <tr><td colspan="2"><h2><a name="nested-classes"></a>
45 <tr><td colspan="2"><br><h2>Classes</h2></td></tr> 101 Classes</h2></td></tr>
46 <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a></td></tr> 102 <tr><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>
47 103 <tr><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>
48 <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a></td></tr> 104 <tr><td colspan="2"><h2><a name="pub-types"></a>
49 105 Public Types</h2></td></tr>
50 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> 106 <tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>,
51 <tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, 107 <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>
52 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>
53 }</td></tr> 108 }</td></tr>
54 109 <tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
55 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br class="typebreak"> 110 &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>
56 &lt; <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> 111 <tr><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr>
57 112 <tr><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; int, <br class="typebreak"/>
58 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> 113 <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>
59 114 <tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
60 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; int, <br class="typebreak"> 115 &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>
61 <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> 116 <tr><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr>
62 117 <tr><td colspan="2"><h2><a name="pub-methods"></a>
63 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> 118 Public Member Functions</h2></td></tr>
64 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a> ()</td></tr> 119 <tr><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>
65 120 <tr><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>
66 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822">initialise</a> (size_t inputChannels, size_t stepSize, size_t blockSize)=0</td></tr> 121 <tr><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>
67 122 <tr><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>
68 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames). <a href="#f26212cf5fc511b603a8b48034247822"></a><br></td></tr> 123 <tr><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>
69 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#ad67dc9d0052417511070c4ebcfbf24f">reset</a> ()=0</td></tr> 124 <tr><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>
70 125 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the plugin's required input domain. <a href="#ae1d317a9702cbeda65ddf0ec500c1ff6"></a><br/></td></tr>
71 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#ad67dc9d0052417511070c4ebcfbf24f"></a><br></td></tr> 126 <tr><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>
72 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">getInputDomain</a> () const =0</td></tr> 127 <tr><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>
73 128 <tr><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>
74 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the plugin's required input domain. <a href="#e1d317a9702cbeda65ddf0ec500c1ff6"></a><br></td></tr> 129 <tr><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>
75 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a529adf83f87a603954eb31407602aac">getPreferredBlockSize</a> () const </td></tr> 130 <tr><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>
76 131 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a267b42e866df3cf0d190893e8096f525"></a><br/></td></tr>
77 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). <a href="#a529adf83f87a603954eb31407602aac"></a><br></td></tr> 132 <tr><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>
78 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#514c716c22f81c055f19b56c3f882567">getPreferredStepSize</a> () const </td></tr> 133 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><br/></td></tr>
79 134 <tr><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>
80 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the preferred step size (window increment -- the distance in sample frames between the start frames of consecutive blocks passed to the <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#514c716c22f81c055f19b56c3f882567"></a><br></td></tr> 135 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the outputs of this plugin. <a href="#ad064d5d132b5c9bd7064f429c3309e35"></a><br/></td></tr>
81 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#267b42e866df3cf0d190893e8096f525">getMinChannelCount</a> () const </td></tr> 136 <tr><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>
82 137 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Process a single block of input data. <a href="#ae4aed3bebfe80a2e2fccd3d37af26996"></a><br/></td></tr>
83 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#267b42e866df3cf0d190893e8096f525"></a><br></td></tr> 138 <tr><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>
84 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a> () const </td></tr> 139 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#aeca2a26e658ba0314ba90d25dd2195d6"></a><br/></td></tr>
85 140 <tr><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr>
86 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><br></td></tr> 141 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to distinguish between <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> and other potential sibling subclasses of <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a>. <a href="#abe13b3997a69fbcc09e2213faa352f91"></a><br/></td></tr>
87 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#d064d5d132b5c9bd7064f429c3309e35">getOutputDescriptors</a> () const =0</td></tr> 142 <tr><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>
88 143 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a8fd2c48291c64b790f0efb8948508dcf"></a><br/></td></tr>
89 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the outputs of this plugin. <a href="#d064d5d132b5c9bd7064f429c3309e35"></a><br></td></tr> 144 <tr><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>
90 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)=0</td></tr> 145 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#ad1c6dfc77aa03d937a885b7f08258f4a"></a><br/></td></tr>
91 146 <tr><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>
92 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process a single block of input data. <a href="#e4aed3bebfe80a2e2fccd3d37af26996"></a><br></td></tr> 147 <tr><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>
93 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#eca2a26e658ba0314ba90d25dd2195d6">getRemainingFeatures</a> ()=0</td></tr> 148 <tr><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>
94 149 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name". <a href="#a59153a02364f75fff46973b2072e9e5a"></a><br/></td></tr>
95 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#eca2a26e658ba0314ba90d25dd2195d6"></a><br></td></tr> 150 <tr><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>
96 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#be13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr> 151 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#a53d9918bf9ef4d12feedf66b2b26c637"></a><br/></td></tr>
97 152 <tr><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>
98 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to distinguish between <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction...">Vamp::Plugin</a> and other potential sibling subclasses of <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a>. <a href="#be13b3997a69fbcc09e2213faa352f91"></a><br></td></tr> 153 <tr><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>
99 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a> () const </td></tr> 154 <tr><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>
100 155 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the version number of the plugin. <a href="#a63f686d77bc3d6b807e7944cdde83151"></a><br/></td></tr>
101 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#8fd2c48291c64b790f0efb8948508dcf"></a><br></td></tr> 156 <tr><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>
102 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#d1c6dfc77aa03d937a885b7f08258f4a">getIdentifier</a> () const =0</td></tr> 157 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#aac3e49b3b66cacfbb768dfdf07444f21"></a><br/></td></tr>
103 158 <tr><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>
104 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#d1c6dfc77aa03d937a885b7f08258f4a"></a><br></td></tr> 159 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of a named parameter. <a href="#a97ababcd45348ceec998d0f8e0f38bf7"></a><br/></td></tr>
105 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#18619d5097e444ecefee0c359da53232">getName</a> () const =0</td></tr> 160 <tr><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>
106 161 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a named parameter. <a href="#a6c718ce822f7b73b98940d59dcaa9366"></a><br/></td></tr>
107 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#18619d5097e444ecefee0c359da53232"></a><br></td></tr> 162 <tr><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>
108 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#59153a02364f75fff46973b2072e9e5a">getDescription</a> () const =0</td></tr> 163 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the program settings available in this plugin. <a href="#abb307c60bdb981d5f5af50c3c4ae84af"></a><br/></td></tr>
109 164 <tr><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>
110 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name". <a href="#59153a02364f75fff46973b2072e9e5a"></a><br></td></tr> 165 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current program. <a href="#a24e77eccf1bdfbbca3c79bb25e8799b3"></a><br/></td></tr>
111 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#53d9918bf9ef4d12feedf66b2b26c637">getMaker</a> () const =0</td></tr> 166 <tr><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>
112 167 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Select a program. <a href="#aadd3a547ef140bae200473a9518e3353"></a><br/></td></tr>
113 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#53d9918bf9ef4d12feedf66b2b26c637"></a><br></td></tr> 168 <tr><td colspan="2"><h2><a name="pro-methods"></a>
114 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#b7e9dedbe965f5ab9018b72920fe7661">getCopyright</a> () const =0</td></tr> 169 Protected Member Functions</h2></td></tr>
115 170 <tr><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>
116 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#b7e9dedbe965f5ab9018b72920fe7661"></a><br></td></tr> 171 <tr><td colspan="2"><h2><a name="pro-attribs"></a>
117 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#63f686d77bc3d6b807e7944cdde83151">getPluginVersion</a> () const =0</td></tr> 172 Protected Attributes</h2></td></tr>
118 173 <tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr>
119 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the version number of the plugin. <a href="#63f686d77bc3d6b807e7944cdde83151"></a><br></td></tr>
120 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ac3e49b3b66cacfbb768dfdf07444f21">getParameterDescriptors</a> () const </td></tr>
121
122 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#ac3e49b3b66cacfbb768dfdf07444f21"></a><br></td></tr>
123 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#97ababcd45348ceec998d0f8e0f38bf7">getParameter</a> (std::string) const </td></tr>
124
125 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the value of a named parameter. <a href="#97ababcd45348ceec998d0f8e0f38bf7"></a><br></td></tr>
126 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#6c718ce822f7b73b98940d59dcaa9366">setParameter</a> (std::string, float)</td></tr>
127
128 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a named parameter. <a href="#6c718ce822f7b73b98940d59dcaa9366"></a><br></td></tr>
129 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#bb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a> () const </td></tr>
130
131 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the program settings available in this plugin. <a href="#bb307c60bdb981d5f5af50c3c4ae84af"></a><br></td></tr>
132 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a> () const </td></tr>
133
134 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current program. <a href="#24e77eccf1bdfbbca3c79bb25e8799b3"></a><br></td></tr>
135 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#add3a547ef140bae200473a9518e3353">selectProgram</a> (std::string)</td></tr>
136
137 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select a program. <a href="#add3a547ef140bae200473a9518e3353"></a><br></td></tr>
138 <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
139 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a> (float inputSampleRate)</td></tr>
140
141 <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
142 <tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr>
143
144 </table> 174 </table>
145 <hr><a name="_details"></a><h2>Detailed Description</h2> 175 <hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
146 <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction...">Vamp::Plugin</a> is a base class for plugin instance classes that provide feature extraction from audio or related data. 176 <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>
147 <p> 177 <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>
148 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> 178 <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>
149 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> 179 <p>PLUGIN LIFECYCLE</p>
150 PLUGIN LIFECYCLE<p> 180 <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>
151 <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> 181 <p>1. 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).</p>
152 1. 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#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a> (step 5).<p> 182 <p>2. Host may query the plugin's available outputs.</p>
153 2. Host may query the plugin's available outputs.<p> 183 <p>3. 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.</p>
154 3. 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.<p> 184 <p>4. 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.)</p>
155 4. 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.)<p> 185 <p>5. <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.</p>
156 5. <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction...">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.<p> 186 <p>6. 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).</p>
157 6. 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).<p> 187 <p>7. 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).</p>
158 7. 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).<p> 188 <p>8. Host will call getRemainingFeatures exactly once, after all the input data has been processed. This may return any non-causal or leftover features.</p>
159 8. Host will call getRemainingFeatures exactly once, after all the input data has been processed. This may return any non-causal or leftover features.<p> 189 <p>9. 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.)</p>
160 9. 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.)<p> 190 <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>
161 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. 191
162 <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> 192 <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>
163 <hr><h2>Member Typedef Documentation</h2> 193 </div><hr/><h2>Member Typedef Documentation</h2>
164 <a class="anchor" name="30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::Plugin::OutputList" ref="30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> 194 <a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::Plugin::OutputList" ref="a30f531b8fb69fac41a24e3d2a6a08ed9" args="" -->
165 <div class="memitem"> 195 <div class="memitem">
166 <div class="memproto"> 196 <div class="memproto">
167 <table class="memname"> 197 <table class="memname">
168 <tr> 198 <tr>
169 <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a> </td> 199 <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>
170 </tr> 200 </tr>
171 </table> 201 </table>
172 </div> 202 </div>
173 <div class="memdoc"> 203 <div class="memdoc">
174 204
175 <p> 205 <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>
176 206
177 <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> 207 </div>
178 208 </div>
179 </div> 209 <a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::Plugin::FeatureList" ref="a0730bc72c87fa02eb8d2854b233f7be1" args="" -->
180 </div><p> 210 <div class="memitem">
181 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::Plugin::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" --> 211 <div class="memproto">
182 <div class="memitem"> 212 <table class="memname">
183 <div class="memproto"> 213 <tr>
184 <table class="memname"> 214 <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>
185 <tr> 215 </tr>
186 <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a> </td> 216 </table>
187 </tr> 217 </div>
188 </table> 218 <div class="memdoc">
189 </div> 219
190 <div class="memdoc"> 220 <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>
191 221
192 <p> 222 </div>
193 223 </div>
194 <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> 224 <a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::Plugin::FeatureSet" ref="a448fb57dc245d47923ec9eeaf9856c5f" args="" -->
195 225 <div class="memitem">
196 </div> 226 <div class="memproto">
197 </div><p> 227 <table class="memname">
198 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::Plugin::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" --> 228 <tr>
199 <div class="memitem"> 229 <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>
200 <div class="memproto"> 230 </tr>
201 <table class="memname"> 231 </table>
202 <tr> 232 </div>
203 <td class="memname">typedef std::map&lt;int, <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a> </td> 233 <div class="memdoc">
204 </tr> 234
205 </table> 235 <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>
206 </div> 236
207 <div class="memdoc"> 237 </div>
208 238 </div>
209 <p> 239 <a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::Plugin::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" -->
210 240 <div class="memitem">
211 <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> 241 <div class="memproto">
212 242 <table class="memname">
213 </div> 243 <tr>
214 </div><p> 244 <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>
215 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::Plugin::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> 245 </tr>
216 <div class="memitem"> 246 </table>
217 <div class="memproto"> 247 </div>
218 <table class="memname"> 248 <div class="memdoc">
219 <tr> 249
220 <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>&gt; <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code> </td> 250 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00203">203</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>
221 </tr> 251
222 </table> 252 </div>
223 </div> 253 </div>
224 <div class="memdoc"> 254 <a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::Plugin::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" -->
225 255 <div class="memitem">
226 <p> 256 <div class="memproto">
227 257 <table class="memname">
228 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00203">203</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p> 258 <tr>
229 259 <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>
230 </div> 260 </tr>
231 </div><p> 261 </table>
232 <a class="anchor" name="7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::Plugin::ProgramList" ref="7f66f00437b21e5f694fe02356b12f20" args="" --> 262 </div>
233 <div class="memitem"> 263 <div class="memdoc">
234 <div class="memproto"> 264
235 <table class="memname"> 265 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00225">225</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>
236 <tr> 266
237 <td class="memname">typedef std::vector&lt;std::string&gt; <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code> </td> 267 </div>
238 </tr> 268 </div>
239 </table> 269 <hr/><h2>Member Enumeration Documentation</h2>
240 </div> 270 <a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::Plugin::InputDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bc" args="" -->
241 <div class="memdoc"> 271 <div class="memitem">
242 272 <div class="memproto">
243 <p> 273 <table class="memname">
244 274 <tr>
245 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00225">225</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p> 275 <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a></td>
246 276 </tr>
247 </div> 277 </table>
248 </div><p> 278 </div>
249 <hr><h2>Member Enumeration Documentation</h2> 279 <div class="memdoc">
250 <a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::Plugin::InputDomain" ref="39cb7649d6dcc20e4cb1640cd55907bc" args="" --> 280 <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
251 <div class="memitem"> 281 <tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em>&nbsp;</td><td>
252 <div class="memproto">
253 <table class="memname">
254 <tr>
255 <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a> </td>
256 </tr>
257 </table>
258 </div>
259 <div class="memdoc">
260
261 <p>
262 <dl compact><dt><b>Enumerator: </b></dt><dd>
263 <table border="0" cellspacing="2" cellpadding="0">
264 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em>&nbsp;</td><td>
265 </td></tr> 282 </td></tr>
266 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em>&nbsp;</td><td> 283 <tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em>&nbsp;</td><td>
267 </td></tr> 284 </td></tr>
268 </table> 285 </table>
286 </dd>
269 </dl> 287 </dl>
270 288
271 <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> 289 <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>
272 290
273 </div> 291 </div>
274 </div><p> 292 </div>
275 <hr><h2>Constructor &amp; Destructor Documentation</h2> 293 <hr/><h2>Constructor &amp; Destructor Documentation</h2>
276 <a class="anchor" name="42d3096f9c1f58b1876024cd8d9ab80b"></a><!-- doxytag: member="Vamp::Plugin::~Plugin" ref="42d3096f9c1f58b1876024cd8d9ab80b" args="()" --> 294 <a class="anchor" id="a42d3096f9c1f58b1876024cd8d9ab80b"></a><!-- doxytag: member="Vamp::Plugin::~Plugin" ref="a42d3096f9c1f58b1876024cd8d9ab80b" args="()" -->
277 <div class="memitem"> 295 <div class="memitem">
278 <div class="memproto"> 296 <div class="memproto">
279 <table class="memname"> 297 <table class="memname">
280 <tr> 298 <tr>
281 <td class="memname">virtual Vamp::Plugin::~Plugin </td> 299 <td class="memname">virtual Vamp::Plugin::~Plugin </td>
282 <td>(</td> 300 <td>(</td>
283 <td class="paramname"> </td> 301 <td class="paramname"></td><td>)</td>
284 <td>&nbsp;)&nbsp;</td>
285 <td><code> [inline, virtual]</code></td> 302 <td><code> [inline, virtual]</code></td>
286 </tr> 303 </tr>
287 </table> 304 </table>
288 </div> 305 </div>
289 <div class="memdoc"> 306 <div class="memdoc">
290 307
291 <p> 308 <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>
292 309
293 <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> 310 </div>
294 311 </div>
295 </div> 312 <a class="anchor" id="a1b78c4f46c72ef345ed27f0b9bf20ac9"></a><!-- doxytag: member="Vamp::Plugin::Plugin" ref="a1b78c4f46c72ef345ed27f0b9bf20ac9" args="(float inputSampleRate)" -->
296 </div><p> 313 <div class="memitem">
297 <a class="anchor" name="1b78c4f46c72ef345ed27f0b9bf20ac9"></a><!-- doxytag: member="Vamp::Plugin::Plugin" ref="1b78c4f46c72ef345ed27f0b9bf20ac9" args="(float inputSampleRate)" --> 314 <div class="memproto">
298 <div class="memitem"> 315 <table class="memname">
299 <div class="memproto"> 316 <tr>
300 <table class="memname"> 317 <td class="memname">Vamp::Plugin::Plugin </td>
301 <tr> 318 <td>(</td>
302 <td class="memname">Vamp::Plugin::Plugin </td> 319 <td class="paramtype">float&#160;</td>
303 <td>(</td> 320 <td class="paramname"><em>inputSampleRate</em></td><td>)</td>
304 <td class="paramtype">float&nbsp;</td>
305 <td class="paramname"> <em>inputSampleRate</em> </td>
306 <td>&nbsp;)&nbsp;</td>
307 <td><code> [inline, protected]</code></td> 321 <td><code> [inline, protected]</code></td>
308 </tr> 322 </tr>
309 </table> 323 </table>
310 </div> 324 </div>
311 <div class="memdoc"> 325 <div class="memdoc">
312 326
313 <p> 327 <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>
314 328
315 <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> 329 </div>
316 330 </div>
317 </div> 331 <hr/><h2>Member Function Documentation</h2>
318 </div><p> 332 <a class="anchor" id="af26212cf5fc511b603a8b48034247822"></a><!-- doxytag: member="Vamp::Plugin::initialise" ref="af26212cf5fc511b603a8b48034247822" args="(size_t inputChannels, size_t stepSize, size_t blockSize)=0" -->
319 <hr><h2>Member Function Documentation</h2> 333 <div class="memitem">
320 <a class="anchor" name="f26212cf5fc511b603a8b48034247822"></a><!-- doxytag: member="Vamp::Plugin::initialise" ref="f26212cf5fc511b603a8b48034247822" args="(size_t inputChannels, size_t stepSize, size_t blockSize)=0" --> 334 <div class="memproto">
321 <div class="memitem"> 335 <table class="memname">
322 <div class="memproto"> 336 <tr>
323 <table class="memname"> 337 <td class="memname">virtual bool Vamp::Plugin::initialise </td>
324 <tr> 338 <td>(</td>
325 <td class="memname">virtual bool Vamp::Plugin::initialise </td> 339 <td class="paramtype">size_t&#160;</td>
326 <td>(</td> 340 <td class="paramname"><em>inputChannels</em>, </td>
327 <td class="paramtype">size_t&nbsp;</td>
328 <td class="paramname"> <em>inputChannels</em>, </td>
329 </tr> 341 </tr>
330 <tr> 342 <tr>
331 <td class="paramkey"></td> 343 <td class="paramkey"></td>
332 <td></td> 344 <td></td>
333 <td class="paramtype">size_t&nbsp;</td> 345 <td class="paramtype">size_t&#160;</td>
334 <td class="paramname"> <em>stepSize</em>, </td> 346 <td class="paramname"><em>stepSize</em>, </td>
335 </tr> 347 </tr>
336 <tr> 348 <tr>
337 <td class="paramkey"></td> 349 <td class="paramkey"></td>
338 <td></td> 350 <td></td>
339 <td class="paramtype">size_t&nbsp;</td> 351 <td class="paramtype">size_t&#160;</td>
340 <td class="paramname"> <em>blockSize</em></td><td>&nbsp;</td> 352 <td class="paramname"><em>blockSize</em>&#160;</td>
341 </tr> 353 </tr>
342 <tr> 354 <tr>
343 <td></td> 355 <td></td>
344 <td>)</td> 356 <td>)</td>
345 <td></td><td></td><td><code> [pure virtual]</code></td> 357 <td></td><td><code> [pure virtual]</code></td>
346 </tr> 358 </tr>
347 </table> 359 </table>
348 </div> 360 </div>
349 <div class="memdoc"> 361 <div class="memdoc">
350 362
351 <p> 363 <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>
352 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). 364 <p>The input sample rate should have been already specified at construction time.</p>
353 <p> 365 <p>Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. </p>
354 The input sample rate should have been already specified at construction time.<p> 366
355 Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. 367 <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>
356 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#de0473c8fc54636431967cbf41649c1c">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#dd6a2f1ee7e47bd97fa599cead14b738">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#72d201eca10ec73bf16e07984f58f94c">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#1e994576d43efe103bf8f83b69716745">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#eb727e44ee8ad1aceb90964d20f8d90d">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a7500a4ffbc4653baaf5101defdb37f5">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#349c528260622308f3850bcda8a448ab">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#e2d046334c4bede5be72a0d97e4dfb29">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#ab1ae16f5c68e2b319668f447908cedb">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#f21bbcc87a6eb7875dfab7d86222dccc">ZeroCrossing</a>.</p> 368
357 369 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p>
358 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p> 370
359 371 </div>
360 </div> 372 </div>
361 </div><p> 373 <a class="anchor" id="aad67dc9d0052417511070c4ebcfbf24f"></a><!-- doxytag: member="Vamp::Plugin::reset" ref="aad67dc9d0052417511070c4ebcfbf24f" args="()=0" -->
362 <a class="anchor" name="ad67dc9d0052417511070c4ebcfbf24f"></a><!-- doxytag: member="Vamp::Plugin::reset" ref="ad67dc9d0052417511070c4ebcfbf24f" args="()=0" --> 374 <div class="memitem">
363 <div class="memitem"> 375 <div class="memproto">
364 <div class="memproto"> 376 <table class="memname">
365 <table class="memname"> 377 <tr>
366 <tr> 378 <td class="memname">virtual void Vamp::Plugin::reset </td>
367 <td class="memname">virtual void Vamp::Plugin::reset </td> 379 <td>(</td>
368 <td>(</td> 380 <td class="paramname"></td><td>)</td>
369 <td class="paramname"> </td>
370 <td>&nbsp;)&nbsp;</td>
371 <td><code> [pure virtual]</code></td> 381 <td><code> [pure virtual]</code></td>
372 </tr> 382 </tr>
373 </table> 383 </table>
374 </div> 384 </div>
375 <div class="memdoc"> 385 <div class="memdoc">
376 386
377 <p> 387 <p>Reset the plugin after use, to prepare it for another clean run. </p>
378 Reset the plugin after use, to prepare it for another clean run. 388 <p>Not called for the first initialisation (i.e. initialise must also do a reset). </p>
379 <p> 389
380 Not called for the first initialisation (i.e. initialise must also do a reset). 390 <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>
381 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#131fd9fe8a1795d7370d8a721176868a">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#5d54c5bbd76bc27b7a243827148afeaa">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#984a12b5b4cb0be1e2f7a0aa84106c4c">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#3402381d145d507bd26d1a67e3616911">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#d19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#cebd835e80e84669df078fbd7591d8f7">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#c41708397255400c6682fee6c1b3d45f">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#9b1075e992cd9599764ef3881fb91d1a">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#091ba21e1697ea4208f42e8295c389d9">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#9b5f5581691ff8f46bb7674d8d74395c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#9ae6c4a31ea027dceb1e97ead807e228">ZeroCrossing</a>.</p> 391
382 392 </div>
383 </div> 393 </div>
384 </div><p> 394 <a class="anchor" id="ae1d317a9702cbeda65ddf0ec500c1ff6"></a><!-- doxytag: member="Vamp::Plugin::getInputDomain" ref="ae1d317a9702cbeda65ddf0ec500c1ff6" args="() const =0" -->
385 <a class="anchor" name="e1d317a9702cbeda65ddf0ec500c1ff6"></a><!-- doxytag: member="Vamp::Plugin::getInputDomain" ref="e1d317a9702cbeda65ddf0ec500c1ff6" args="() const =0" --> 395 <div class="memitem">
386 <div class="memitem"> 396 <div class="memproto">
387 <div class="memproto"> 397 <table class="memname">
388 <table class="memname"> 398 <tr>
389 <tr> 399 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::Plugin::getInputDomain </td>
390 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::Plugin::getInputDomain </td> 400 <td>(</td>
391 <td>(</td> 401 <td class="paramname"></td><td>)</td>
392 <td class="paramname"> </td>
393 <td>&nbsp;)&nbsp;</td>
394 <td> const<code> [pure virtual]</code></td> 402 <td> const<code> [pure virtual]</code></td>
395 </tr> 403 </tr>
396 </table> 404 </table>
397 </div> 405 </div>
398 <div class="memdoc"> 406 <div class="memdoc">
399 407
400 <p> 408 <p>Get the plugin's required input domain. </p>
401 Get the plugin's required input domain. 409 <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>
402 <p> 410 <p>If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a>. The input data for the FFT will be rotated so as to place the origin in the centre of the block. The plugin does not get to choose the window type -- the host will either let the user do so, or will use a Hanning window. </p>
403 If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" 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> 411
404 If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a>. The input data for the FFT will be rotated so as to place the origin in the centre of the block. The plugin does not get to choose the window type -- the host will either let the user do so, or will use a Hanning window. 412 <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>
405 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#8e9d25673367c741631a60cbb36e91d2">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#e203faf8384c9e1fddc381409aa8a214">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#fc07a389b5f922b944b0350fd232d2eb">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#055689c9b41b0945e8d3cdbc3b8c3a2e">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#4f6954267696ee5bfa7dd1c4a6cfa92a">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#e04e0e34847a93f3444d04c802ee56ef">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#0ec2cb74c1c5f6e57d0bd9dcf7c8f469">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#afe2ce6ebd353a14c40db7e8e60f4051">ZeroCrossing</a>.</p> 413
406 414 <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>
407 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p> 415
408 416 </div>
409 </div> 417 </div>
410 </div><p> 418 <a class="anchor" id="aa529adf83f87a603954eb31407602aac"></a><!-- doxytag: member="Vamp::Plugin::getPreferredBlockSize" ref="aa529adf83f87a603954eb31407602aac" args="() const " -->
411 <a class="anchor" name="a529adf83f87a603954eb31407602aac"></a><!-- doxytag: member="Vamp::Plugin::getPreferredBlockSize" ref="a529adf83f87a603954eb31407602aac" args="() const " --> 419 <div class="memitem">
412 <div class="memitem"> 420 <div class="memproto">
413 <div class="memproto"> 421 <table class="memname">
414 <table class="memname"> 422 <tr>
415 <tr> 423 <td class="memname">virtual size_t Vamp::Plugin::getPreferredBlockSize </td>
416 <td class="memname">virtual size_t Vamp::Plugin::getPreferredBlockSize </td> 424 <td>(</td>
417 <td>(</td> 425 <td class="paramname"></td><td>)</td>
418 <td class="paramname"> </td>
419 <td>&nbsp;)&nbsp;</td>
420 <td> const<code> [inline, virtual]</code></td> 426 <td> const<code> [inline, virtual]</code></td>
421 </tr> 427 </tr>
422 </table> 428 </table>
423 </div> 429 </div>
424 <div class="memdoc"> 430 <div class="memdoc">
425 431
426 <p> 432 <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>
427 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#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). 433 <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>
428 <p> 434 <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>
429 This should be called before <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a>.<p> 435
430 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#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a> call. 436 <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>
431 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#21e45180b19873f9ab69fe7a4e184a03">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#d5e0ea8042bdec4dd18428991117e07a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#2c62a656313a819650656643a867ad01">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#68b8569b71504a0478caf990dbe30683">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#410c0b47c6c849d7ed9b726b84402ad0">PercussionOnsetDetector</a>.</p> 437
432 438 <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>
433 <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> 439
434 440 <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>
435 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p> 441
436 442 </div>
437 </div> 443 </div>
438 </div><p> 444 <a class="anchor" id="a514c716c22f81c055f19b56c3f882567"></a><!-- doxytag: member="Vamp::Plugin::getPreferredStepSize" ref="a514c716c22f81c055f19b56c3f882567" args="() const " -->
439 <a class="anchor" name="514c716c22f81c055f19b56c3f882567"></a><!-- doxytag: member="Vamp::Plugin::getPreferredStepSize" ref="514c716c22f81c055f19b56c3f882567" args="() const " --> 445 <div class="memitem">
440 <div class="memitem"> 446 <div class="memproto">
441 <div class="memproto"> 447 <table class="memname">
442 <table class="memname"> 448 <tr>
443 <tr> 449 <td class="memname">virtual size_t Vamp::Plugin::getPreferredStepSize </td>
444 <td class="memname">virtual size_t Vamp::Plugin::getPreferredStepSize </td> 450 <td>(</td>
445 <td>(</td> 451 <td class="paramname"></td><td>)</td>
446 <td class="paramname"> </td>
447 <td>&nbsp;)&nbsp;</td>
448 <td> const<code> [inline, virtual]</code></td> 452 <td> const<code> [inline, virtual]</code></td>
449 </tr> 453 </tr>
450 </table> 454 </table>
451 </div> 455 </div>
452 <div class="memdoc"> 456 <div class="memdoc">
453 457
454 <p> 458 <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>
455 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#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. 459 <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>
456 <p> 460 <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>
457 This should be called before <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a>.<p> 461
458 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#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a> call. 462 <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>
459 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#859ad5d59402691daed3cf1af1899ebe">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#d979af9f1cbf2eeb16f4eaedb4a4f565">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#d450bb7e7df559ae3d68dfbfb085676f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#733824891e11c306a7a678534b89b968">PercussionOnsetDetector</a>.</p> 463
460 464 <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>
461 <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> 465
462 466 <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>
463 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p> 467
464 468 </div>
465 </div> 469 </div>
466 </div><p> 470 <a class="anchor" id="a267b42e866df3cf0d190893e8096f525"></a><!-- doxytag: member="Vamp::Plugin::getMinChannelCount" ref="a267b42e866df3cf0d190893e8096f525" args="() const " -->
467 <a class="anchor" name="267b42e866df3cf0d190893e8096f525"></a><!-- doxytag: member="Vamp::Plugin::getMinChannelCount" ref="267b42e866df3cf0d190893e8096f525" args="() const " --> 471 <div class="memitem">
468 <div class="memitem"> 472 <div class="memproto">
469 <div class="memproto"> 473 <table class="memname">
470 <table class="memname"> 474 <tr>
471 <tr> 475 <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td>
472 <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td> 476 <td>(</td>
473 <td>(</td> 477 <td class="paramname"></td><td>)</td>
474 <td class="paramname"> </td>
475 <td>&nbsp;)&nbsp;</td>
476 <td> const<code> [inline, virtual]</code></td> 478 <td> const<code> [inline, virtual]</code></td>
477 </tr> 479 </tr>
478 </table> 480 </table>
479 </div> 481 </div>
480 <div class="memdoc"> 482 <div class="memdoc">
481 483
482 <p> 484 <p>Get the minimum supported number of input channels. </p>
483 Get the minimum supported number of input channels. 485
484 <p> 486 <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>
485 487
486 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#67d1198c0e58d3f0076d0eda599ff28d">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#2b28f1cf37d46a514f1e1411a6037bf8">Vamp::HostExt::PluginWrapper</a>.</p> 488 <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>
487 489
488 <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> 490 <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>
489 491
490 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp-source.html#l00092">PowerSpectrum::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp-source.html#l00676">FixedTempoEstimator::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">AmplitudeFollower::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p> 492 </div>
491 493 </div>
492 </div> 494 <a class="anchor" id="a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="Vamp::Plugin::getMaxChannelCount" ref="a2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " -->
493 </div><p> 495 <div class="memitem">
494 <a class="anchor" name="2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="Vamp::Plugin::getMaxChannelCount" ref="2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " --> 496 <div class="memproto">
495 <div class="memitem"> 497 <table class="memname">
496 <div class="memproto"> 498 <tr>
497 <table class="memname"> 499 <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td>
498 <tr> 500 <td>(</td>
499 <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td> 501 <td class="paramname"></td><td>)</td>
500 <td>(</td>
501 <td class="paramname"> </td>
502 <td>&nbsp;)&nbsp;</td>
503 <td> const<code> [inline, virtual]</code></td> 502 <td> const<code> [inline, virtual]</code></td>
504 </tr> 503 </tr>
505 </table> 504 </table>
506 </div> 505 </div>
507 <div class="memdoc"> 506 <div class="memdoc">
508 507
509 <p> 508 <p>Get the maximum supported number of input channels. </p>
510 Get the maximum supported number of input channels. 509
511 <p> 510 <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>
512 511
513 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#25091905e97e39d515d8ffc1a9f2b9e0">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#985eb21f1827bfbc3950d6871b107a58">Vamp::HostExt::PluginWrapper</a>.</p> 512 <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>
514 513
515 <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> 514 <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>
516 515
517 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp-source.html#l00092">PowerSpectrum::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp-source.html#l00676">FixedTempoEstimator::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">AmplitudeFollower::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p> 516 </div>
518 517 </div>
519 </div> 518 <a class="anchor" id="ad064d5d132b5c9bd7064f429c3309e35"></a><!-- doxytag: member="Vamp::Plugin::getOutputDescriptors" ref="ad064d5d132b5c9bd7064f429c3309e35" args="() const =0" -->
520 </div><p> 519 <div class="memitem">
521 <a class="anchor" name="d064d5d132b5c9bd7064f429c3309e35"></a><!-- doxytag: member="Vamp::Plugin::getOutputDescriptors" ref="d064d5d132b5c9bd7064f429c3309e35" args="() const =0" --> 520 <div class="memproto">
522 <div class="memitem"> 521 <table class="memname">
523 <div class="memproto"> 522 <tr>
524 <table class="memname"> 523 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::Plugin::getOutputDescriptors </td>
525 <tr> 524 <td>(</td>
526 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::Plugin::getOutputDescriptors </td> 525 <td class="paramname"></td><td>)</td>
527 <td>(</td>
528 <td class="paramname"> </td>
529 <td>&nbsp;)&nbsp;</td>
530 <td> const<code> [pure virtual]</code></td> 526 <td> const<code> [pure virtual]</code></td>
531 </tr> 527 </tr>
532 </table> 528 </table>
533 </div> 529 </div>
534 <div class="memdoc"> 530 <div class="memdoc">
535 531
536 <p> 532 <p>Get the outputs of this plugin. </p>
537 Get the outputs of this plugin. 533 <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>
538 <p> 534
539 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#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> call. 535 <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>
540 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#f8cc914897a284433de220f1153f3845">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#9649a113da0252fe8bd9fc731b047ae0">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#5a9411305f713b4c9827844b89acd270">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#043e3c3db77d76267cd8069e1485bf26">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#83121c205a723fe6297e2bf8870622a4">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#a4537aa0eb58a67d6e824d46924cf782">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#6aac5f93e3a8c033026d739fed427242">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#894ca9740927102bb80b56b5e9e95877">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#c9d590a6feb1fc9a37d7892aefe2b688">ZeroCrossing</a>.</p> 536
541 537 <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>
542 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p> 538
543 539 </div>
544 </div> 540 </div>
545 </div><p> 541 <a class="anchor" id="ae4aed3bebfe80a2e2fccd3d37af26996"></a><!-- doxytag: member="Vamp::Plugin::process" ref="ae4aed3bebfe80a2e2fccd3d37af26996" args="(const float *const *inputBuffers, RealTime timestamp)=0" -->
546 <a class="anchor" name="e4aed3bebfe80a2e2fccd3d37af26996"></a><!-- doxytag: member="Vamp::Plugin::process" ref="e4aed3bebfe80a2e2fccd3d37af26996" args="(const float *const *inputBuffers, RealTime timestamp)=0" --> 542 <div class="memitem">
547 <div class="memitem"> 543 <div class="memproto">
548 <div class="memproto"> 544 <table class="memname">
549 <table class="memname"> 545 <tr>
550 <tr> 546 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::Plugin::process </td>
551 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::Plugin::process </td> 547 <td>(</td>
552 <td>(</td> 548 <td class="paramtype">const float *const *&#160;</td>
553 <td class="paramtype">const float *const *&nbsp;</td> 549 <td class="paramname"><em>inputBuffers</em>, </td>
554 <td class="paramname"> <em>inputBuffers</em>, </td>
555 </tr> 550 </tr>
556 <tr> 551 <tr>
557 <td class="paramkey"></td> 552 <td class="paramkey"></td>
558 <td></td> 553 <td></td>
559 <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a>&nbsp;</td> 554 <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a>&#160;</td>
560 <td class="paramname"> <em>timestamp</em></td><td>&nbsp;</td> 555 <td class="paramname"><em>timestamp</em>&#160;</td>
561 </tr> 556 </tr>
562 <tr> 557 <tr>
563 <td></td> 558 <td></td>
564 <td>)</td> 559 <td>)</td>
565 <td></td><td></td><td><code> [pure virtual]</code></td> 560 <td></td><td><code> [pure virtual]</code></td>
566 </tr> 561 </tr>
567 </table> 562 </table>
568 </div> 563 </div>
569 <div class="memdoc"> 564 <div class="memdoc">
570 565
571 <p> 566 <p>Process a single block of input data. </p>
572 Process a single block of input data. 567 <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>
573 <p> 568 <p>If the plugin's inputDomain is FrequencyDomain, inputBuffers will point to one array of floats per input channel, and each of these arrays will contain blockSize/2+1 consecutive pairs of real and imaginary component floats corresponding to bins 0..(blockSize/2) of the FFT output. That is, bin 0 (the first pair of floats) contains the DC output, up to bin blockSize/2 which contains the Nyquist-frequency output. There will therefore be blockSize+2 floats per channel in total. The timestamp will be the real time in seconds of the centre of the FFT input window (i.e. the very first block passed to process might contain the FFT of half a block of zero samples and the first half-block of the actual data, with a timestamp of zero).</p>
574 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> 569 <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>
575 If the plugin's inputDomain is FrequencyDomain, inputBuffers will point to one array of floats per input channel, and each of these arrays will contain blockSize/2+1 consecutive pairs of real and imaginary component floats corresponding to bins 0..(blockSize/2) of the FFT output. That is, bin 0 (the first pair of floats) contains the DC output, up to bin blockSize/2 which contains the Nyquist-frequency output. There will therefore be blockSize+2 floats per channel in total. The timestamp will be the real time in seconds of the centre of the FFT input window (i.e. the very first block passed to process might contain the FFT of half a block of zero samples and the first half-block of the actual data, with a timestamp of zero).<p> 570
576 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.) 571 <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>
577 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#55058a20c1f8bffc0dc927350df778a0">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#6ff37bf754ff8711dbcb2f020fa3902c">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#38fe1080b343ba10e5d8a4b30c87cbdd">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#b36a81ac9a0ded8d83c6b855263c0231">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#3314b456a4780601c021dac25b478846">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#48d0f95cac31ffd190cff89b50a2a5bd">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#1cf76b0e55cf4ed3da095cffcdeaec3c">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#dfd989812b3e0cb8f4b498f56a5a9614">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#a5664ffc2b37a16db471fae791c1f55f">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#ca96c70e7e75c9e4a7db38485018914c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#bf4aaa6fd8cc03de63f4e1e8942633da">ZeroCrossing</a>.</p> 572
578 573 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p>
579 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p> 574
580 575 </div>
581 </div> 576 </div>
582 </div><p> 577 <a class="anchor" id="aeca2a26e658ba0314ba90d25dd2195d6"></a><!-- doxytag: member="Vamp::Plugin::getRemainingFeatures" ref="aeca2a26e658ba0314ba90d25dd2195d6" args="()=0" -->
583 <a class="anchor" name="eca2a26e658ba0314ba90d25dd2195d6"></a><!-- doxytag: member="Vamp::Plugin::getRemainingFeatures" ref="eca2a26e658ba0314ba90d25dd2195d6" args="()=0" --> 578 <div class="memitem">
584 <div class="memitem"> 579 <div class="memproto">
585 <div class="memproto"> 580 <table class="memname">
586 <table class="memname"> 581 <tr>
587 <tr> 582 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::Plugin::getRemainingFeatures </td>
588 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::Plugin::getRemainingFeatures </td> 583 <td>(</td>
589 <td>(</td> 584 <td class="paramname"></td><td>)</td>
590 <td class="paramname"> </td>
591 <td>&nbsp;)&nbsp;</td>
592 <td><code> [pure virtual]</code></td> 585 <td><code> [pure virtual]</code></td>
593 </tr> 586 </tr>
594 </table> 587 </table>
595 </div> 588 </div>
596 <div class="memdoc"> 589 <div class="memdoc">
597 590
598 <p> 591 <p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p>
599 After all blocks have been processed, calculate and return any remaining features derived from the complete input. 592
600 <p> 593 <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>
601 594
602 <p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#28423951b2eda1a1fc371485434f417b">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#984a4c11f3fbdcfd90e4837b1619a5ab">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#e9dcbd1ba8197ff90b4fc6bf7ade7688">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#2bc8c0992e64f06991fb7cf89f99857e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#368606f643b88e0df0823d85e36f030c">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#4965cf99be77fc4d1de51e11d83936b0">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#d3d6767ed137783e84f842b4d4732ffa">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#c8a9661a785d38f4c5ce8ca2d53e69f9">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#83ba39f0870a2f86837605a958dfab1a">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#70996d1b7166e303903daf92a9a37ad8">ZeroCrossing</a>.</p> 595 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p>
603 596
604 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p> 597 </div>
605 598 </div>
606 </div> 599 <a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::Plugin::getType" ref="abe13b3997a69fbcc09e2213faa352f91" args="() const " -->
607 </div><p> 600 <div class="memitem">
608 <a class="anchor" name="be13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::Plugin::getType" ref="be13b3997a69fbcc09e2213faa352f91" args="() const " --> 601 <div class="memproto">
609 <div class="memitem"> 602 <table class="memname">
610 <div class="memproto"> 603 <tr>
611 <table class="memname"> 604 <td class="memname">virtual std::string Vamp::Plugin::getType </td>
612 <tr> 605 <td>(</td>
613 <td class="memname">virtual std::string Vamp::Plugin::getType </td> 606 <td class="paramname"></td><td>)</td>
614 <td>(</td>
615 <td class="paramname"> </td>
616 <td>&nbsp;)&nbsp;</td>
617 <td> const<code> [inline, virtual]</code></td> 607 <td> const<code> [inline, virtual]</code></td>
618 </tr> 608 </tr>
619 </table> 609 </table>
620 </div> 610 </div>
621 <div class="memdoc"> 611 <div class="memdoc">
622 612
623 <p> 613 <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>
624 Used to distinguish between <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction...">Vamp::Plugin</a> and other potential sibling subclasses of <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a>. 614 <p>Do not reimplement this function in your subclass. </p>
625 <p> 615
626 Do not reimplement this function in your subclass. 616 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p>
627 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> 617
628 618 <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>
629 <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> 619
630 620 </div>
631 </div> 621 </div>
632 </div><p> 622 <a class="anchor" id="a8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="Vamp::Plugin::getVampApiVersion" ref="a8fd2c48291c64b790f0efb8948508dcf" args="() const " -->
633 <a class="anchor" name="8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="Vamp::Plugin::getVampApiVersion" ref="8fd2c48291c64b790f0efb8948508dcf" args="() const " --> 623 <div class="memitem">
634 <div class="memitem"> 624 <div class="memproto">
635 <div class="memproto"> 625 <table class="memname">
636 <table class="memname"> 626 <tr>
637 <tr> 627 <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td>
638 <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td> 628 <td>(</td>
639 <td>(</td> 629 <td class="paramname"></td><td>)</td>
640 <td class="paramname"> </td>
641 <td>&nbsp;)&nbsp;</td>
642 <td> const<code> [inline, virtual, inherited]</code></td> 630 <td> const<code> [inline, virtual, inherited]</code></td>
643 </tr> 631 </tr>
644 </table> 632 </table>
645 </div> 633 </div>
646 <div class="memdoc"> 634 <div class="memdoc">
647 635
648 <p> 636 <p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p>
649 Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. 637
650 <p> 638 <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>
651 639
652 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#98aadddc8403eb46c9d8c5a9d1fdd19e">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#74147fda6b44ff2169bd4a1eea0d46ff">Vamp::HostExt::PluginWrapper</a>.</p> 640 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00072">72</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>
653 641
654 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00072">72</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p> 642 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p>
655 643
656 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>.</p> 644 </div>
657 645 </div>
658 </div> 646 <a class="anchor" id="ad1c6dfc77aa03d937a885b7f08258f4a"></a><!-- doxytag: member="Vamp::Plugin::getIdentifier" ref="ad1c6dfc77aa03d937a885b7f08258f4a" args="() const =0" -->
659 </div><p> 647 <div class="memitem">
660 <a class="anchor" name="d1c6dfc77aa03d937a885b7f08258f4a"></a><!-- doxytag: member="Vamp::Plugin::getIdentifier" ref="d1c6dfc77aa03d937a885b7f08258f4a" args="() const =0" --> 648 <div class="memproto">
661 <div class="memitem"> 649 <table class="memname">
662 <div class="memproto"> 650 <tr>
663 <table class="memname"> 651 <td class="memname">virtual std::string Vamp::PluginBase::getIdentifier </td>
664 <tr> 652 <td>(</td>
665 <td class="memname">virtual std::string Vamp::PluginBase::getIdentifier </td> 653 <td class="paramname"></td><td>)</td>
666 <td>(</td>
667 <td class="paramname"> </td>
668 <td>&nbsp;)&nbsp;</td>
669 <td> const<code> [pure virtual, inherited]</code></td> 654 <td> const<code> [pure virtual, inherited]</code></td>
670 </tr> 655 </tr>
671 </table> 656 </table>
672 </div> 657 </div>
673 <div class="memdoc"> 658 <div class="memdoc">
674 659
675 <p> 660 <p>Get the computer-usable name of the plugin. </p>
676 Get the computer-usable name of the plugin. 661 <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>
677 <p> 662 <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>
678 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> 663 <p>Example: "zero_crossings" </p>
679 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> 664
680 Example: "zero_crossings" 665 <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>
681 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#b27423a656f878d97d2ad2eba4e76c7a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#4baa9e48f717c2b3e7f92496aa39d904">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#fe7576af95c8fcc7f5bad42eec9f9f29">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#b818edcf1555177d10260e197e3a5e7a">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#267c83a7533146c127e2c3be310e0154">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#9e9d8349461cbb88d7565a5e8c51b64e">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#1b2c4c8440c024c4c635fcef5697949f">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#f2baf9e19fcdd11cfe97ace56d4f5c1a">ZeroCrossing</a>.</p> 666
682 667 <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>
683 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p> 668
684 669 </div>
685 </div> 670 </div>
686 </div><p> 671 <a class="anchor" id="a18619d5097e444ecefee0c359da53232"></a><!-- doxytag: member="Vamp::Plugin::getName" ref="a18619d5097e444ecefee0c359da53232" args="() const =0" -->
687 <a class="anchor" name="18619d5097e444ecefee0c359da53232"></a><!-- doxytag: member="Vamp::Plugin::getName" ref="18619d5097e444ecefee0c359da53232" args="() const =0" --> 672 <div class="memitem">
688 <div class="memitem"> 673 <div class="memproto">
689 <div class="memproto"> 674 <table class="memname">
690 <table class="memname"> 675 <tr>
691 <tr> 676 <td class="memname">virtual std::string Vamp::PluginBase::getName </td>
692 <td class="memname">virtual std::string Vamp::PluginBase::getName </td> 677 <td>(</td>
693 <td>(</td> 678 <td class="paramname"></td><td>)</td>
694 <td class="paramname"> </td>
695 <td>&nbsp;)&nbsp;</td>
696 <td> const<code> [pure virtual, inherited]</code></td> 679 <td> const<code> [pure virtual, inherited]</code></td>
697 </tr> 680 </tr>
698 </table> 681 </table>
699 </div> 682 </div>
700 <div class="memdoc"> 683 <div class="memdoc">
701 684
702 <p> 685 <p>Get a human-readable name or title of the plugin. </p>
703 Get a human-readable name or title of the plugin. 686 <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>
704 <p> 687 <p>Example: "Zero Crossings" </p>
705 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> 688
706 Example: "Zero Crossings" 689 <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>
707 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#45f1d0377e233eeddd1b7cefb48be62a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#c70a3265bb25aeb03f6dd8f8a0442088">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#7cfed00bc9d96ba6c709b69ab6a40594">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#f9eb6fa8a98aa66b55e64e1795f9405f">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#a98f1ad061a11af98c054011a8844e6f">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#c9214f9cafeeed3fca549c90aef57623">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#b7e6a620fea568af431be3cfd9dd5a41">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#fa96f7ce6e7d9f03768f48c6a9d88498">ZeroCrossing</a>.</p> 690
708 691 <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>
709 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00778">printPluginCategoryList()</a>.</p> 692
710 693 </div>
711 </div> 694 </div>
712 </div><p> 695 <a class="anchor" id="a59153a02364f75fff46973b2072e9e5a"></a><!-- doxytag: member="Vamp::Plugin::getDescription" ref="a59153a02364f75fff46973b2072e9e5a" args="() const =0" -->
713 <a class="anchor" name="59153a02364f75fff46973b2072e9e5a"></a><!-- doxytag: member="Vamp::Plugin::getDescription" ref="59153a02364f75fff46973b2072e9e5a" args="() const =0" --> 696 <div class="memitem">
714 <div class="memitem"> 697 <div class="memproto">
715 <div class="memproto"> 698 <table class="memname">
716 <table class="memname"> 699 <tr>
717 <tr> 700 <td class="memname">virtual std::string Vamp::PluginBase::getDescription </td>
718 <td class="memname">virtual std::string Vamp::PluginBase::getDescription </td> 701 <td>(</td>
719 <td>(</td> 702 <td class="paramname"></td><td>)</td>
720 <td class="paramname"> </td>
721 <td>&nbsp;)&nbsp;</td>
722 <td> const<code> [pure virtual, inherited]</code></td> 703 <td> const<code> [pure virtual, inherited]</code></td>
723 </tr> 704 </tr>
724 </table> 705 </table>
725 </div> 706 </div>
726 <div class="memdoc"> 707 <div class="memdoc">
727 708
728 <p> 709 <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 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". 710 <p>May be empty if the name has said it all already.</p>
730 <p> 711 <p>Example: "Detect and count zero crossing points" </p>
731 May be empty if the name has said it all already.<p> 712
732 Example: "Detect and count zero crossing points" 713 <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>
733 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#5eaafcef030e81b90a3e77cf16cf8ae1">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#c334f699c0996055942785410d8a065c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#6f0f2fea1fdb4b51e688edfe859d5062">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#06b00853f00c2e78d490697fcd7d1920">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#9061d189705802a48973a7ccab6360db">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#7b48d56dc954f3af344f7e4dcd8993e5">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#8fbb74a46283057d9a0b0e4718ee943c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#710bb0b013157adaeef2a9e6867b4478">ZeroCrossing</a>.</p> 714
734 715 <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>
735 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00778">printPluginCategoryList()</a>.</p> 716
736 717 </div>
737 </div> 718 </div>
738 </div><p> 719 <a class="anchor" id="a53d9918bf9ef4d12feedf66b2b26c637"></a><!-- doxytag: member="Vamp::Plugin::getMaker" ref="a53d9918bf9ef4d12feedf66b2b26c637" args="() const =0" -->
739 <a class="anchor" name="53d9918bf9ef4d12feedf66b2b26c637"></a><!-- doxytag: member="Vamp::Plugin::getMaker" ref="53d9918bf9ef4d12feedf66b2b26c637" args="() const =0" --> 720 <div class="memitem">
740 <div class="memitem"> 721 <div class="memproto">
741 <div class="memproto"> 722 <table class="memname">
742 <table class="memname"> 723 <tr>
743 <tr> 724 <td class="memname">virtual std::string Vamp::PluginBase::getMaker </td>
744 <td class="memname">virtual std::string Vamp::PluginBase::getMaker </td> 725 <td>(</td>
745 <td>(</td> 726 <td class="paramname"></td><td>)</td>
746 <td class="paramname"> </td>
747 <td>&nbsp;)&nbsp;</td>
748 <td> const<code> [pure virtual, inherited]</code></td> 727 <td> const<code> [pure virtual, inherited]</code></td>
749 </tr> 728 </tr>
750 </table> 729 </table>
751 </div> 730 </div>
752 <div class="memdoc"> 731 <div class="memdoc">
753 732
754 <p> 733 <p>Get the name of the author or vendor of the plugin in human-readable form. </p>
755 Get the name of the author or vendor of the plugin in human-readable form. 734 <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>
756 <p> 735
757 This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. 736 <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>
758 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#f572be0b175f5661559006a380a0f3db">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#59d5a2298951b317995675e664b1c7bb">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#44fc43838f203f58bc2ce6e3cb2b03dd">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#e910d1b9250b11097fd6b51cd8285b68">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#63d63f2cb7ea8d8b09d58cc13b541375">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#9f3e3f759e2b67c771a41f1c276984b2">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#c01ff858bf67e2e93ad5d24a6ba8c8c8">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#c68561634a3c329a029c2fd3deaeae2a">ZeroCrossing</a>.</p> 737
759 738 <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>
760 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00778">printPluginCategoryList()</a>.</p> 739
761 740 </div>
762 </div> 741 </div>
763 </div><p> 742 <a class="anchor" id="ab7e9dedbe965f5ab9018b72920fe7661"></a><!-- doxytag: member="Vamp::Plugin::getCopyright" ref="ab7e9dedbe965f5ab9018b72920fe7661" args="() const =0" -->
764 <a class="anchor" name="b7e9dedbe965f5ab9018b72920fe7661"></a><!-- doxytag: member="Vamp::Plugin::getCopyright" ref="b7e9dedbe965f5ab9018b72920fe7661" args="() const =0" --> 743 <div class="memitem">
765 <div class="memitem"> 744 <div class="memproto">
766 <div class="memproto"> 745 <table class="memname">
767 <table class="memname"> 746 <tr>
768 <tr> 747 <td class="memname">virtual std::string Vamp::PluginBase::getCopyright </td>
769 <td class="memname">virtual std::string Vamp::PluginBase::getCopyright </td> 748 <td>(</td>
770 <td>(</td> 749 <td class="paramname"></td><td>)</td>
771 <td class="paramname"> </td>
772 <td>&nbsp;)&nbsp;</td>
773 <td> const<code> [pure virtual, inherited]</code></td> 750 <td> const<code> [pure virtual, inherited]</code></td>
774 </tr> 751 </tr>
775 </table> 752 </table>
776 </div> 753 </div>
777 <div class="memdoc"> 754 <div class="memdoc">
778 755
779 <p> 756 <p>Get the copyright statement or licensing summary for the plugin. </p>
780 Get the copyright statement or licensing summary for the plugin. 757 <p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p>
781 <p> 758
782 This can be an informative text, without the same presentation constraints as mentioned for getMaker above. 759 <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>
783 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#c73c9d6baad04369beee695e99584815">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#e14f6ecb78be909c4cd5f0cdaed3c566">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#0c197fc90f30d91cb4403115c83c9134">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#50c6b64530c84c0707ba3936c5022a48">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#1a22ece271330c94cc08798a77416351">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#708b4d335c57643d5ef2b2e1caf43bd9">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#925747d513d598e0fa21ed0ed6520980">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#f9c41b92aa8ff8bddaebf75569ff789c">ZeroCrossing</a>.</p> 760
784 761 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p>
785 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>.</p> 762
786 763 </div>
787 </div> 764 </div>
788 </div><p> 765 <a class="anchor" id="a63f686d77bc3d6b807e7944cdde83151"></a><!-- doxytag: member="Vamp::Plugin::getPluginVersion" ref="a63f686d77bc3d6b807e7944cdde83151" args="() const =0" -->
789 <a class="anchor" name="63f686d77bc3d6b807e7944cdde83151"></a><!-- doxytag: member="Vamp::Plugin::getPluginVersion" ref="63f686d77bc3d6b807e7944cdde83151" args="() const =0" --> 766 <div class="memitem">
790 <div class="memitem"> 767 <div class="memproto">
791 <div class="memproto"> 768 <table class="memname">
792 <table class="memname"> 769 <tr>
793 <tr> 770 <td class="memname">virtual int Vamp::PluginBase::getPluginVersion </td>
794 <td class="memname">virtual int Vamp::PluginBase::getPluginVersion </td> 771 <td>(</td>
795 <td>(</td> 772 <td class="paramname"></td><td>)</td>
796 <td class="paramname"> </td>
797 <td>&nbsp;)&nbsp;</td>
798 <td> const<code> [pure virtual, inherited]</code></td> 773 <td> const<code> [pure virtual, inherited]</code></td>
799 </tr> 774 </tr>
800 </table> 775 </table>
801 </div> 776 </div>
802 <div class="memdoc"> 777 <div class="memdoc">
803 778
804 <p> 779 <p>Get the version number of the plugin. </p>
805 Get the version number of the plugin. 780
806 <p> 781 <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>
807 782
808 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#6fbd94781867ca46a20368c2a3593c77">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#47e1acf1696813008324a915c9ba59c5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#8a5d7a834eb996d517c51f84b2a72250">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#d002fddb3735c2dd7e31e6a9def9949f">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#d6b818dbd81867ce7be71c99cae861be">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#d23d27e4e82f10404a37b933f6a72c33">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#f64622e66bf678ac2b0b58aa832ca2b3">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#d685f6c2f443f07a1634550c335571eb">ZeroCrossing</a>.</p> 783 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p>
809 784
810 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>.</p> 785 </div>
811 786 </div>
812 </div> 787 <a class="anchor" id="aac3e49b3b66cacfbb768dfdf07444f21"></a><!-- doxytag: member="Vamp::Plugin::getParameterDescriptors" ref="aac3e49b3b66cacfbb768dfdf07444f21" args="() const " -->
813 </div><p> 788 <div class="memitem">
814 <a class="anchor" name="ac3e49b3b66cacfbb768dfdf07444f21"></a><!-- doxytag: member="Vamp::Plugin::getParameterDescriptors" ref="ac3e49b3b66cacfbb768dfdf07444f21" args="() const " --> 789 <div class="memproto">
815 <div class="memitem"> 790 <table class="memname">
816 <div class="memproto"> 791 <tr>
817 <table class="memname"> 792 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginBase::getParameterDescriptors </td>
818 <tr> 793 <td>(</td>
819 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginBase::getParameterDescriptors </td> 794 <td class="paramname"></td><td>)</td>
820 <td>(</td>
821 <td class="paramname"> </td>
822 <td>&nbsp;)&nbsp;</td>
823 <td> const<code> [inline, virtual, inherited]</code></td> 795 <td> const<code> [inline, virtual, inherited]</code></td>
824 </tr> 796 </tr>
825 </table> 797 </table>
826 </div> 798 </div>
827 <div class="memdoc"> 799 <div class="memdoc">
828 800
829 <p> 801 <p>Get the controllable parameters of this plugin. </p>
830 Get the controllable parameters of this plugin. 802
831 <p> 803 <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>
832 804
833 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#602faa0bfaae83e2ca53b36292271a76">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#9be71561265c2e6e43b7feaddaa91f36">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#9df01323a09e117bc12354ebe9244edf">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#e157465a4e07d180bab05b5c3a4d8987">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#bceae88cc9762b0ea310d7aad71de815">PercussionOnsetDetector</a>.</p> 805 <p>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>
834 806
835 <p>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> 807 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p>
836 808
837 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>.</p> 809 </div>
838 810 </div>
839 </div> 811 <a class="anchor" id="a97ababcd45348ceec998d0f8e0f38bf7"></a><!-- doxytag: member="Vamp::Plugin::getParameter" ref="a97ababcd45348ceec998d0f8e0f38bf7" args="(std::string) const " -->
840 </div><p> 812 <div class="memitem">
841 <a class="anchor" name="97ababcd45348ceec998d0f8e0f38bf7"></a><!-- doxytag: member="Vamp::Plugin::getParameter" ref="97ababcd45348ceec998d0f8e0f38bf7" args="(std::string) const " --> 813 <div class="memproto">
842 <div class="memitem"> 814 <table class="memname">
843 <div class="memproto"> 815 <tr>
844 <table class="memname"> 816 <td class="memname">virtual float Vamp::PluginBase::getParameter </td>
845 <tr> 817 <td>(</td>
846 <td class="memname">virtual float Vamp::PluginBase::getParameter </td> 818 <td class="paramtype">std::string&#160;</td>
847 <td>(</td> 819 <td class="paramname"></td><td>)</td>
848 <td class="paramtype">std::string&nbsp;</td>
849 <td class="paramname"> </td>
850 <td>&nbsp;)&nbsp;</td>
851 <td> const<code> [inline, virtual, inherited]</code></td> 820 <td> const<code> [inline, virtual, inherited]</code></td>
852 </tr> 821 </tr>
853 </table> 822 </table>
854 </div> 823 </div>
855 <div class="memdoc"> 824 <div class="memdoc">
856 825
857 <p> 826 <p>Get the value of a named parameter. </p>
858 Get the value of a named parameter. 827 <p>The argument is the identifier field from that parameter's descriptor. </p>
859 <p> 828
860 The argument is the identifier field from that parameter's descriptor. 829 <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>
861 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#f0c46d4f67ca93be7c76f3ea2e6c8efb">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#034920f56c8d7609a85447c42556048c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#b278c4b6f2ca23248dc94ad775273f39">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#2030b05fb1228b30ace16200780c9152">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#9b28da8315fcde46ce7644d6592ba527">PercussionOnsetDetector</a>.</p> 830
862 831 <p>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>
863 <p>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> 832
864 833 </div>
865 </div> 834 </div>
866 </div><p> 835 <a class="anchor" id="a6c718ce822f7b73b98940d59dcaa9366"></a><!-- doxytag: member="Vamp::Plugin::setParameter" ref="a6c718ce822f7b73b98940d59dcaa9366" args="(std::string, float)" -->
867 <a class="anchor" name="6c718ce822f7b73b98940d59dcaa9366"></a><!-- doxytag: member="Vamp::Plugin::setParameter" ref="6c718ce822f7b73b98940d59dcaa9366" args="(std::string, float)" --> 836 <div class="memitem">
868 <div class="memitem"> 837 <div class="memproto">
869 <div class="memproto"> 838 <table class="memname">
870 <table class="memname"> 839 <tr>
871 <tr> 840 <td class="memname">virtual void Vamp::PluginBase::setParameter </td>
872 <td class="memname">virtual void Vamp::PluginBase::setParameter </td> 841 <td>(</td>
873 <td>(</td> 842 <td class="paramtype">std::string&#160;</td>
874 <td class="paramtype">std::string&nbsp;</td>
875 <td class="paramname">, </td> 843 <td class="paramname">, </td>
876 </tr> 844 </tr>
877 <tr> 845 <tr>
878 <td class="paramkey"></td> 846 <td class="paramkey"></td>
879 <td></td> 847 <td></td>
880 <td class="paramtype">float&nbsp;</td> 848 <td class="paramtype">float&#160;</td>
881 <td class="paramname"></td><td>&nbsp;</td> 849 <td class="paramname">&#160;</td>
882 </tr> 850 </tr>
883 <tr> 851 <tr>
884 <td></td> 852 <td></td>
885 <td>)</td> 853 <td>)</td>
886 <td></td><td></td><td><code> [inline, virtual, inherited]</code></td> 854 <td></td><td><code> [inline, virtual, inherited]</code></td>
887 </tr> 855 </tr>
888 </table> 856 </table>
889 </div> 857 </div>
890 <div class="memdoc"> 858 <div class="memdoc">
891 859
892 <p> 860 <p>Set a named parameter. </p>
893 Set a named parameter. 861 <p>The first argument is the identifier field from that parameter's descriptor. </p>
894 <p> 862
895 The first argument is the identifier field from that parameter's descriptor. 863 <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>
896 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#29f75395aa75b9de0228aa11edf9c6d6">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#e1fc37ece4d20e40f3066a3361a99340">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#8a5a413025384cf451c64d2c2ce13a75">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a097d72488e1211f05fc661ff5c6dc01">PercussionOnsetDetector</a>.</p> 864
897 865 <p>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>
898 <p>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> 866
899 867 </div>
900 </div> 868 </div>
901 </div><p> 869 <a class="anchor" id="abb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="Vamp::Plugin::getPrograms" ref="abb307c60bdb981d5f5af50c3c4ae84af" args="() const " -->
902 <a class="anchor" name="bb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="Vamp::Plugin::getPrograms" ref="bb307c60bdb981d5f5af50c3c4ae84af" args="() const " --> 870 <div class="memitem">
903 <div class="memitem"> 871 <div class="memproto">
904 <div class="memproto"> 872 <table class="memname">
905 <table class="memname"> 873 <tr>
906 <tr> 874 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td>
907 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td> 875 <td>(</td>
908 <td>(</td> 876 <td class="paramname"></td><td>)</td>
909 <td class="paramname"> </td>
910 <td>&nbsp;)&nbsp;</td>
911 <td> const<code> [inline, virtual, inherited]</code></td> 877 <td> const<code> [inline, virtual, inherited]</code></td>
912 </tr> 878 </tr>
913 </table> 879 </table>
914 </div> 880 </div>
915 <div class="memdoc"> 881 <div class="memdoc">
916 882
917 <p> 883 <p>Get the program settings available in this plugin. </p>
918 Get the program settings available in this plugin. 884 <p>A program is a named shorthand for a set of parameter values; changing the program may cause the plugin to alter the values of its published parameters (and/or non-public internal processing parameters). The host should re-read the plugin's parameter values after setting a new program.</p>
919 <p> 885 <p>The programs must have unique names. </p>
920 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> 886
921 The programs must have unique names. 887 <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>
922 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#e0cde5cd625418c1bc470b91f75daafc">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#131fbe1df81215020b9aa8cecef4c802">Vamp::HostExt::PluginWrapper</a>.</p> 888
923 889 <p>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>
924 <p>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> 890
925 891 </div>
926 </div> 892 </div>
927 </div><p> 893 <a class="anchor" id="a24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="Vamp::Plugin::getCurrentProgram" ref="a24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " -->
928 <a class="anchor" name="24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="Vamp::Plugin::getCurrentProgram" ref="24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " --> 894 <div class="memitem">
929 <div class="memitem"> 895 <div class="memproto">
930 <div class="memproto"> 896 <table class="memname">
931 <table class="memname"> 897 <tr>
932 <tr> 898 <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td>
933 <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td> 899 <td>(</td>
934 <td>(</td> 900 <td class="paramname"></td><td>)</td>
935 <td class="paramname"> </td>
936 <td>&nbsp;)&nbsp;</td>
937 <td> const<code> [inline, virtual, inherited]</code></td> 901 <td> const<code> [inline, virtual, inherited]</code></td>
938 </tr> 902 </tr>
939 </table> 903 </table>
940 </div> 904 </div>
941 <div class="memdoc"> 905 <div class="memdoc">
942 906
943 <p> 907 <p>Get the current program. </p>
944 Get the current program. 908
945 <p> 909 <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>
946 910
947 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#34859eff8ca8d862af39be9636ec1867">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#7a312dd42d161064b70afd7ff24c0651">Vamp::HostExt::PluginWrapper</a>.</p> 911 <p>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>
948 912
949 <p>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> 913 </div>
950 914 </div>
951 </div> 915 <a class="anchor" id="aadd3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="Vamp::Plugin::selectProgram" ref="aadd3a547ef140bae200473a9518e3353" args="(std::string)" -->
952 </div><p> 916 <div class="memitem">
953 <a class="anchor" name="add3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="Vamp::Plugin::selectProgram" ref="add3a547ef140bae200473a9518e3353" args="(std::string)" --> 917 <div class="memproto">
954 <div class="memitem"> 918 <table class="memname">
955 <div class="memproto"> 919 <tr>
956 <table class="memname"> 920 <td class="memname">virtual void Vamp::PluginBase::selectProgram </td>
957 <tr> 921 <td>(</td>
958 <td class="memname">virtual void Vamp::PluginBase::selectProgram </td> 922 <td class="paramtype">std::string&#160;</td>
959 <td>(</td> 923 <td class="paramname"></td><td>)</td>
960 <td class="paramtype">std::string&nbsp;</td>
961 <td class="paramname"> </td>
962 <td>&nbsp;)&nbsp;</td>
963 <td><code> [inline, virtual, inherited]</code></td> 924 <td><code> [inline, virtual, inherited]</code></td>
964 </tr> 925 </tr>
965 </table> 926 </table>
966 </div> 927 </div>
967 <div class="memdoc"> 928 <div class="memdoc">
968 929
969 <p> 930 <p>Select a program. </p>
970 Select a program. 931 <p>(If the given program name is not one of the available programs, do nothing.) </p>
971 <p> 932
972 (If the given program name is not one of the available programs, do nothing.) 933 <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>
973 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p> 934
974 935 <p>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>
975 <p>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> 936
976 937 </div>
977 </div> 938 </div>
978 </div><p> 939 <hr/><h2>Member Data Documentation</h2>
979 <hr><h2>Member Data Documentation</h2> 940 <a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::Plugin::m_inputSampleRate" ref="a59b9dd82a4f4eb946cd0474cc81abc23" args="" -->
980 <a class="anchor" name="59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::Plugin::m_inputSampleRate" ref="59b9dd82a4f4eb946cd0474cc81abc23" args="" --> 941 <div class="memitem">
981 <div class="memitem"> 942 <div class="memproto">
982 <div class="memproto"> 943 <table class="memname">
983 <table class="memname"> 944 <tr>
984 <tr> 945 <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected]</code></td>
985 <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected]</code> </td> 946 </tr>
986 </tr> 947 </table>
987 </table> 948 </div>
988 </div> 949 <div class="memdoc">
989 <div class="memdoc"> 950
990 951 <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>
991 <p> 952
992 953 <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>
993 <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> 954
994 955 </div>
995 <p>Referenced by <a class="el" href="ZeroCrossing_8cpp-source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00142">ZeroCrossing::process()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00146">SpectralCentroid::process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00226">PercussionOnsetDetector::process()</a>.</p> 956 </div>
996 957 <hr/>The documentation for this class was generated from the following file:<ul>
997 </div> 958 <li><a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a></li>
998 </div><p> 959 </ul>
999 <hr>The documentation for this class was generated from the following file:<ul> 960 </div>
1000 <li><a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a></ul> 961 </div>
1001 </div> 962 <div id="nav-path" class="navpath">
1002 <hr size="1"><address style="text-align: right;"><small>Generated on Thu Sep 24 13:40:14 2009 for VampPluginSDK by&nbsp; 963 <ul>
1003 <a href="http://www.doxygen.org/index.html"> 964 <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li>
1004 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address> 965 <li class="navelem"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> </li>
966
967 <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by
968 <a href="http://www.doxygen.org/index.html">
969 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
970 </ul>
971 </div>
972
973
1005 </body> 974 </body>
1006 </html> 975 </html>