comparison code-doc/classVamp_1_1Plugin.html @ 35:0976232e353b website

* Update for 2.1 release; add wiki link
author cannam
date Fri, 25 Sep 2009 15:40:18 +0000
parents cc0be37dc9d3
children 8260c0f4e05b
comparison
equal deleted inserted replaced
34:4b4db9230e94 35:0976232e353b
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 <title>VampPluginSDK: Vamp::Plugin Class Reference</title> 3 <title>VampPluginSDK: Vamp::Plugin Class Reference</title>
4 <link href="tabs.css" rel="stylesheet" type="text/css">
4 <link href="doxygen.css" rel="stylesheet" type="text/css"> 5 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body> 6 </head><body>
7 <!-- Generated by Doxygen 1.5.6 --> 7 <!-- Generated by Doxygen 1.5.8 -->
8 <div class="navigation" id="top"> 8 <div class="navigation" id="top">
9 <div class="tabs"> 9 <div class="tabs">
10 <ul> 10 <ul>
11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li> 11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12 <li><a href="namespaces.html"><span>Namespaces</span></a></li> 12 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
24 </div> 24 </div>
25 <div class="navpath"><a class="el" href="namespaceVamp.html">Vamp</a>::<a class="el" href="classVamp_1_1Plugin.html">Plugin</a> 25 <div class="navpath"><a class="el" href="namespaceVamp.html">Vamp</a>::<a class="el" href="classVamp_1_1Plugin.html">Plugin</a>
26 </div> 26 </div>
27 </div> 27 </div>
28 <div class="contents"> 28 <div class="contents">
29 <h1>Vamp::Plugin Class Reference</h1><!-- doxytag: class="Vamp::Plugin" --><!-- doxytag: inherits="Vamp::PluginBase" --><code>#include &lt;<a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>&gt;</code> 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.
30 <a href="#_details">More...</a>
31 <p>
32 <code>#include &lt;<a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>&gt;</code>
30 <p> 33 <p>
31 <div class="dynheader"> 34 <div class="dynheader">
32 Inheritance diagram for Vamp::Plugin:</div> 35 Inheritance diagram for Vamp::Plugin:</div>
33 <div class="dynsection"> 36 <div class="dynsection">
34 <p><center><img src="classVamp_1_1Plugin__inherit__graph.png" border="0" usemap="#Vamp_1_1Plugin__inherit__map" alt="Inheritance graph"></center> 37 <p><center><img src="classVamp_1_1Plugin__inherit__graph.png" border="0" usemap="#Vamp_1_1Plugin__inherit__map" alt="Inheritance graph"></center>
35 <map name="Vamp_1_1Plugin__inherit__map"> 38 <map name="Vamp_1_1Plugin__inherit__map">
36 <area shape="rect" href="classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function." alt="" coords="365,5,493,32"><area shape="rect" href="classFixedTempoEstimator.html" title="Example plugin that estimates the tempo of a short fixed&#45;tempo sample." alt="" coords="356,56,503,83"><area shape="rect" href="classPercussionOnsetDetector.html" title="Example plugin that detects percussive events." alt="" coords="344,107,515,133"><area shape="rect" href="classPowerSpectrum.html" title="Example plugin that returns a power spectrum calculated (trivially) from the frequency..." alt="" coords="373,157,485,184"><area shape="rect" href="classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation..." alt="" coords="371,208,488,235"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="329,259,529,285"><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="344,309,515,336"><area shape="rect" href="classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero&#45;crossing points..." alt="" coords="380,360,479,387"><area shape="rect" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="5,183,133,209"><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="592,183,840,209"><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="593,233,839,260"><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="580,284,852,311"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods..." alt="" coords="579,335,853,361"></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>
37 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div> 40 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
38 41
39 <p> 42 <p>
40 <a href="classVamp_1_1Plugin-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> 43 <a href="classVamp_1_1Plugin-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
44 <tr><td></td></tr>
45 <tr><td colspan="2"><br><h2>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>
47
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>
49
50 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
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>,
52 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>
53 }</td></tr>
54
55 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br class="typebreak">
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>
57
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>
59
60 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; int, <br class="typebreak">
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>
62
63 <tr><td colspan="2"><br><h2>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>
65
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>
67
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>
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>
70
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>
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>
73
74 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the plugin's required input domain. <a href="#e1d317a9702cbeda65ddf0ec500c1ff6"></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>
76
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>
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>
79
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>
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>
82
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>
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>
85
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>
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>
88
89 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the outputs of this plugin. <a href="#d064d5d132b5c9bd7064f429c3309e35"></a><br></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>
91
92 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process a single block of input data. <a href="#e4aed3bebfe80a2e2fccd3d37af26996"></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>
94
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>
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>
97
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>
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>
100
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>
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>
103
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>
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>
106
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>
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>
109
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>
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>
112
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>
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>
115
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>
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>
118
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>
145 <hr><a name="_details"></a><h2>Detailed Description</h2>
41 <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. 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.
42 <p> 147 <p>
43 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>
44 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>
45 PLUGIN LIFECYCLE<p> 150 PLUGIN LIFECYCLE<p>
53 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>
54 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>
55 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>
56 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. 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.
57 <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> 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>
58 <table border="0" cellpadding="0" cellspacing="0">
59 <tr><td></td></tr>
60 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
61 <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>,
62 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>
63 }</td></tr>
64
65 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br>
66 &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>
67
68 <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>
69
70 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; int, <br>
71 <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>
72
73 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br>
74 &lt; <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr>
75
76 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; std::string &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr>
77
78 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
79 <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>
80
81 <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>
82
83 <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>
84 <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>
85
86 <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>
87 <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>
88
89 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the plugin's required input domain. <a href="#e1d317a9702cbeda65ddf0ec500c1ff6"></a><br></td></tr>
90 <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>
91
92 <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>
93 <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>
94
95 <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>
96 <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>
97
98 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#267b42e866df3cf0d190893e8096f525"></a><br></td></tr>
99 <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>
100
101 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><br></td></tr>
102 <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>
103
104 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the outputs of this plugin. <a href="#d064d5d132b5c9bd7064f429c3309e35"></a><br></td></tr>
105 <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>
106
107 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process a single block of input data. <a href="#e4aed3bebfe80a2e2fccd3d37af26996"></a><br></td></tr>
108 <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>
109
110 <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>
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_1Plugin.html#be13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr>
112
113 <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>
114 <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>
115
116 <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>
117 <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>
118
119 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#d1c6dfc77aa03d937a885b7f08258f4a"></a><br></td></tr>
120 <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>
121
122 <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>
123 <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>
124
125 <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>
126 <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>
127
128 <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>
129 <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>
130
131 <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>
132 <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>
133
134 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the version number of the plugin. <a href="#63f686d77bc3d6b807e7944cdde83151"></a><br></td></tr>
135 <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>
136
137 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#ac3e49b3b66cacfbb768dfdf07444f21"></a><br></td></tr>
138 <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>
139
140 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the value of a named parameter. <a href="#97ababcd45348ceec998d0f8e0f38bf7"></a><br></td></tr>
141 <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>
142
143 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a named parameter. <a href="#6c718ce822f7b73b98940d59dcaa9366"></a><br></td></tr>
144 <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>
145
146 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the program settings available in this plugin. <a href="#bb307c60bdb981d5f5af50c3c4ae84af"></a><br></td></tr>
147 <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>
148
149 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current program. <a href="#24e77eccf1bdfbbca3c79bb25e8799b3"></a><br></td></tr>
150 <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>
151
152 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select a program. <a href="#add3a547ef140bae200473a9518e3353"></a><br></td></tr>
153 <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
154 <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>
155
156 <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
157 <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>
158
159 <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
160 <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>
161
162 <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>
163
164 </table>
165 <hr><h2>Member Typedef Documentation</h2> 163 <hr><h2>Member Typedef Documentation</h2>
166 <a class="anchor" name="30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::Plugin::OutputList" ref="30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> 164 <a class="anchor" name="30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::Plugin::OutputList" ref="30f531b8fb69fac41a24e3d2a6a08ed9" args="" -->
167 <div class="memitem"> 165 <div class="memitem">
168 <div class="memproto"> 166 <div class="memproto">
169 <table class="memname"> 167 <table class="memname">
174 </div> 172 </div>
175 <div class="memdoc"> 173 <div class="memdoc">
176 174
177 <p> 175 <p>
178 176
179 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00322">322</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p> 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>
180 178
181 </div> 179 </div>
182 </div><p> 180 </div><p>
183 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::Plugin::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" --> 181 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::Plugin::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" -->
184 <div class="memitem"> 182 <div class="memitem">
191 </div> 189 </div>
192 <div class="memdoc"> 190 <div class="memdoc">
193 191
194 <p> 192 <p>
195 193
196 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00380">380</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p> 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>
197 195
198 </div> 196 </div>
199 </div><p> 197 </div><p>
200 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::Plugin::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" --> 198 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::Plugin::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" -->
201 <div class="memitem"> 199 <div class="memitem">
208 </div> 206 </div>
209 <div class="memdoc"> 207 <div class="memdoc">
210 208
211 <p> 209 <p>
212 210
213 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00382">382</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p> 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>
214 212
215 </div> 213 </div>
216 </div><p> 214 </div><p>
217 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::Plugin::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> 215 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::Plugin::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" -->
218 <div class="memitem"> 216 <div class="memitem">
312 </div> 310 </div>
313 <div class="memdoc"> 311 <div class="memdoc">
314 312
315 <p> 313 <p>
316 314
317 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00428">428</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p> 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>
318 316
319 </div> 317 </div>
320 </div><p> 318 </div><p>
321 <hr><h2>Member Function Documentation</h2> 319 <hr><h2>Member Function Documentation</h2>
322 <a class="anchor" name="f26212cf5fc511b603a8b48034247822"></a><!-- doxytag: member="Vamp::Plugin::initialise" ref="f26212cf5fc511b603a8b48034247822" args="(size_t inputChannels, size_t stepSize, size_t blockSize)=0" --> 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" -->
378 376
379 <p> 377 <p>
380 Reset the plugin after use, to prepare it for another clean run. 378 Reset the plugin after use, to prepare it for another clean run.
381 <p> 379 <p>
382 Not called for the first initialisation (i.e. initialise must also do a reset). 380 Not called for the first initialisation (i.e. initialise must also do a reset).
383 <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_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> 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>
384 382
385 </div> 383 </div>
386 </div><p> 384 </div><p>
387 <a class="anchor" name="e1d317a9702cbeda65ddf0ec500c1ff6"></a><!-- doxytag: member="Vamp::Plugin::getInputDomain" ref="e1d317a9702cbeda65ddf0ec500c1ff6" args="() const =0" --> 385 <a class="anchor" name="e1d317a9702cbeda65ddf0ec500c1ff6"></a><!-- doxytag: member="Vamp::Plugin::getInputDomain" ref="e1d317a9702cbeda65ddf0ec500c1ff6" args="() const =0" -->
388 <div class="memitem"> 386 <div class="memitem">
400 <div class="memdoc"> 398 <div class="memdoc">
401 399
402 <p> 400 <p>
403 Get the plugin's required input domain. 401 Get the plugin's required input domain.
404 <p> 402 <p>
405 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. 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 plugin does not get to choose the window type -- the host will either let the user do so, or will use a Hanning window. 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>
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.
406 <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> 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>
407 406
408 <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> 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>
409 408
410 </div> 409 </div>
429 <p> 428 <p>
430 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> 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>
431 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. 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.
432 <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> 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>
433 432
434 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00174">174</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>
435 434
436 <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> 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>
437 436
438 </div> 437 </div>
439 </div><p> 438 </div><p>
457 <p> 456 <p>
458 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> 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>
459 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. 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.
460 <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> 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>
461 460
462 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00189">189</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>
463 462
464 <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> 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>
465 464
466 </div> 465 </div>
467 </div><p> 466 </div><p>
484 Get the minimum supported number of input channels. 483 Get the minimum supported number of input channels.
485 <p> 484 <p>
486 485
487 <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> 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 487
489 <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> 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 489
491 <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#l00099">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> 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 491
493 </div> 492 </div>
494 </div><p> 493 </div><p>
495 <a class="anchor" name="2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="Vamp::Plugin::getMaxChannelCount" ref="2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " --> 494 <a class="anchor" name="2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="Vamp::Plugin::getMaxChannelCount" ref="2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " -->
496 <div class="memitem"> 495 <div class="memitem">
511 Get the maximum supported number of input channels. 510 Get the maximum supported number of input channels.
512 <p> 511 <p>
513 512
514 <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> 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>
515 514
516 <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> 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>
517 516
518 <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#l00099">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> 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>
519 518
520 </div> 519 </div>
521 </div><p> 520 </div><p>
522 <a class="anchor" name="d064d5d132b5c9bd7064f429c3309e35"></a><!-- doxytag: member="Vamp::Plugin::getOutputDescriptors" ref="d064d5d132b5c9bd7064f429c3309e35" args="() const =0" --> 521 <a class="anchor" name="d064d5d132b5c9bd7064f429c3309e35"></a><!-- doxytag: member="Vamp::Plugin::getOutputDescriptors" ref="d064d5d132b5c9bd7064f429c3309e35" args="() const =0" -->
523 <div class="memitem"> 522 <div class="memitem">
625 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>. 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>.
626 <p> 625 <p>
627 Do not reimplement this function in your subclass. 626 Do not reimplement this function in your subclass.
628 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> 627 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p>
629 628
630 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00425">425</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p> 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>
631 630
632 </div> 631 </div>
633 </div><p> 632 </div><p>
634 <a class="anchor" name="8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="Vamp::Plugin::getVampApiVersion" ref="8fd2c48291c64b790f0efb8948508dcf" args="() const " --> 633 <a class="anchor" name="8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="Vamp::Plugin::getVampApiVersion" ref="8fd2c48291c64b790f0efb8948508dcf" args="() const " -->
635 <div class="memitem"> 634 <div class="memitem">
989 </div> 988 </div>
990 <div class="memdoc"> 989 <div class="memdoc">
991 990
992 <p> 991 <p>
993 992
994 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00431">431</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p> 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>
995 994
996 <p>Referenced by <a class="el" href="ZeroCrossing_8cpp-source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00142">ZeroCrossing::process()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00141">SpectralCentroid::process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00226">PercussionOnsetDetector::process()</a>.</p> 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>
997 996
998 </div> 997 </div>
999 </div><p> 998 </div><p>
1000 <hr>The documentation for this class was generated from the following file:<ul> 999 <hr>The documentation for this class was generated from the following file:<ul>
1001 <li><a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a></ul> 1000 <li><a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a></ul>
1002 </div> 1001 </div>
1003 <hr size="1"><address style="text-align: right;"><small>Generated on Mon Dec 8 14:37:20 2008 for VampPluginSDK by&nbsp; 1002 <hr size="1"><address style="text-align: right;"><small>Generated on Thu Sep 24 13:40:14 2009 for VampPluginSDK by&nbsp;
1004 <a href="http://www.doxygen.org/index.html"> 1003 <a href="http://www.doxygen.org/index.html">
1005 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> 1004 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
1006 </body> 1005 </body>
1007 </html> 1006 </html>