annotate code-doc/classPowerSpectrum.html @ 38:01e83b3b256b website

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