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

* Move website from vamp-website/trunk to plain website
author cannam
date Mon, 22 Sep 2008 13:01:46 +0000
parents
children cc0be37dc9d3
comparison
equal deleted inserted replaced
-1:000000000000 0:351c4ebce5f9
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 <title>VampPluginSDK: Vamp::PluginBase Class Reference</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <!-- Generated by Doxygen 1.5.5 -->
8 <div class="navigation" id="top">
9 <div class="tabs">
10 <ul>
11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
14 <li><a href="files.html"><span>Files</span></a></li>
15 <li><a href="dirs.html"><span>Directories</span></a></li>
16 </ul>
17 </div>
18 <div class="tabs">
19 <ul>
20 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
21 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
22 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
23 </ul>
24 </div>
25 <div class="navpath"><a class="el" href="namespaceVamp.html">Vamp</a>::<a class="el" href="classVamp_1_1PluginBase.html">PluginBase</a>
26 </div>
27 </div>
28 <div class="contents">
29 <h1>Vamp::PluginBase Class Reference</h1><!-- doxytag: class="Vamp::PluginBase" --><code>#include &lt;<a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>&gt;</code>
30 <p>
31 <div class="dynheader">
32 Inheritance diagram for Vamp::PluginBase:</div>
33 <div class="dynsection">
34 <p><center><img src="classVamp_1_1PluginBase__inherit__graph.png" border="0" usemap="#Vamp_1_1PluginBase__inherit__map" alt="Inheritance graph"></center>
35 <map name="Vamp_1_1PluginBase__inherit__map">
36 <area shape="rect" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction..." alt="" coords="181,150,280,174"><area shape="rect" href="classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function." alt="" coords="381,6,509,30"><area shape="rect" href="classPercussionOnsetDetector.html" title="Example plugin that detects percussive events." alt="" coords="360,54,531,78"><area shape="rect" href="classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation..." alt="" coords="387,102,504,126"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginRateExtractor.html" title="Vamp::HostExt::PluginRateExtractor" alt="" coords="329,150,561,174"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="345,198,545,222"><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="360,246,531,270"><area shape="rect" href="classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero&#45;crossing points..." alt="" coords="396,294,495,318"><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="684,126,935,150"><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="687,174,932,198"><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="673,222,945,246"><area shape="rect" href="classVamp_1_1HostExt_1_1PluginLoader_1_1Impl_1_1PluginDeletionNotifyAdapter.html" title="Vamp::HostExt::PluginLoader::Impl::PluginDeletionNotifyAdapter" alt="" coords="612,270,1007,294"></map>
37 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
38
39 <p>
40 <a href="classVamp_1_1PluginBase-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
41 A base class for plugins with optional configurable parameters, programs, etc.
42 <p>
43 The <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 derived from this, and individual <a class="el" href="namespaceVamp.html" title="If you want to compile using FFTW instead of the built-in FFT implementation for...">Vamp</a> plugins should derive from that.<p>
44 This class does not provide the necessary interfaces to instantiate or run a plugin. It only specifies an interface for retrieving those controls that the host may wish to show to the user for editing. It could meaningfully be subclassed by real-time plugins or other sorts of plugin as well as <a class="el" href="namespaceVamp.html" title="If you want to compile using FFTW instead of the built-in FFT implementation for...">Vamp</a> plugins.
45 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00059">59</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
46 <table border="0" cellpadding="0" cellspacing="0">
47 <tr><td></td></tr>
48 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
49 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br>
50 &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>
51
52 <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>
53
54 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
55 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a> ()</td></tr>
56
57 <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>
58
59 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html" title="If you want to compile using FFTW instead of the built-in FFT implementation for...">Vamp</a> API compatibility level of the plugin. <a href="#8fd2c48291c64b790f0efb8948508dcf"></a><br></td></tr>
60 <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>
61
62 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#d1c6dfc77aa03d937a885b7f08258f4a"></a><br></td></tr>
63 <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>
64
65 <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>
66 <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>
67
68 <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>
69 <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>
70
71 <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>
72 <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>
73
74 <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>
75 <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>
76
77 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the version number of the plugin. <a href="#63f686d77bc3d6b807e7944cdde83151"></a><br></td></tr>
78 <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>
79
80 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#ac3e49b3b66cacfbb768dfdf07444f21"></a><br></td></tr>
81 <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>
82
83 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the value of a named parameter. <a href="#97ababcd45348ceec998d0f8e0f38bf7"></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_1PluginBase.html#6c718ce822f7b73b98940d59dcaa9366">setParameter</a> (std::string, float)</td></tr>
85
86 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a named parameter. <a href="#6c718ce822f7b73b98940d59dcaa9366"></a><br></td></tr>
87 <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>
88
89 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the program settings available in this plugin. <a href="#bb307c60bdb981d5f5af50c3c4ae84af"></a><br></td></tr>
90 <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>
91
92 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current program. <a href="#24e77eccf1bdfbbca3c79bb25e8799b3"></a><br></td></tr>
93 <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>
94
95 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select a program. <a href="#add3a547ef140bae200473a9518e3353"></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_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">getType</a> () const =0</td></tr>
97
98 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the type of plugin. <a href="#2da03e9ced8dc7e4382205e6dc05dbff"></a><br></td></tr>
99 <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
100 <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a></td></tr>
101
102 </table>
103 <hr><h2>Member Typedef Documentation</h2>
104 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::PluginBase::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" -->
105 <div class="memitem">
106 <div class="memproto">
107 <table class="memname">
108 <tr>
109 <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> </td>
110 </tr>
111 </table>
112 </div>
113 <div class="memdoc">
114
115 <p>
116
117 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00195">195</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
118
119 </div>
120 </div><p>
121 <a class="anchor" name="7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::PluginBase::ProgramList" ref="7f66f00437b21e5f694fe02356b12f20" args="" -->
122 <div class="memitem">
123 <div class="memproto">
124 <table class="memname">
125 <tr>
126 <td class="memname">typedef std::vector&lt;std::string&gt; <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a> </td>
127 </tr>
128 </table>
129 </div>
130 <div class="memdoc">
131
132 <p>
133
134 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00217">217</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
135
136 </div>
137 </div><p>
138 <hr><h2>Constructor &amp; Destructor Documentation</h2>
139 <a class="anchor" name="3773b37c658cf22d7f135c575a28f5c5"></a><!-- doxytag: member="Vamp::PluginBase::~PluginBase" ref="3773b37c658cf22d7f135c575a28f5c5" args="()" -->
140 <div class="memitem">
141 <div class="memproto">
142 <table class="memname">
143 <tr>
144 <td class="memname">virtual Vamp::PluginBase::~PluginBase </td>
145 <td>(</td>
146 <td class="paramname"> </td>
147 <td>&nbsp;)&nbsp;</td>
148 <td width="100%"><code> [inline, virtual]</code></td>
149 </tr>
150 </table>
151 </div>
152 <div class="memdoc">
153
154 <p>
155
156 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00062">62</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
157
158 </div>
159 </div><p>
160 <hr><h2>Member Function Documentation</h2>
161 <a class="anchor" name="8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="Vamp::PluginBase::getVampApiVersion" ref="8fd2c48291c64b790f0efb8948508dcf" args="() const " -->
162 <div class="memitem">
163 <div class="memproto">
164 <table class="memname">
165 <tr>
166 <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td>
167 <td>(</td>
168 <td class="paramname"> </td>
169 <td>&nbsp;)&nbsp;</td>
170 <td width="100%"> const<code> [inline, virtual]</code></td>
171 </tr>
172 </table>
173 </div>
174 <div class="memdoc">
175
176 <p>
177 Get the <a class="el" href="namespaceVamp.html" title="If you want to compile using FFTW instead of the built-in FFT implementation for...">Vamp</a> API compatibility level of the plugin.
178 <p>
179
180 <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>
181
182 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00067">67</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
183
184 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00478">enumeratePlugins()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="PluginWrapper_8cpp-source.html#l00080">Vamp::HostExt::PluginWrapper::getVampApiVersion()</a>.</p>
185
186 </div>
187 </div><p>
188 <a class="anchor" name="d1c6dfc77aa03d937a885b7f08258f4a"></a><!-- doxytag: member="Vamp::PluginBase::getIdentifier" ref="d1c6dfc77aa03d937a885b7f08258f4a" args="() const =0" -->
189 <div class="memitem">
190 <div class="memproto">
191 <table class="memname">
192 <tr>
193 <td class="memname">virtual std::string Vamp::PluginBase::getIdentifier </td>
194 <td>(</td>
195 <td class="paramname"> </td>
196 <td>&nbsp;)&nbsp;</td>
197 <td width="100%"> const<code> [pure virtual]</code></td>
198 </tr>
199 </table>
200 </div>
201 <div class="memdoc">
202
203 <p>
204 Get the computer-usable name of the plugin.
205 <p>
206 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>
207 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>
208 Example: "zero_crossings"
209 <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="classPercussionOnsetDetector.html#267c83a7533146c127e2c3be310e0154">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#1b2c4c8440c024c4c635fcef5697949f">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#f2baf9e19fcdd11cfe97ace56d4f5c1a">ZeroCrossing</a>.</p>
210
211 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00478">enumeratePlugins()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00086">Vamp::HostExt::PluginWrapper::getIdentifier()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p>
212
213 </div>
214 </div><p>
215 <a class="anchor" name="18619d5097e444ecefee0c359da53232"></a><!-- doxytag: member="Vamp::PluginBase::getName" ref="18619d5097e444ecefee0c359da53232" args="() const =0" -->
216 <div class="memitem">
217 <div class="memproto">
218 <table class="memname">
219 <tr>
220 <td class="memname">virtual std::string Vamp::PluginBase::getName </td>
221 <td>(</td>
222 <td class="paramname"> </td>
223 <td>&nbsp;)&nbsp;</td>
224 <td width="100%"> const<code> [pure virtual]</code></td>
225 </tr>
226 </table>
227 </div>
228 <div class="memdoc">
229
230 <p>
231 Get a human-readable name or title of the plugin.
232 <p>
233 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>
234 Example: "Zero Crossings"
235 <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="classPercussionOnsetDetector.html#a98f1ad061a11af98c054011a8844e6f">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#b7e6a620fea568af431be3cfd9dd5a41">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#fa96f7ce6e7d9f03768f48c6a9d88498">ZeroCrossing</a>.</p>
236
237 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00478">enumeratePlugins()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00092">Vamp::HostExt::PluginWrapper::getName()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00577">printPluginCategoryList()</a>.</p>
238
239 </div>
240 </div><p>
241 <a class="anchor" name="59153a02364f75fff46973b2072e9e5a"></a><!-- doxytag: member="Vamp::PluginBase::getDescription" ref="59153a02364f75fff46973b2072e9e5a" args="() const =0" -->
242 <div class="memitem">
243 <div class="memproto">
244 <table class="memname">
245 <tr>
246 <td class="memname">virtual std::string Vamp::PluginBase::getDescription </td>
247 <td>(</td>
248 <td class="paramname"> </td>
249 <td>&nbsp;)&nbsp;</td>
250 <td width="100%"> const<code> [pure virtual]</code></td>
251 </tr>
252 </table>
253 </div>
254 <div class="memdoc">
255
256 <p>
257 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".
258 <p>
259 May be empty if the name has said it all already.<p>
260 Example: "Detect and count zero crossing points"
261 <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="classPercussionOnsetDetector.html#9061d189705802a48973a7ccab6360db">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#8fbb74a46283057d9a0b0e4718ee943c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#710bb0b013157adaeef2a9e6867b4478">ZeroCrossing</a>.</p>
262
263 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00478">enumeratePlugins()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00098">Vamp::HostExt::PluginWrapper::getDescription()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00577">printPluginCategoryList()</a>.</p>
264
265 </div>
266 </div><p>
267 <a class="anchor" name="53d9918bf9ef4d12feedf66b2b26c637"></a><!-- doxytag: member="Vamp::PluginBase::getMaker" ref="53d9918bf9ef4d12feedf66b2b26c637" args="() const =0" -->
268 <div class="memitem">
269 <div class="memproto">
270 <table class="memname">
271 <tr>
272 <td class="memname">virtual std::string Vamp::PluginBase::getMaker </td>
273 <td>(</td>
274 <td class="paramname"> </td>
275 <td>&nbsp;)&nbsp;</td>
276 <td width="100%"> const<code> [pure virtual]</code></td>
277 </tr>
278 </table>
279 </div>
280 <div class="memdoc">
281
282 <p>
283 Get the name of the author or vendor of the plugin in human-readable form.
284 <p>
285 This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar.
286 <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="classPercussionOnsetDetector.html#63d63f2cb7ea8d8b09d58cc13b541375">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#c01ff858bf67e2e93ad5d24a6ba8c8c8">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#c68561634a3c329a029c2fd3deaeae2a">ZeroCrossing</a>.</p>
287
288 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00478">enumeratePlugins()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00104">Vamp::HostExt::PluginWrapper::getMaker()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00577">printPluginCategoryList()</a>.</p>
289
290 </div>
291 </div><p>
292 <a class="anchor" name="b7e9dedbe965f5ab9018b72920fe7661"></a><!-- doxytag: member="Vamp::PluginBase::getCopyright" ref="b7e9dedbe965f5ab9018b72920fe7661" args="() const =0" -->
293 <div class="memitem">
294 <div class="memproto">
295 <table class="memname">
296 <tr>
297 <td class="memname">virtual std::string Vamp::PluginBase::getCopyright </td>
298 <td>(</td>
299 <td class="paramname"> </td>
300 <td>&nbsp;)&nbsp;</td>
301 <td width="100%"> const<code> [pure virtual]</code></td>
302 </tr>
303 </table>
304 </div>
305 <div class="memdoc">
306
307 <p>
308 Get the copyright statement or licensing summary for the plugin.
309 <p>
310 This can be an informative text, without the same presentation constraints as mentioned for getMaker above.
311 <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="classPercussionOnsetDetector.html#1a22ece271330c94cc08798a77416351">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#925747d513d598e0fa21ed0ed6520980">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#f9c41b92aa8ff8bddaebf75569ff789c">ZeroCrossing</a>.</p>
312
313 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00116">Vamp::HostExt::PluginWrapper::getCopyright()</a>, and <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>.</p>
314
315 </div>
316 </div><p>
317 <a class="anchor" name="63f686d77bc3d6b807e7944cdde83151"></a><!-- doxytag: member="Vamp::PluginBase::getPluginVersion" ref="63f686d77bc3d6b807e7944cdde83151" args="() const =0" -->
318 <div class="memitem">
319 <div class="memproto">
320 <table class="memname">
321 <tr>
322 <td class="memname">virtual int Vamp::PluginBase::getPluginVersion </td>
323 <td>(</td>
324 <td class="paramname"> </td>
325 <td>&nbsp;)&nbsp;</td>
326 <td width="100%"> const<code> [pure virtual]</code></td>
327 </tr>
328 </table>
329 </div>
330 <div class="memdoc">
331
332 <p>
333 Get the version number of the plugin.
334 <p>
335
336 <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="classPercussionOnsetDetector.html#d6b818dbd81867ce7be71c99cae861be">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#f64622e66bf678ac2b0b58aa832ca2b3">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#d685f6c2f443f07a1634550c335571eb">ZeroCrossing</a>.</p>
337
338 <p>Referenced by <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="PluginWrapper_8cpp-source.html#l00110">Vamp::HostExt::PluginWrapper::getPluginVersion()</a>.</p>
339
340 </div>
341 </div><p>
342 <a class="anchor" name="ac3e49b3b66cacfbb768dfdf07444f21"></a><!-- doxytag: member="Vamp::PluginBase::getParameterDescriptors" ref="ac3e49b3b66cacfbb768dfdf07444f21" args="() const " -->
343 <div class="memitem">
344 <div class="memproto">
345 <table class="memname">
346 <tr>
347 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginBase::getParameterDescriptors </td>
348 <td>(</td>
349 <td class="paramname"> </td>
350 <td>&nbsp;)&nbsp;</td>
351 <td width="100%"> const<code> [inline, virtual]</code></td>
352 </tr>
353 </table>
354 </div>
355 <div class="memdoc">
356
357 <p>
358 Get the controllable parameters of this plugin.
359 <p>
360
361 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#bfa93b20d9b5651a32042a9bb7c8df13">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#3b075b8f950b344503f0d27ac0fe332e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#9df01323a09e117bc12354ebe9244edf">AmplitudeFollower</a>, and <a class="el" href="classPercussionOnsetDetector.html#bceae88cc9762b0ea310d7aad71de815">PercussionOnsetDetector</a>.</p>
362
363 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00200">200</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
364
365 <p>Referenced by <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="PluginWrapper_8cpp-source.html#l00122">Vamp::HostExt::PluginWrapper::getParameterDescriptors()</a>.</p>
366
367 </div>
368 </div><p>
369 <a class="anchor" name="97ababcd45348ceec998d0f8e0f38bf7"></a><!-- doxytag: member="Vamp::PluginBase::getParameter" ref="97ababcd45348ceec998d0f8e0f38bf7" args="(std::string) const " -->
370 <div class="memitem">
371 <div class="memproto">
372 <table class="memname">
373 <tr>
374 <td class="memname">virtual float Vamp::PluginBase::getParameter </td>
375 <td>(</td>
376 <td class="paramtype">std::string&nbsp;</td>
377 <td class="paramname"> </td>
378 <td>&nbsp;)&nbsp;</td>
379 <td width="100%"> const<code> [inline, virtual]</code></td>
380 </tr>
381 </table>
382 </div>
383 <div class="memdoc">
384
385 <p>
386 Get the value of a named parameter.
387 <p>
388 The argument is the identifier field from that parameter's descriptor.
389 <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>, and <a class="el" href="classPercussionOnsetDetector.html#9b28da8315fcde46ce7644d6592ba527">PercussionOnsetDetector</a>.</p>
390
391 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00208">208</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
392
393 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00128">Vamp::HostExt::PluginWrapper::getParameter()</a>.</p>
394
395 </div>
396 </div><p>
397 <a class="anchor" name="6c718ce822f7b73b98940d59dcaa9366"></a><!-- doxytag: member="Vamp::PluginBase::setParameter" ref="6c718ce822f7b73b98940d59dcaa9366" args="(std::string, float)" -->
398 <div class="memitem">
399 <div class="memproto">
400 <table class="memname">
401 <tr>
402 <td class="memname">virtual void Vamp::PluginBase::setParameter </td>
403 <td>(</td>
404 <td class="paramtype">std::string&nbsp;</td>
405 <td class="paramname">, </td>
406 </tr>
407 <tr>
408 <td class="paramkey"></td>
409 <td></td>
410 <td class="paramtype">float&nbsp;</td>
411 <td class="paramname"></td><td>&nbsp;</td>
412 </tr>
413 <tr>
414 <td></td>
415 <td>)</td>
416 <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
417 </tr>
418 </table>
419 </div>
420 <div class="memdoc">
421
422 <p>
423 Set a named parameter.
424 <p>
425 The first argument is the identifier field from that parameter's descriptor.
426 <p>Reimplemented in <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>, and <a class="el" href="classPercussionOnsetDetector.html#a097d72488e1211f05fc661ff5c6dc01">PercussionOnsetDetector</a>.</p>
427
428 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00214">214</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
429
430 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00134">Vamp::HostExt::PluginWrapper::setParameter()</a>.</p>
431
432 </div>
433 </div><p>
434 <a class="anchor" name="bb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="Vamp::PluginBase::getPrograms" ref="bb307c60bdb981d5f5af50c3c4ae84af" args="() const " -->
435 <div class="memitem">
436 <div class="memproto">
437 <table class="memname">
438 <tr>
439 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td>
440 <td>(</td>
441 <td class="paramname"> </td>
442 <td>&nbsp;)&nbsp;</td>
443 <td width="100%"> const<code> [inline, virtual]</code></td>
444 </tr>
445 </table>
446 </div>
447 <div class="memdoc">
448
449 <p>
450 Get the program settings available in this plugin.
451 <p>
452 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>
453 The programs must have unique names.
454 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#7ac5681dcfe08b7b8a796bffc0aff3e3">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#f3abaf717dc4b00cad5770ed6dfa01e1">Vamp::HostExt::PluginWrapper</a>.</p>
455
456 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00229">229</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
457
458 <p>Referenced by <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="PluginWrapper_8cpp-source.html#l00140">Vamp::HostExt::PluginWrapper::getPrograms()</a>.</p>
459
460 </div>
461 </div><p>
462 <a class="anchor" name="24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="Vamp::PluginBase::getCurrentProgram" ref="24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " -->
463 <div class="memitem">
464 <div class="memproto">
465 <table class="memname">
466 <tr>
467 <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td>
468 <td>(</td>
469 <td class="paramname"> </td>
470 <td>&nbsp;)&nbsp;</td>
471 <td width="100%"> const<code> [inline, virtual]</code></td>
472 </tr>
473 </table>
474 </div>
475 <div class="memdoc">
476
477 <p>
478 Get the current program.
479 <p>
480
481 <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>
482
483 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00234">234</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
484
485 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00146">Vamp::HostExt::PluginWrapper::getCurrentProgram()</a>.</p>
486
487 </div>
488 </div><p>
489 <a class="anchor" name="add3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="Vamp::PluginBase::selectProgram" ref="add3a547ef140bae200473a9518e3353" args="(std::string)" -->
490 <div class="memitem">
491 <div class="memproto">
492 <table class="memname">
493 <tr>
494 <td class="memname">virtual void Vamp::PluginBase::selectProgram </td>
495 <td>(</td>
496 <td class="paramtype">std::string&nbsp;</td>
497 <td class="paramname"> </td>
498 <td>&nbsp;)&nbsp;</td>
499 <td width="100%"><code> [inline, virtual]</code></td>
500 </tr>
501 </table>
502 </div>
503 <div class="memdoc">
504
505 <p>
506 Select a program.
507 <p>
508 (If the given program name is not one of the available programs, do nothing.)
509 <p>Reimplemented in <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>
510
511 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00240">240</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
512
513 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00152">Vamp::HostExt::PluginWrapper::selectProgram()</a>.</p>
514
515 </div>
516 </div><p>
517 <a class="anchor" name="2da03e9ced8dc7e4382205e6dc05dbff"></a><!-- doxytag: member="Vamp::PluginBase::getType" ref="2da03e9ced8dc7e4382205e6dc05dbff" args="() const =0" -->
518 <div class="memitem">
519 <div class="memproto">
520 <table class="memname">
521 <tr>
522 <td class="memname">virtual std::string Vamp::PluginBase::getType </td>
523 <td>(</td>
524 <td class="paramname"> </td>
525 <td>&nbsp;)&nbsp;</td>
526 <td width="100%"> const<code> [pure virtual]</code></td>
527 </tr>
528 </table>
529 </div>
530 <div class="memdoc">
531
532 <p>
533 Get the type of plugin.
534 <p>
535 This is to be implemented by the immediate subclass, not by actual plugins. Do not attempt to implement this in plugin code.
536 <p>Implemented in <a class="el" href="classVamp_1_1Plugin.html#be13b3997a69fbcc09e2213faa352f91">Vamp::Plugin</a>.</p>
537
538 </div>
539 </div><p>
540 <hr>The documentation for this class was generated from the following file:<ul>
541 <li><a class="el" href="PluginBase_8h-source.html">PluginBase.h</a></ul>
542 </div>
543 <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jul 9 11:36:10 2008 for VampPluginSDK by&nbsp;
544 <a href="http://www.doxygen.org/index.html">
545 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
546 </body>
547 </html>