annotate code-doc/classAmplitudeFollower.html @ 40:9391fbda5ad2 website

* Update site for v2.2 release
author cannam
date Thu, 26 Aug 2010 11:36:19 +0000
parents 0976232e353b
children 8260c0f4e05b
rev   line source
cannam@0 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
cannam@0 2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
cannam@0 3 <title>VampPluginSDK: AmplitudeFollower Class Reference</title>
cannam@35 4 <link href="tabs.css" rel="stylesheet" type="text/css">
cannam@0 5 <link href="doxygen.css" rel="stylesheet" type="text/css">
cannam@0 6 </head><body>
cannam@35 7 <!-- Generated by Doxygen 1.5.8 -->
cannam@0 8 <div class="navigation" id="top">
cannam@0 9 <div class="tabs">
cannam@0 10 <ul>
cannam@0 11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
cannam@0 12 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
cannam@0 13 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
cannam@0 14 <li><a href="files.html"><span>Files</span></a></li>
cannam@0 15 <li><a href="dirs.html"><span>Directories</span></a></li>
cannam@0 16 </ul>
cannam@0 17 </div>
cannam@0 18 <div class="tabs">
cannam@0 19 <ul>
cannam@0 20 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
cannam@0 21 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
cannam@0 22 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
cannam@0 23 </ul>
cannam@0 24 </div>
cannam@0 25 </div>
cannam@0 26 <div class="contents">
cannam@35 27 <h1>AmplitudeFollower Class Reference</h1><!-- doxytag: class="AmplitudeFollower" --><!-- doxytag: inherits="Vamp::Plugin" -->Example plugin implementing the SuperCollider amplitude follower function.
cannam@35 28 <a href="#_details">More...</a>
cannam@35 29 <p>
cannam@35 30 <code>#include &lt;<a class="el" href="AmplitudeFollower_8h-source.html">AmplitudeFollower.h</a>&gt;</code>
cannam@0 31 <p>
cannam@0 32 <div class="dynheader">
cannam@0 33 Inheritance diagram for AmplitudeFollower:</div>
cannam@0 34 <div class="dynsection">
cannam@0 35 <p><center><img src="classAmplitudeFollower__inherit__graph.png" border="0" usemap="#AmplitudeFollower__inherit__map" alt="Inheritance graph"></center>
cannam@0 36 <map name="AmplitudeFollower__inherit__map">
cannam@35 37 <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="20,81,113,105"><area shape="rect" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="7,7,127,31"></map>
cannam@0 38 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
cannam@0 39
cannam@0 40 <p>
cannam@35 41 <a href="classAmplitudeFollower-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
cannam@0 42 <tr><td></td></tr>
cannam@0 43 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
cannam@0 44 <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>,
cannam@0 45 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>
cannam@0 46 }</td></tr>
cannam@0 47
cannam@35 48 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br class="typebreak">
cannam@0 49 &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>
cannam@0 50
cannam@0 51 <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>
cannam@0 52
cannam@35 53 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; int, <br class="typebreak">
cannam@0 54 <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>
cannam@0 55
cannam@0 56 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
cannam@0 57 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#29eaeffc353da2614ae508abcd0ab63f">AmplitudeFollower</a> (float inputSampleRate)</td></tr>
cannam@0 58
cannam@21 59 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An implementation of SuperCollider's amplitude-follower algorithm as a simple <a class="el" href="namespaceVamp.html">Vamp</a> plugin. <a href="#29eaeffc353da2614ae508abcd0ab63f"></a><br></td></tr>
cannam@0 60 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#a78f98539ad3a1b08691a99b32035b2d">~AmplitudeFollower</a> ()</td></tr>
cannam@0 61
cannam@0 62 <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#eb727e44ee8ad1aceb90964d20f8d90d">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr>
cannam@0 63
cannam@0 64 <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="#eb727e44ee8ad1aceb90964d20f8d90d"></a><br></td></tr>
cannam@0 65 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#cebd835e80e84669df078fbd7591d8f7">reset</a> ()</td></tr>
cannam@0 66
cannam@0 67 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#cebd835e80e84669df078fbd7591d8f7"></a><br></td></tr>
cannam@0 68 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#fc07a389b5f922b944b0350fd232d2eb">getInputDomain</a> () const </td></tr>
cannam@0 69
cannam@0 70 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the plugin's required input domain. <a href="#fc07a389b5f922b944b0350fd232d2eb"></a><br></td></tr>
cannam@0 71 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#fe7576af95c8fcc7f5bad42eec9f9f29">getIdentifier</a> () const </td></tr>
cannam@0 72
cannam@0 73 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#fe7576af95c8fcc7f5bad42eec9f9f29"></a><br></td></tr>
cannam@0 74 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#7cfed00bc9d96ba6c709b69ab6a40594">getName</a> () const </td></tr>
cannam@0 75
cannam@0 76 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#7cfed00bc9d96ba6c709b69ab6a40594"></a><br></td></tr>
cannam@0 77 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#6f0f2fea1fdb4b51e688edfe859d5062">getDescription</a> () const </td></tr>
cannam@0 78
cannam@0 79 <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="#6f0f2fea1fdb4b51e688edfe859d5062"></a><br></td></tr>
cannam@0 80 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#44fc43838f203f58bc2ce6e3cb2b03dd">getMaker</a> () const </td></tr>
cannam@0 81
cannam@0 82 <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="#44fc43838f203f58bc2ce6e3cb2b03dd"></a><br></td></tr>
cannam@0 83 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#8a5d7a834eb996d517c51f84b2a72250">getPluginVersion</a> () const </td></tr>
cannam@0 84
cannam@0 85 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the version number of the plugin. <a href="#8a5d7a834eb996d517c51f84b2a72250"></a><br></td></tr>
cannam@0 86 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#0c197fc90f30d91cb4403115c83c9134">getCopyright</a> () const </td></tr>
cannam@0 87
cannam@0 88 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#0c197fc90f30d91cb4403115c83c9134"></a><br></td></tr>
cannam@0 89 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#043e3c3db77d76267cd8069e1485bf26">getOutputDescriptors</a> () const </td></tr>
cannam@0 90
cannam@0 91 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the outputs of this plugin. <a href="#043e3c3db77d76267cd8069e1485bf26"></a><br></td></tr>
cannam@0 92 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#9df01323a09e117bc12354ebe9244edf">getParameterDescriptors</a> () const </td></tr>
cannam@0 93
cannam@0 94 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#9df01323a09e117bc12354ebe9244edf"></a><br></td></tr>
cannam@0 95 <tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#b278c4b6f2ca23248dc94ad775273f39">getParameter</a> (std::string paramid) const </td></tr>
cannam@0 96
cannam@0 97 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the value of a named parameter. <a href="#b278c4b6f2ca23248dc94ad775273f39"></a><br></td></tr>
cannam@0 98 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#e1fc37ece4d20e40f3066a3361a99340">setParameter</a> (std::string paramid, float newval)</td></tr>
cannam@0 99
cannam@0 100 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a named parameter. <a href="#e1fc37ece4d20e40f3066a3361a99340"></a><br></td></tr>
cannam@0 101 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#48d0f95cac31ffd190cff89b50a2a5bd">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> timestamp)</td></tr>
cannam@0 102
cannam@0 103 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process a single block of input data. <a href="#48d0f95cac31ffd190cff89b50a2a5bd"></a><br></td></tr>
cannam@0 104 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#368606f643b88e0df0823d85e36f030c">getRemainingFeatures</a> ()</td></tr>
cannam@0 105
cannam@0 106 <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="#368606f643b88e0df0823d85e36f030c"></a><br></td></tr>
cannam@0 107 <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>
cannam@0 108
cannam@0 109 <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>
cannam@0 110 <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>
cannam@0 111
cannam@0 112 <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>
cannam@0 113 <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>
cannam@0 114
cannam@0 115 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#267b42e866df3cf0d190893e8096f525"></a><br></td></tr>
cannam@0 116 <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>
cannam@0 117
cannam@0 118 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><br></td></tr>
cannam@0 119 <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>
cannam@0 120
cannam@0 121 <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>
cannam@0 122 <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>
cannam@0 123
cannam@21 124 <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>
cannam@0 125 <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>
cannam@0 126
cannam@0 127 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the program settings available in this plugin. <a href="#bb307c60bdb981d5f5af50c3c4ae84af"></a><br></td></tr>
cannam@0 128 <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>
cannam@0 129
cannam@0 130 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current program. <a href="#24e77eccf1bdfbbca3c79bb25e8799b3"></a><br></td></tr>
cannam@0 131 <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>
cannam@0 132
cannam@0 133 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select a program. <a href="#add3a547ef140bae200473a9518e3353"></a><br></td></tr>
cannam@0 134 <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
cannam@0 135 <tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#959c2647fd3c5feea2591e3618774027">m_stepSize</a></td></tr>
cannam@0 136
cannam@0 137 <tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#c95e8d2f334821c6c92c706bae29695a">m_previn</a></td></tr>
cannam@0 138
cannam@0 139 <tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#1cb205b08cfe2ce94a4af05b18f72876">m_clampcoef</a></td></tr>
cannam@0 140
cannam@0 141 <tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#ceecd3b3879f32eb4a2e597c32c41cfc">m_relaxcoef</a></td></tr>
cannam@0 142
cannam@0 143 <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>
cannam@0 144
cannam@0 145 </table>
cannam@35 146 <hr><a name="_details"></a><h2>Detailed Description</h2>
cannam@35 147 Example plugin implementing the SuperCollider amplitude follower function.
cannam@35 148 <p>Definition at line <a class="el" href="AmplitudeFollower_8h-source.html#l00047">47</a> of file <a class="el" href="AmplitudeFollower_8h-source.html">AmplitudeFollower.h</a>.</p>
cannam@0 149 <hr><h2>Member Typedef Documentation</h2>
cannam@0 150 <a class="anchor" name="30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="AmplitudeFollower::OutputList" ref="30f531b8fb69fac41a24e3d2a6a08ed9" args="" -->
cannam@0 151 <div class="memitem">
cannam@0 152 <div class="memproto">
cannam@0 153 <table class="memname">
cannam@0 154 <tr>
cannam@0 155 <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code> </td>
cannam@0 156 </tr>
cannam@0 157 </table>
cannam@0 158 </div>
cannam@0 159 <div class="memdoc">
cannam@0 160
cannam@0 161 <p>
cannam@0 162
cannam@35 163 <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>
cannam@0 164
cannam@0 165 </div>
cannam@0 166 </div><p>
cannam@0 167 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="AmplitudeFollower::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" -->
cannam@0 168 <div class="memitem">
cannam@0 169 <div class="memproto">
cannam@0 170 <table class="memname">
cannam@0 171 <tr>
cannam@0 172 <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code> </td>
cannam@0 173 </tr>
cannam@0 174 </table>
cannam@0 175 </div>
cannam@0 176 <div class="memdoc">
cannam@0 177
cannam@0 178 <p>
cannam@0 179
cannam@35 180 <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>
cannam@0 181
cannam@0 182 </div>
cannam@0 183 </div><p>
cannam@0 184 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="AmplitudeFollower::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" -->
cannam@0 185 <div class="memitem">
cannam@0 186 <div class="memproto">
cannam@0 187 <table class="memname">
cannam@0 188 <tr>
cannam@0 189 <td class="memname">typedef std::map&lt;int, <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code> </td>
cannam@0 190 </tr>
cannam@0 191 </table>
cannam@0 192 </div>
cannam@0 193 <div class="memdoc">
cannam@0 194
cannam@0 195 <p>
cannam@0 196
cannam@35 197 <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>
cannam@0 198
cannam@0 199 </div>
cannam@0 200 </div><p>
cannam@0 201 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="AmplitudeFollower::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" -->
cannam@0 202 <div class="memitem">
cannam@0 203 <div class="memproto">
cannam@0 204 <table class="memname">
cannam@0 205 <tr>
cannam@0 206 <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>&gt; <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code> </td>
cannam@0 207 </tr>
cannam@0 208 </table>
cannam@0 209 </div>
cannam@0 210 <div class="memdoc">
cannam@0 211
cannam@0 212 <p>
cannam@0 213
cannam@21 214 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00203">203</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
cannam@0 215
cannam@0 216 </div>
cannam@0 217 </div><p>
cannam@0 218 <a class="anchor" name="7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="AmplitudeFollower::ProgramList" ref="7f66f00437b21e5f694fe02356b12f20" args="" -->
cannam@0 219 <div class="memitem">
cannam@0 220 <div class="memproto">
cannam@0 221 <table class="memname">
cannam@0 222 <tr>
cannam@0 223 <td class="memname">typedef std::vector&lt;std::string&gt; <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code> </td>
cannam@0 224 </tr>
cannam@0 225 </table>
cannam@0 226 </div>
cannam@0 227 <div class="memdoc">
cannam@0 228
cannam@0 229 <p>
cannam@0 230
cannam@21 231 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00225">225</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
cannam@0 232
cannam@0 233 </div>
cannam@0 234 </div><p>
cannam@0 235 <hr><h2>Member Enumeration Documentation</h2>
cannam@0 236 <a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="AmplitudeFollower::InputDomain" ref="39cb7649d6dcc20e4cb1640cd55907bc" args="" -->
cannam@0 237 <div class="memitem">
cannam@0 238 <div class="memproto">
cannam@0 239 <table class="memname">
cannam@0 240 <tr>
cannam@0 241 <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code> </td>
cannam@0 242 </tr>
cannam@0 243 </table>
cannam@0 244 </div>
cannam@0 245 <div class="memdoc">
cannam@0 246
cannam@0 247 <p>
cannam@0 248 <dl compact><dt><b>Enumerator: </b></dt><dd>
cannam@0 249 <table border="0" cellspacing="2" cellpadding="0">
cannam@0 250 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em>&nbsp;</td><td>
cannam@0 251 </td></tr>
cannam@0 252 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em>&nbsp;</td><td>
cannam@0 253 </td></tr>
cannam@0 254 </table>
cannam@0 255 </dl>
cannam@0 256
cannam@21 257 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00152">152</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
cannam@0 258
cannam@0 259 </div>
cannam@0 260 </div><p>
cannam@0 261 <hr><h2>Constructor &amp; Destructor Documentation</h2>
cannam@0 262 <a class="anchor" name="29eaeffc353da2614ae508abcd0ab63f"></a><!-- doxytag: member="AmplitudeFollower::AmplitudeFollower" ref="29eaeffc353da2614ae508abcd0ab63f" args="(float inputSampleRate)" -->
cannam@0 263 <div class="memitem">
cannam@0 264 <div class="memproto">
cannam@0 265 <table class="memname">
cannam@0 266 <tr>
cannam@0 267 <td class="memname">AmplitudeFollower::AmplitudeFollower </td>
cannam@0 268 <td>(</td>
cannam@0 269 <td class="paramtype">float&nbsp;</td>
cannam@0 270 <td class="paramname"> <em>inputSampleRate</em> </td>
cannam@0 271 <td>&nbsp;)&nbsp;</td>
cannam@21 272 <td></td>
cannam@0 273 </tr>
cannam@0 274 </table>
cannam@0 275 </div>
cannam@0 276 <div class="memdoc">
cannam@0 277
cannam@0 278 <p>
cannam@21 279 An implementation of SuperCollider's amplitude-follower algorithm as a simple <a class="el" href="namespaceVamp.html">Vamp</a> plugin.
cannam@0 280 <p>
cannam@0 281
cannam@0 282 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00055">55</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 283
cannam@0 284 </div>
cannam@0 285 </div><p>
cannam@0 286 <a class="anchor" name="a78f98539ad3a1b08691a99b32035b2d"></a><!-- doxytag: member="AmplitudeFollower::~AmplitudeFollower" ref="a78f98539ad3a1b08691a99b32035b2d" args="()" -->
cannam@0 287 <div class="memitem">
cannam@0 288 <div class="memproto">
cannam@0 289 <table class="memname">
cannam@0 290 <tr>
cannam@0 291 <td class="memname">AmplitudeFollower::~AmplitudeFollower </td>
cannam@0 292 <td>(</td>
cannam@0 293 <td class="paramname"> </td>
cannam@0 294 <td>&nbsp;)&nbsp;</td>
cannam@21 295 <td><code> [virtual]</code></td>
cannam@0 296 </tr>
cannam@0 297 </table>
cannam@0 298 </div>
cannam@0 299 <div class="memdoc">
cannam@0 300
cannam@0 301 <p>
cannam@0 302
cannam@0 303 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00064">64</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 304
cannam@0 305 </div>
cannam@0 306 </div><p>
cannam@0 307 <hr><h2>Member Function Documentation</h2>
cannam@0 308 <a class="anchor" name="eb727e44ee8ad1aceb90964d20f8d90d"></a><!-- doxytag: member="AmplitudeFollower::initialise" ref="eb727e44ee8ad1aceb90964d20f8d90d" args="(size_t channels, size_t stepSize, size_t blockSize)" -->
cannam@0 309 <div class="memitem">
cannam@0 310 <div class="memproto">
cannam@0 311 <table class="memname">
cannam@0 312 <tr>
cannam@0 313 <td class="memname">bool AmplitudeFollower::initialise </td>
cannam@0 314 <td>(</td>
cannam@0 315 <td class="paramtype">size_t&nbsp;</td>
cannam@0 316 <td class="paramname"> <em>inputChannels</em>, </td>
cannam@0 317 </tr>
cannam@0 318 <tr>
cannam@0 319 <td class="paramkey"></td>
cannam@0 320 <td></td>
cannam@0 321 <td class="paramtype">size_t&nbsp;</td>
cannam@0 322 <td class="paramname"> <em>stepSize</em>, </td>
cannam@0 323 </tr>
cannam@0 324 <tr>
cannam@0 325 <td class="paramkey"></td>
cannam@0 326 <td></td>
cannam@0 327 <td class="paramtype">size_t&nbsp;</td>
cannam@0 328 <td class="paramname"> <em>blockSize</em></td><td>&nbsp;</td>
cannam@0 329 </tr>
cannam@0 330 <tr>
cannam@0 331 <td></td>
cannam@0 332 <td>)</td>
cannam@21 333 <td></td><td></td><td><code> [virtual]</code></td>
cannam@0 334 </tr>
cannam@0 335 </table>
cannam@0 336 </div>
cannam@0 337 <div class="memdoc">
cannam@0 338
cannam@0 339 <p>
cannam@0 340 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).
cannam@0 341 <p>
cannam@0 342 The input sample rate should have been already specified at construction time.<p>
cannam@0 343 Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported.
cannam@0 344 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822">Vamp::Plugin</a>.</p>
cannam@0 345
cannam@0 346 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">105</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 347
cannam@35 348 <p>References <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00204">Vamp::Plugin::getMaxChannelCount()</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00199">Vamp::Plugin::getMinChannelCount()</a>, <a class="el" href="AmplitudeFollower_8h-source.html#l00079">m_clampcoef</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00436">Vamp::Plugin::m_inputSampleRate</a>, <a class="el" href="AmplitudeFollower_8h-source.html#l00080">m_relaxcoef</a>, and <a class="el" href="AmplitudeFollower_8h-source.html#l00077">m_stepSize</a>.</p>
cannam@0 349
cannam@0 350 </div>
cannam@0 351 </div><p>
cannam@0 352 <a class="anchor" name="cebd835e80e84669df078fbd7591d8f7"></a><!-- doxytag: member="AmplitudeFollower::reset" ref="cebd835e80e84669df078fbd7591d8f7" args="()" -->
cannam@0 353 <div class="memitem">
cannam@0 354 <div class="memproto">
cannam@0 355 <table class="memname">
cannam@0 356 <tr>
cannam@0 357 <td class="memname">void AmplitudeFollower::reset </td>
cannam@0 358 <td>(</td>
cannam@0 359 <td class="paramname"> </td>
cannam@0 360 <td>&nbsp;)&nbsp;</td>
cannam@21 361 <td><code> [virtual]</code></td>
cannam@0 362 </tr>
cannam@0 363 </table>
cannam@0 364 </div>
cannam@0 365 <div class="memdoc">
cannam@0 366
cannam@0 367 <p>
cannam@0 368 Reset the plugin after use, to prepare it for another clean run.
cannam@0 369 <p>
cannam@0 370 Not called for the first initialisation (i.e. initialise must also do a reset).
cannam@0 371 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a>.</p>
cannam@0 372
cannam@0 373 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00122">122</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 374
cannam@0 375 <p>References <a class="el" href="AmplitudeFollower_8h-source.html#l00078">m_previn</a>.</p>
cannam@0 376
cannam@0 377 </div>
cannam@0 378 </div><p>
cannam@0 379 <a class="anchor" name="fc07a389b5f922b944b0350fd232d2eb"></a><!-- doxytag: member="AmplitudeFollower::getInputDomain" ref="fc07a389b5f922b944b0350fd232d2eb" args="() const " -->
cannam@0 380 <div class="memitem">
cannam@0 381 <div class="memproto">
cannam@0 382 <table class="memname">
cannam@0 383 <tr>
cannam@0 384 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> AmplitudeFollower::getInputDomain </td>
cannam@0 385 <td>(</td>
cannam@0 386 <td class="paramname"> </td>
cannam@0 387 <td>&nbsp;)&nbsp;</td>
cannam@21 388 <td> const<code> [inline, virtual]</code></td>
cannam@0 389 </tr>
cannam@0 390 </table>
cannam@0 391 </div>
cannam@0 392 <div class="memdoc">
cannam@0 393
cannam@0 394 <p>
cannam@0 395 Get the plugin's required input domain.
cannam@0 396 <p>
cannam@35 397 If this is TimeDomain, the samples provided to the <a class="el" href="classAmplitudeFollower.html#48d0f95cac31ffd190cff89b50a2a5bd" 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>
cannam@35 398 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="classAmplitudeFollower.html#48d0f95cac31ffd190cff89b50a2a5bd" 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.
cannam@0 399 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p>
cannam@0 400
cannam@0 401 <p>Definition at line <a class="el" href="AmplitudeFollower_8h-source.html#l00056">56</a> of file <a class="el" href="AmplitudeFollower_8h-source.html">AmplitudeFollower.h</a>.</p>
cannam@0 402
cannam@21 403 <p>References <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00152">Vamp::Plugin::TimeDomain</a>.</p>
cannam@0 404
cannam@0 405 </div>
cannam@0 406 </div><p>
cannam@0 407 <a class="anchor" name="fe7576af95c8fcc7f5bad42eec9f9f29"></a><!-- doxytag: member="AmplitudeFollower::getIdentifier" ref="fe7576af95c8fcc7f5bad42eec9f9f29" args="() const " -->
cannam@0 408 <div class="memitem">
cannam@0 409 <div class="memproto">
cannam@0 410 <table class="memname">
cannam@0 411 <tr>
cannam@0 412 <td class="memname">string AmplitudeFollower::getIdentifier </td>
cannam@0 413 <td>(</td>
cannam@0 414 <td class="paramname"> </td>
cannam@0 415 <td>&nbsp;)&nbsp;</td>
cannam@21 416 <td> const<code> [virtual]</code></td>
cannam@0 417 </tr>
cannam@0 418 </table>
cannam@0 419 </div>
cannam@0 420 <div class="memdoc">
cannam@0 421
cannam@0 422 <p>
cannam@0 423 Get the computer-usable name of the plugin.
cannam@0 424 <p>
cannam@0 425 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>
cannam@0 426 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>
cannam@0 427 Example: "zero_crossings"
cannam@0 428 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#d1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p>
cannam@0 429
cannam@0 430 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00069">69</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 431
cannam@0 432 </div>
cannam@0 433 </div><p>
cannam@0 434 <a class="anchor" name="7cfed00bc9d96ba6c709b69ab6a40594"></a><!-- doxytag: member="AmplitudeFollower::getName" ref="7cfed00bc9d96ba6c709b69ab6a40594" args="() const " -->
cannam@0 435 <div class="memitem">
cannam@0 436 <div class="memproto">
cannam@0 437 <table class="memname">
cannam@0 438 <tr>
cannam@0 439 <td class="memname">string AmplitudeFollower::getName </td>
cannam@0 440 <td>(</td>
cannam@0 441 <td class="paramname"> </td>
cannam@0 442 <td>&nbsp;)&nbsp;</td>
cannam@21 443 <td> const<code> [virtual]</code></td>
cannam@0 444 </tr>
cannam@0 445 </table>
cannam@0 446 </div>
cannam@0 447 <div class="memdoc">
cannam@0 448
cannam@0 449 <p>
cannam@0 450 Get a human-readable name or title of the plugin.
cannam@0 451 <p>
cannam@0 452 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>
cannam@0 453 Example: "Zero Crossings"
cannam@0 454 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p>
cannam@0 455
cannam@0 456 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00075">75</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 457
cannam@0 458 </div>
cannam@0 459 </div><p>
cannam@0 460 <a class="anchor" name="6f0f2fea1fdb4b51e688edfe859d5062"></a><!-- doxytag: member="AmplitudeFollower::getDescription" ref="6f0f2fea1fdb4b51e688edfe859d5062" args="() const " -->
cannam@0 461 <div class="memitem">
cannam@0 462 <div class="memproto">
cannam@0 463 <table class="memname">
cannam@0 464 <tr>
cannam@0 465 <td class="memname">string AmplitudeFollower::getDescription </td>
cannam@0 466 <td>(</td>
cannam@0 467 <td class="paramname"> </td>
cannam@0 468 <td>&nbsp;)&nbsp;</td>
cannam@21 469 <td> const<code> [virtual]</code></td>
cannam@0 470 </tr>
cannam@0 471 </table>
cannam@0 472 </div>
cannam@0 473 <div class="memdoc">
cannam@0 474
cannam@0 475 <p>
cannam@0 476 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".
cannam@0 477 <p>
cannam@0 478 May be empty if the name has said it all already.<p>
cannam@0 479 Example: "Detect and count zero crossing points"
cannam@0 480 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p>
cannam@0 481
cannam@0 482 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00081">81</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 483
cannam@0 484 </div>
cannam@0 485 </div><p>
cannam@0 486 <a class="anchor" name="44fc43838f203f58bc2ce6e3cb2b03dd"></a><!-- doxytag: member="AmplitudeFollower::getMaker" ref="44fc43838f203f58bc2ce6e3cb2b03dd" args="() const " -->
cannam@0 487 <div class="memitem">
cannam@0 488 <div class="memproto">
cannam@0 489 <table class="memname">
cannam@0 490 <tr>
cannam@0 491 <td class="memname">string AmplitudeFollower::getMaker </td>
cannam@0 492 <td>(</td>
cannam@0 493 <td class="paramname"> </td>
cannam@0 494 <td>&nbsp;)&nbsp;</td>
cannam@21 495 <td> const<code> [virtual]</code></td>
cannam@0 496 </tr>
cannam@0 497 </table>
cannam@0 498 </div>
cannam@0 499 <div class="memdoc">
cannam@0 500
cannam@0 501 <p>
cannam@0 502 Get the name of the author or vendor of the plugin in human-readable form.
cannam@0 503 <p>
cannam@0 504 This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar.
cannam@0 505 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p>
cannam@0 506
cannam@0 507 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00087">87</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 508
cannam@0 509 </div>
cannam@0 510 </div><p>
cannam@0 511 <a class="anchor" name="8a5d7a834eb996d517c51f84b2a72250"></a><!-- doxytag: member="AmplitudeFollower::getPluginVersion" ref="8a5d7a834eb996d517c51f84b2a72250" args="() const " -->
cannam@0 512 <div class="memitem">
cannam@0 513 <div class="memproto">
cannam@0 514 <table class="memname">
cannam@0 515 <tr>
cannam@0 516 <td class="memname">int AmplitudeFollower::getPluginVersion </td>
cannam@0 517 <td>(</td>
cannam@0 518 <td class="paramname"> </td>
cannam@0 519 <td>&nbsp;)&nbsp;</td>
cannam@21 520 <td> const<code> [virtual]</code></td>
cannam@0 521 </tr>
cannam@0 522 </table>
cannam@0 523 </div>
cannam@0 524 <div class="memdoc">
cannam@0 525
cannam@0 526 <p>
cannam@0 527 Get the version number of the plugin.
cannam@0 528 <p>
cannam@0 529
cannam@0 530 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p>
cannam@0 531
cannam@0 532 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00093">93</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 533
cannam@0 534 </div>
cannam@0 535 </div><p>
cannam@0 536 <a class="anchor" name="0c197fc90f30d91cb4403115c83c9134"></a><!-- doxytag: member="AmplitudeFollower::getCopyright" ref="0c197fc90f30d91cb4403115c83c9134" args="() const " -->
cannam@0 537 <div class="memitem">
cannam@0 538 <div class="memproto">
cannam@0 539 <table class="memname">
cannam@0 540 <tr>
cannam@0 541 <td class="memname">string AmplitudeFollower::getCopyright </td>
cannam@0 542 <td>(</td>
cannam@0 543 <td class="paramname"> </td>
cannam@0 544 <td>&nbsp;)&nbsp;</td>
cannam@21 545 <td> const<code> [virtual]</code></td>
cannam@0 546 </tr>
cannam@0 547 </table>
cannam@0 548 </div>
cannam@0 549 <div class="memdoc">
cannam@0 550
cannam@0 551 <p>
cannam@0 552 Get the copyright statement or licensing summary for the plugin.
cannam@0 553 <p>
cannam@0 554 This can be an informative text, without the same presentation constraints as mentioned for getMaker above.
cannam@0 555 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#b7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p>
cannam@0 556
cannam@0 557 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00099">99</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 558
cannam@0 559 </div>
cannam@0 560 </div><p>
cannam@0 561 <a class="anchor" name="043e3c3db77d76267cd8069e1485bf26"></a><!-- doxytag: member="AmplitudeFollower::getOutputDescriptors" ref="043e3c3db77d76267cd8069e1485bf26" args="() const " -->
cannam@0 562 <div class="memitem">
cannam@0 563 <div class="memproto">
cannam@0 564 <table class="memname">
cannam@0 565 <tr>
cannam@0 566 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">AmplitudeFollower::OutputList</a> AmplitudeFollower::getOutputDescriptors </td>
cannam@0 567 <td>(</td>
cannam@0 568 <td class="paramname"> </td>
cannam@0 569 <td>&nbsp;)&nbsp;</td>
cannam@21 570 <td> const<code> [virtual]</code></td>
cannam@0 571 </tr>
cannam@0 572 </table>
cannam@0 573 </div>
cannam@0 574 <div class="memdoc">
cannam@0 575
cannam@0 576 <p>
cannam@0 577 Get the outputs of this plugin.
cannam@0 578 <p>
cannam@0 579 An output's index in this list is used as its numeric index when looking it up in the FeatureSet returned from the <a class="el" href="classAmplitudeFollower.html#48d0f95cac31ffd190cff89b50a2a5bd" title="Process a single block of input data.">process()</a> call.
cannam@0 580 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#d064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p>
cannam@0 581
cannam@0 582 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00128">128</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 583
cannam@35 584 <p>References <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00247">Vamp::Plugin::Plugin::OutputDescriptor::binCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00227">Vamp::Plugin::Plugin::OutputDescriptor::description</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00239">Vamp::Plugin::Plugin::OutputDescriptor::hasFixedBinCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00260">Vamp::Plugin::Plugin::OutputDescriptor::hasKnownExtents</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00214">Vamp::Plugin::Plugin::OutputDescriptor::identifier</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00278">Vamp::Plugin::Plugin::OutputDescriptor::isQuantized</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00220">Vamp::Plugin::Plugin::OutputDescriptor::name</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00290">Vamp::Plugin::Plugin::OutputDescriptor::OneSamplePerStep</a>, <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00302">Vamp::Plugin::Plugin::OutputDescriptor::sampleType</a>, and <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00232">Vamp::Plugin::Plugin::OutputDescriptor::unit</a>.</p>
cannam@0 585
cannam@0 586 </div>
cannam@0 587 </div><p>
cannam@0 588 <a class="anchor" name="9df01323a09e117bc12354ebe9244edf"></a><!-- doxytag: member="AmplitudeFollower::getParameterDescriptors" ref="9df01323a09e117bc12354ebe9244edf" args="() const " -->
cannam@0 589 <div class="memitem">
cannam@0 590 <div class="memproto">
cannam@0 591 <table class="memname">
cannam@0 592 <tr>
cannam@0 593 <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">AmplitudeFollower::ParameterList</a> AmplitudeFollower::getParameterDescriptors </td>
cannam@0 594 <td>(</td>
cannam@0 595 <td class="paramname"> </td>
cannam@0 596 <td>&nbsp;)&nbsp;</td>
cannam@21 597 <td> const<code> [virtual]</code></td>
cannam@0 598 </tr>
cannam@0 599 </table>
cannam@0 600 </div>
cannam@0 601 <div class="memdoc">
cannam@0 602
cannam@0 603 <p>
cannam@0 604 Get the controllable parameters of this plugin.
cannam@0 605 <p>
cannam@0 606
cannam@0 607 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#ac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a>.</p>
cannam@0 608
cannam@0 609 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00148">148</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 610
cannam@35 611 <p>References <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00171">Vamp::PluginBase::PluginBase::ParameterDescriptor::defaultValue</a>, <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00148">Vamp::PluginBase::PluginBase::ParameterDescriptor::description</a>, <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00137">Vamp::PluginBase::PluginBase::ParameterDescriptor::identifier</a>, <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00177">Vamp::PluginBase::PluginBase::ParameterDescriptor::isQuantized</a>, <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00163">Vamp::PluginBase::PluginBase::ParameterDescriptor::maxValue</a>, <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00158">Vamp::PluginBase::PluginBase::ParameterDescriptor::minValue</a>, <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00142">Vamp::PluginBase::PluginBase::ParameterDescriptor::name</a>, and <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00153">Vamp::PluginBase::PluginBase::ParameterDescriptor::unit</a>.</p>
cannam@0 612
cannam@0 613 </div>
cannam@0 614 </div><p>
cannam@0 615 <a class="anchor" name="b278c4b6f2ca23248dc94ad775273f39"></a><!-- doxytag: member="AmplitudeFollower::getParameter" ref="b278c4b6f2ca23248dc94ad775273f39" args="(std::string paramid) const " -->
cannam@0 616 <div class="memitem">
cannam@0 617 <div class="memproto">
cannam@0 618 <table class="memname">
cannam@0 619 <tr>
cannam@0 620 <td class="memname">float AmplitudeFollower::getParameter </td>
cannam@0 621 <td>(</td>
cannam@0 622 <td class="paramtype">std::string&nbsp;</td>
cannam@0 623 <td class="paramname"> </td>
cannam@0 624 <td>&nbsp;)&nbsp;</td>
cannam@21 625 <td> const<code> [virtual]</code></td>
cannam@0 626 </tr>
cannam@0 627 </table>
cannam@0 628 </div>
cannam@0 629 <div class="memdoc">
cannam@0 630
cannam@0 631 <p>
cannam@0 632 Get the value of a named parameter.
cannam@0 633 <p>
cannam@0 634 The argument is the identifier field from that parameter's descriptor.
cannam@0 635 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a>.</p>
cannam@0 636
cannam@0 637 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00188">188</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 638
cannam@0 639 <p>References <a class="el" href="AmplitudeFollower_8h-source.html#l00079">m_clampcoef</a>, and <a class="el" href="AmplitudeFollower_8h-source.html#l00080">m_relaxcoef</a>.</p>
cannam@0 640
cannam@0 641 </div>
cannam@0 642 </div><p>
cannam@0 643 <a class="anchor" name="e1fc37ece4d20e40f3066a3361a99340"></a><!-- doxytag: member="AmplitudeFollower::setParameter" ref="e1fc37ece4d20e40f3066a3361a99340" args="(std::string paramid, float newval)" -->
cannam@0 644 <div class="memitem">
cannam@0 645 <div class="memproto">
cannam@0 646 <table class="memname">
cannam@0 647 <tr>
cannam@0 648 <td class="memname">void AmplitudeFollower::setParameter </td>
cannam@0 649 <td>(</td>
cannam@0 650 <td class="paramtype">std::string&nbsp;</td>
cannam@0 651 <td class="paramname">, </td>
cannam@0 652 </tr>
cannam@0 653 <tr>
cannam@0 654 <td class="paramkey"></td>
cannam@0 655 <td></td>
cannam@0 656 <td class="paramtype">float&nbsp;</td>
cannam@0 657 <td class="paramname"></td><td>&nbsp;</td>
cannam@0 658 </tr>
cannam@0 659 <tr>
cannam@0 660 <td></td>
cannam@0 661 <td>)</td>
cannam@21 662 <td></td><td></td><td><code> [virtual]</code></td>
cannam@0 663 </tr>
cannam@0 664 </table>
cannam@0 665 </div>
cannam@0 666 <div class="memdoc">
cannam@0 667
cannam@0 668 <p>
cannam@0 669 Set a named parameter.
cannam@0 670 <p>
cannam@0 671 The first argument is the identifier field from that parameter's descriptor.
cannam@0 672 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#6c718ce822f7b73b98940d59dcaa9366">Vamp::PluginBase</a>.</p>
cannam@0 673
cannam@0 674 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00179">179</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 675
cannam@0 676 <p>References <a class="el" href="AmplitudeFollower_8h-source.html#l00079">m_clampcoef</a>, and <a class="el" href="AmplitudeFollower_8h-source.html#l00080">m_relaxcoef</a>.</p>
cannam@0 677
cannam@0 678 </div>
cannam@0 679 </div><p>
cannam@0 680 <a class="anchor" name="48d0f95cac31ffd190cff89b50a2a5bd"></a><!-- doxytag: member="AmplitudeFollower::process" ref="48d0f95cac31ffd190cff89b50a2a5bd" args="(const float *const *inputBuffers, Vamp::RealTime timestamp)" -->
cannam@0 681 <div class="memitem">
cannam@0 682 <div class="memproto">
cannam@0 683 <table class="memname">
cannam@0 684 <tr>
cannam@0 685 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">AmplitudeFollower::FeatureSet</a> AmplitudeFollower::process </td>
cannam@0 686 <td>(</td>
cannam@0 687 <td class="paramtype">const float *const *&nbsp;</td>
cannam@0 688 <td class="paramname"> <em>inputBuffers</em>, </td>
cannam@0 689 </tr>
cannam@0 690 <tr>
cannam@0 691 <td class="paramkey"></td>
cannam@0 692 <td></td>
cannam@0 693 <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a>&nbsp;</td>
cannam@0 694 <td class="paramname"> <em>timestamp</em></td><td>&nbsp;</td>
cannam@0 695 </tr>
cannam@0 696 <tr>
cannam@0 697 <td></td>
cannam@0 698 <td>)</td>
cannam@21 699 <td></td><td></td><td><code> [virtual]</code></td>
cannam@0 700 </tr>
cannam@0 701 </table>
cannam@0 702 </div>
cannam@0 703 <div class="memdoc">
cannam@0 704
cannam@0 705 <p>
cannam@0 706 Process a single block of input data.
cannam@0 707 <p>
cannam@21 708 If the plugin's inputDomain is TimeDomain, inputBuffers will point to one array of floats per input channel, and each of these arrays will contain blockSize consecutive audio samples (the host will zero-pad as necessary). The timestamp in this case will be the real time in seconds of the start of the supplied block of samples.<p>
cannam@0 709 If the plugin's inputDomain is FrequencyDomain, inputBuffers will point to one array of floats per input channel, and each of these arrays will contain blockSize/2+1 consecutive pairs of real and imaginary component floats corresponding to bins 0..(blockSize/2) of the FFT output. That is, bin 0 (the first pair of floats) contains the DC output, up to bin blockSize/2 which contains the Nyquist-frequency output. There will therefore be blockSize+2 floats per channel in total. The timestamp will be the real time in seconds of the centre of the FFT input window (i.e. the very first block passed to process might contain the FFT of half a block of zero samples and the first half-block of the actual data, with a timestamp of zero).<p>
cannam@0 710 Return any features that have become available after this process call. (These do not necessarily have to fall within the process block, except for OneSamplePerStep outputs.)
cannam@0 711 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin</a>.</p>
cannam@0 712
cannam@0 713 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00200">200</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 714
cannam@35 715 <p>References <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00344">Vamp::Plugin::Plugin::Feature::hasTimestamp</a>, <a class="el" href="AmplitudeFollower_8h-source.html#l00079">m_clampcoef</a>, <a class="el" href="AmplitudeFollower_8h-source.html#l00078">m_previn</a>, <a class="el" href="AmplitudeFollower_8h-source.html#l00080">m_relaxcoef</a>, <a class="el" href="AmplitudeFollower_8h-source.html#l00077">m_stepSize</a>, and <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00374">Vamp::Plugin::Plugin::Feature::values</a>.</p>
cannam@0 716
cannam@0 717 </div>
cannam@0 718 </div><p>
cannam@0 719 <a class="anchor" name="368606f643b88e0df0823d85e36f030c"></a><!-- doxytag: member="AmplitudeFollower::getRemainingFeatures" ref="368606f643b88e0df0823d85e36f030c" args="()" -->
cannam@0 720 <div class="memitem">
cannam@0 721 <div class="memproto">
cannam@0 722 <table class="memname">
cannam@0 723 <tr>
cannam@0 724 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">AmplitudeFollower::FeatureSet</a> AmplitudeFollower::getRemainingFeatures </td>
cannam@0 725 <td>(</td>
cannam@0 726 <td class="paramname"> </td>
cannam@0 727 <td>&nbsp;)&nbsp;</td>
cannam@21 728 <td><code> [virtual]</code></td>
cannam@0 729 </tr>
cannam@0 730 </table>
cannam@0 731 </div>
cannam@0 732 <div class="memdoc">
cannam@0 733
cannam@0 734 <p>
cannam@0 735 After all blocks have been processed, calculate and return any remaining features derived from the complete input.
cannam@0 736 <p>
cannam@0 737
cannam@0 738 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#eca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a>.</p>
cannam@0 739
cannam@0 740 <p>Definition at line <a class="el" href="AmplitudeFollower_8cpp-source.html#l00243">243</a> of file <a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a>.</p>
cannam@0 741
cannam@0 742 </div>
cannam@0 743 </div><p>
cannam@0 744 <a class="anchor" name="a529adf83f87a603954eb31407602aac"></a><!-- doxytag: member="AmplitudeFollower::getPreferredBlockSize" ref="a529adf83f87a603954eb31407602aac" args="() const " -->
cannam@0 745 <div class="memitem">
cannam@0 746 <div class="memproto">
cannam@0 747 <table class="memname">
cannam@0 748 <tr>
cannam@0 749 <td class="memname">virtual size_t Vamp::Plugin::getPreferredBlockSize </td>
cannam@0 750 <td>(</td>
cannam@0 751 <td class="paramname"> </td>
cannam@0 752 <td>&nbsp;)&nbsp;</td>
cannam@21 753 <td> const<code> [inline, virtual, inherited]</code></td>
cannam@0 754 </tr>
cannam@0 755 </table>
cannam@0 756 </div>
cannam@0 757 <div class="memdoc">
cannam@0 758
cannam@0 759 <p>
cannam@0 760 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).
cannam@0 761 <p>
cannam@0 762 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>
cannam@0 763 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.
cannam@21 764 <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>
cannam@0 765
cannam@35 766 <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>
cannam@0 767
cannam@21 768 <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>
cannam@0 769
cannam@0 770 </div>
cannam@0 771 </div><p>
cannam@0 772 <a class="anchor" name="514c716c22f81c055f19b56c3f882567"></a><!-- doxytag: member="AmplitudeFollower::getPreferredStepSize" ref="514c716c22f81c055f19b56c3f882567" args="() const " -->
cannam@0 773 <div class="memitem">
cannam@0 774 <div class="memproto">
cannam@0 775 <table class="memname">
cannam@0 776 <tr>
cannam@0 777 <td class="memname">virtual size_t Vamp::Plugin::getPreferredStepSize </td>
cannam@0 778 <td>(</td>
cannam@0 779 <td class="paramname"> </td>
cannam@0 780 <td>&nbsp;)&nbsp;</td>
cannam@21 781 <td> const<code> [inline, virtual, inherited]</code></td>
cannam@0 782 </tr>
cannam@0 783 </table>
cannam@0 784 </div>
cannam@0 785 <div class="memdoc">
cannam@0 786
cannam@0 787 <p>
cannam@0 788 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.
cannam@0 789 <p>
cannam@0 790 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>
cannam@0 791 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.
cannam@21 792 <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>
cannam@0 793
cannam@35 794 <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>
cannam@0 795
cannam@21 796 <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>
cannam@0 797
cannam@0 798 </div>
cannam@0 799 </div><p>
cannam@0 800 <a class="anchor" name="267b42e866df3cf0d190893e8096f525"></a><!-- doxytag: member="AmplitudeFollower::getMinChannelCount" ref="267b42e866df3cf0d190893e8096f525" args="() const " -->
cannam@0 801 <div class="memitem">
cannam@0 802 <div class="memproto">
cannam@0 803 <table class="memname">
cannam@0 804 <tr>
cannam@0 805 <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td>
cannam@0 806 <td>(</td>
cannam@0 807 <td class="paramname"> </td>
cannam@0 808 <td>&nbsp;)&nbsp;</td>
cannam@21 809 <td> const<code> [inline, virtual, inherited]</code></td>
cannam@0 810 </tr>
cannam@0 811 </table>
cannam@0 812 </div>
cannam@0 813 <div class="memdoc">
cannam@0 814
cannam@0 815 <p>
cannam@0 816 Get the minimum supported number of input channels.
cannam@0 817 <p>
cannam@0 818
cannam@0 819 <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>
cannam@0 820
cannam@35 821 <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>
cannam@0 822
cannam@35 823 <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">initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p>
cannam@0 824
cannam@0 825 </div>
cannam@0 826 </div><p>
cannam@0 827 <a class="anchor" name="2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="AmplitudeFollower::getMaxChannelCount" ref="2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " -->
cannam@0 828 <div class="memitem">
cannam@0 829 <div class="memproto">
cannam@0 830 <table class="memname">
cannam@0 831 <tr>
cannam@0 832 <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td>
cannam@0 833 <td>(</td>
cannam@0 834 <td class="paramname"> </td>
cannam@0 835 <td>&nbsp;)&nbsp;</td>
cannam@21 836 <td> const<code> [inline, virtual, inherited]</code></td>
cannam@0 837 </tr>
cannam@0 838 </table>
cannam@0 839 </div>
cannam@0 840 <div class="memdoc">
cannam@0 841
cannam@0 842 <p>
cannam@0 843 Get the maximum supported number of input channels.
cannam@0 844 <p>
cannam@0 845
cannam@0 846 <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>
cannam@0 847
cannam@35 848 <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>
cannam@0 849
cannam@35 850 <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">initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p>
cannam@0 851
cannam@0 852 </div>
cannam@0 853 </div><p>
cannam@0 854 <a class="anchor" name="be13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="AmplitudeFollower::getType" ref="be13b3997a69fbcc09e2213faa352f91" args="() const " -->
cannam@0 855 <div class="memitem">
cannam@0 856 <div class="memproto">
cannam@0 857 <table class="memname">
cannam@0 858 <tr>
cannam@0 859 <td class="memname">virtual std::string Vamp::Plugin::getType </td>
cannam@0 860 <td>(</td>
cannam@0 861 <td class="paramname"> </td>
cannam@0 862 <td>&nbsp;)&nbsp;</td>
cannam@21 863 <td> const<code> [inline, virtual, inherited]</code></td>
cannam@0 864 </tr>
cannam@0 865 </table>
cannam@0 866 </div>
cannam@0 867 <div class="memdoc">
cannam@0 868
cannam@0 869 <p>
cannam@0 870 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>.
cannam@0 871 <p>
cannam@0 872 Do not reimplement this function in your subclass.
cannam@0 873 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p>
cannam@0 874
cannam@35 875 <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>
cannam@0 876
cannam@0 877 </div>
cannam@0 878 </div><p>
cannam@0 879 <a class="anchor" name="8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="AmplitudeFollower::getVampApiVersion" ref="8fd2c48291c64b790f0efb8948508dcf" args="() const " -->
cannam@0 880 <div class="memitem">
cannam@0 881 <div class="memproto">
cannam@0 882 <table class="memname">
cannam@0 883 <tr>
cannam@0 884 <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td>
cannam@0 885 <td>(</td>
cannam@0 886 <td class="paramname"> </td>
cannam@0 887 <td>&nbsp;)&nbsp;</td>
cannam@21 888 <td> const<code> [inline, virtual, inherited]</code></td>
cannam@0 889 </tr>
cannam@0 890 </table>
cannam@0 891 </div>
cannam@0 892 <div class="memdoc">
cannam@0 893
cannam@0 894 <p>
cannam@21 895 Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin.
cannam@0 896 <p>
cannam@0 897
cannam@0 898 <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>
cannam@0 899
cannam@21 900 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00072">72</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
cannam@0 901
cannam@21 902 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00559">enumeratePlugins()</a>.</p>
cannam@0 903
cannam@0 904 </div>
cannam@0 905 </div><p>
cannam@0 906 <a class="anchor" name="bb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="AmplitudeFollower::getPrograms" ref="bb307c60bdb981d5f5af50c3c4ae84af" args="() const " -->
cannam@0 907 <div class="memitem">
cannam@0 908 <div class="memproto">
cannam@0 909 <table class="memname">
cannam@0 910 <tr>
cannam@0 911 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td>
cannam@0 912 <td>(</td>
cannam@0 913 <td class="paramname"> </td>
cannam@0 914 <td>&nbsp;)&nbsp;</td>
cannam@21 915 <td> const<code> [inline, virtual, inherited]</code></td>
cannam@0 916 </tr>
cannam@0 917 </table>
cannam@0 918 </div>
cannam@0 919 <div class="memdoc">
cannam@0 920
cannam@0 921 <p>
cannam@0 922 Get the program settings available in this plugin.
cannam@0 923 <p>
cannam@0 924 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>
cannam@0 925 The programs must have unique names.
cannam@21 926 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#e0cde5cd625418c1bc470b91f75daafc">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#131fbe1df81215020b9aa8cecef4c802">Vamp::HostExt::PluginWrapper</a>.</p>
cannam@0 927
cannam@21 928 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00237">237</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
cannam@0 929
cannam@0 930 </div>
cannam@0 931 </div><p>
cannam@0 932 <a class="anchor" name="24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="AmplitudeFollower::getCurrentProgram" ref="24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " -->
cannam@0 933 <div class="memitem">
cannam@0 934 <div class="memproto">
cannam@0 935 <table class="memname">
cannam@0 936 <tr>
cannam@0 937 <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td>
cannam@0 938 <td>(</td>
cannam@0 939 <td class="paramname"> </td>
cannam@0 940 <td>&nbsp;)&nbsp;</td>
cannam@21 941 <td> const<code> [inline, virtual, inherited]</code></td>
cannam@0 942 </tr>
cannam@0 943 </table>
cannam@0 944 </div>
cannam@0 945 <div class="memdoc">
cannam@0 946
cannam@0 947 <p>
cannam@0 948 Get the current program.
cannam@0 949 <p>
cannam@0 950
cannam@0 951 <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>
cannam@0 952
cannam@21 953 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00242">242</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
cannam@0 954
cannam@0 955 </div>
cannam@0 956 </div><p>
cannam@0 957 <a class="anchor" name="add3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="AmplitudeFollower::selectProgram" ref="add3a547ef140bae200473a9518e3353" args="(std::string)" -->
cannam@0 958 <div class="memitem">
cannam@0 959 <div class="memproto">
cannam@0 960 <table class="memname">
cannam@0 961 <tr>
cannam@0 962 <td class="memname">virtual void Vamp::PluginBase::selectProgram </td>
cannam@0 963 <td>(</td>
cannam@0 964 <td class="paramtype">std::string&nbsp;</td>
cannam@0 965 <td class="paramname"> </td>
cannam@0 966 <td>&nbsp;)&nbsp;</td>
cannam@21 967 <td><code> [inline, virtual, inherited]</code></td>
cannam@0 968 </tr>
cannam@0 969 </table>
cannam@0 970 </div>
cannam@0 971 <div class="memdoc">
cannam@0 972
cannam@0 973 <p>
cannam@0 974 Select a program.
cannam@0 975 <p>
cannam@0 976 (If the given program name is not one of the available programs, do nothing.)
cannam@21 977 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p>
cannam@0 978
cannam@21 979 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00248">248</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
cannam@0 980
cannam@0 981 </div>
cannam@0 982 </div><p>
cannam@0 983 <hr><h2>Member Data Documentation</h2>
cannam@0 984 <a class="anchor" name="959c2647fd3c5feea2591e3618774027"></a><!-- doxytag: member="AmplitudeFollower::m_stepSize" ref="959c2647fd3c5feea2591e3618774027" args="" -->
cannam@0 985 <div class="memitem">
cannam@0 986 <div class="memproto">
cannam@0 987 <table class="memname">
cannam@0 988 <tr>
cannam@0 989 <td class="memname">size_t <a class="el" href="classAmplitudeFollower.html#959c2647fd3c5feea2591e3618774027">AmplitudeFollower::m_stepSize</a><code> [protected]</code> </td>
cannam@0 990 </tr>
cannam@0 991 </table>
cannam@0 992 </div>
cannam@0 993 <div class="memdoc">
cannam@0 994
cannam@0 995 <p>
cannam@0 996
cannam@0 997 <p>Definition at line <a class="el" href="AmplitudeFollower_8h-source.html#l00077">77</a> of file <a class="el" href="AmplitudeFollower_8h-source.html">AmplitudeFollower.h</a>.</p>
cannam@0 998
cannam@0 999 <p>Referenced by <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">initialise()</a>, and <a class="el" href="AmplitudeFollower_8cpp-source.html#l00200">process()</a>.</p>
cannam@0 1000
cannam@0 1001 </div>
cannam@0 1002 </div><p>
cannam@0 1003 <a class="anchor" name="c95e8d2f334821c6c92c706bae29695a"></a><!-- doxytag: member="AmplitudeFollower::m_previn" ref="c95e8d2f334821c6c92c706bae29695a" args="" -->
cannam@0 1004 <div class="memitem">
cannam@0 1005 <div class="memproto">
cannam@0 1006 <table class="memname">
cannam@0 1007 <tr>
cannam@0 1008 <td class="memname">float <a class="el" href="classAmplitudeFollower.html#c95e8d2f334821c6c92c706bae29695a">AmplitudeFollower::m_previn</a><code> [protected]</code> </td>
cannam@0 1009 </tr>
cannam@0 1010 </table>
cannam@0 1011 </div>
cannam@0 1012 <div class="memdoc">
cannam@0 1013
cannam@0 1014 <p>
cannam@0 1015
cannam@0 1016 <p>Definition at line <a class="el" href="AmplitudeFollower_8h-source.html#l00078">78</a> of file <a class="el" href="AmplitudeFollower_8h-source.html">AmplitudeFollower.h</a>.</p>
cannam@0 1017
cannam@0 1018 <p>Referenced by <a class="el" href="AmplitudeFollower_8cpp-source.html#l00200">process()</a>, and <a class="el" href="AmplitudeFollower_8cpp-source.html#l00122">reset()</a>.</p>
cannam@0 1019
cannam@0 1020 </div>
cannam@0 1021 </div><p>
cannam@0 1022 <a class="anchor" name="1cb205b08cfe2ce94a4af05b18f72876"></a><!-- doxytag: member="AmplitudeFollower::m_clampcoef" ref="1cb205b08cfe2ce94a4af05b18f72876" args="" -->
cannam@0 1023 <div class="memitem">
cannam@0 1024 <div class="memproto">
cannam@0 1025 <table class="memname">
cannam@0 1026 <tr>
cannam@0 1027 <td class="memname">float <a class="el" href="classAmplitudeFollower.html#1cb205b08cfe2ce94a4af05b18f72876">AmplitudeFollower::m_clampcoef</a><code> [protected]</code> </td>
cannam@0 1028 </tr>
cannam@0 1029 </table>
cannam@0 1030 </div>
cannam@0 1031 <div class="memdoc">
cannam@0 1032
cannam@0 1033 <p>
cannam@0 1034
cannam@0 1035 <p>Definition at line <a class="el" href="AmplitudeFollower_8h-source.html#l00079">79</a> of file <a class="el" href="AmplitudeFollower_8h-source.html">AmplitudeFollower.h</a>.</p>
cannam@0 1036
cannam@0 1037 <p>Referenced by <a class="el" href="AmplitudeFollower_8cpp-source.html#l00188">getParameter()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00200">process()</a>, and <a class="el" href="AmplitudeFollower_8cpp-source.html#l00179">setParameter()</a>.</p>
cannam@0 1038
cannam@0 1039 </div>
cannam@0 1040 </div><p>
cannam@0 1041 <a class="anchor" name="ceecd3b3879f32eb4a2e597c32c41cfc"></a><!-- doxytag: member="AmplitudeFollower::m_relaxcoef" ref="ceecd3b3879f32eb4a2e597c32c41cfc" args="" -->
cannam@0 1042 <div class="memitem">
cannam@0 1043 <div class="memproto">
cannam@0 1044 <table class="memname">
cannam@0 1045 <tr>
cannam@0 1046 <td class="memname">float <a class="el" href="classAmplitudeFollower.html#ceecd3b3879f32eb4a2e597c32c41cfc">AmplitudeFollower::m_relaxcoef</a><code> [protected]</code> </td>
cannam@0 1047 </tr>
cannam@0 1048 </table>
cannam@0 1049 </div>
cannam@0 1050 <div class="memdoc">
cannam@0 1051
cannam@0 1052 <p>
cannam@0 1053
cannam@0 1054 <p>Definition at line <a class="el" href="AmplitudeFollower_8h-source.html#l00080">80</a> of file <a class="el" href="AmplitudeFollower_8h-source.html">AmplitudeFollower.h</a>.</p>
cannam@0 1055
cannam@0 1056 <p>Referenced by <a class="el" href="AmplitudeFollower_8cpp-source.html#l00188">getParameter()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00200">process()</a>, and <a class="el" href="AmplitudeFollower_8cpp-source.html#l00179">setParameter()</a>.</p>
cannam@0 1057
cannam@0 1058 </div>
cannam@0 1059 </div><p>
cannam@0 1060 <a class="anchor" name="59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="AmplitudeFollower::m_inputSampleRate" ref="59b9dd82a4f4eb946cd0474cc81abc23" args="" -->
cannam@0 1061 <div class="memitem">
cannam@0 1062 <div class="memproto">
cannam@0 1063 <table class="memname">
cannam@0 1064 <tr>
cannam@0 1065 <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code> </td>
cannam@0 1066 </tr>
cannam@0 1067 </table>
cannam@0 1068 </div>
cannam@0 1069 <div class="memdoc">
cannam@0 1070
cannam@0 1071 <p>
cannam@0 1072
cannam@35 1073 <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>
cannam@0 1074
cannam@35 1075 <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">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>
cannam@0 1076
cannam@0 1077 </div>
cannam@0 1078 </div><p>
cannam@0 1079 <hr>The documentation for this class was generated from the following files:<ul>
cannam@0 1080 <li><a class="el" href="AmplitudeFollower_8h-source.html">AmplitudeFollower.h</a><li><a class="el" href="AmplitudeFollower_8cpp-source.html">AmplitudeFollower.cpp</a></ul>
cannam@0 1081 </div>
cannam@35 1082 <hr size="1"><address style="text-align: right;"><small>Generated on Thu Sep 24 13:40:13 2009 for VampPluginSDK by&nbsp;
cannam@0 1083 <a href="http://www.doxygen.org/index.html">
cannam@35 1084 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
cannam@0 1085 </body>
cannam@0 1086 </html>