annotate code-doc/classFixedTempoEstimator.html @ 35:0976232e353b website

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