Mercurial > hg > vamp-docs
changeset 1:3c430ef1ed66 vamp-plugin-sdk-v2.3
Add code docs from SDK 2.3
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/AmplitudeFollower_8cpp.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: AmplitudeFollower.cpp File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('AmplitudeFollower_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">AmplitudeFollower.cpp File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="AmplitudeFollower_8cpp_source.html">Go to the source code of this file.</a></p> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="AmplitudeFollower_8cpp.html">AmplitudeFollower.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/AmplitudeFollower_8cpp_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,334 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: AmplitudeFollower.cpp Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('AmplitudeFollower_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">AmplitudeFollower.cpp</div> </div> +</div> +<div class="contents"> +<a href="AmplitudeFollower_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> This file copyright 2006 Dan Stowell.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="AmplitudeFollower_8h.html">AmplitudeFollower.h</a>"</span> +<a name="l00038"></a>00038 +<a name="l00039"></a>00039 <span class="preprocessor">#include <cmath></span> +<a name="l00040"></a>00040 +<a name="l00041"></a>00041 <span class="preprocessor">#include <string></span> +<a name="l00042"></a>00042 <span class="preprocessor">#include <vector></span> +<a name="l00043"></a>00043 <span class="preprocessor">#include <iostream></span> +<a name="l00044"></a>00044 +<a name="l00045"></a>00045 <span class="keyword">using</span> std::string; +<a name="l00046"></a>00046 <span class="keyword">using</span> std::vector; +<a name="l00047"></a>00047 <span class="keyword">using</span> std::cerr; +<a name="l00048"></a>00048 <span class="keyword">using</span> std::endl; +<a name="l00049"></a>00049 +<a name="l00055"></a><a class="code" href="classAmplitudeFollower.html#a29eaeffc353da2614ae508abcd0ab63f">00055</a> <a class="code" href="classAmplitudeFollower.html#a29eaeffc353da2614ae508abcd0ab63f" title="An implementation of SuperCollider's amplitude-follower algorithm as a simple Vamp plugin...">AmplitudeFollower::AmplitudeFollower</a>(<span class="keywordtype">float</span> inputSampleRate) : +<a name="l00056"></a>00056 Plugin(inputSampleRate), +<a name="l00057"></a>00057 m_stepSize(0), +<a name="l00058"></a>00058 m_previn(0.0f), +<a name="l00059"></a>00059 m_clampcoef(0.01f), +<a name="l00060"></a>00060 m_relaxcoef(0.01f) +<a name="l00061"></a>00061 { +<a name="l00062"></a>00062 } +<a name="l00063"></a>00063 +<a name="l00064"></a><a class="code" href="classAmplitudeFollower.html#aa78f98539ad3a1b08691a99b32035b2d">00064</a> <a class="code" href="classAmplitudeFollower.html#aa78f98539ad3a1b08691a99b32035b2d">AmplitudeFollower::~AmplitudeFollower</a>() +<a name="l00065"></a>00065 { +<a name="l00066"></a>00066 } +<a name="l00067"></a>00067 +<a name="l00068"></a>00068 <span class="keywordtype">string</span> +<a name="l00069"></a><a class="code" href="classAmplitudeFollower.html#afe7576af95c8fcc7f5bad42eec9f9f29">00069</a> <a class="code" href="classAmplitudeFollower.html#afe7576af95c8fcc7f5bad42eec9f9f29" title="Get the computer-usable name of the plugin.">AmplitudeFollower::getIdentifier</a>()<span class="keyword"> const</span> +<a name="l00070"></a>00070 <span class="keyword"></span>{ +<a name="l00071"></a>00071 <span class="keywordflow">return</span> <span class="stringliteral">"amplitudefollower"</span>; +<a name="l00072"></a>00072 } +<a name="l00073"></a>00073 +<a name="l00074"></a>00074 <span class="keywordtype">string</span> +<a name="l00075"></a><a class="code" href="classAmplitudeFollower.html#a7cfed00bc9d96ba6c709b69ab6a40594">00075</a> <a class="code" href="classAmplitudeFollower.html#a7cfed00bc9d96ba6c709b69ab6a40594" title="Get a human-readable name or title of the plugin.">AmplitudeFollower::getName</a>()<span class="keyword"> const</span> +<a name="l00076"></a>00076 <span class="keyword"></span>{ +<a name="l00077"></a>00077 <span class="keywordflow">return</span> <span class="stringliteral">"Amplitude Follower"</span>; +<a name="l00078"></a>00078 } +<a name="l00079"></a>00079 +<a name="l00080"></a>00080 <span class="keywordtype">string</span> +<a name="l00081"></a><a class="code" href="classAmplitudeFollower.html#a6f0f2fea1fdb4b51e688edfe859d5062">00081</a> <a class="code" href="classAmplitudeFollower.html#a6f0f2fea1fdb4b51e688edfe859d5062" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">AmplitudeFollower::getDescription</a>()<span class="keyword"> const</span> +<a name="l00082"></a>00082 <span class="keyword"></span>{ +<a name="l00083"></a>00083 <span class="keywordflow">return</span> <span class="stringliteral">"Track the amplitude of the audio signal"</span>; +<a name="l00084"></a>00084 } +<a name="l00085"></a>00085 +<a name="l00086"></a>00086 <span class="keywordtype">string</span> +<a name="l00087"></a><a class="code" href="classAmplitudeFollower.html#a44fc43838f203f58bc2ce6e3cb2b03dd">00087</a> <a class="code" href="classAmplitudeFollower.html#a44fc43838f203f58bc2ce6e3cb2b03dd" title="Get the name of the author or vendor of the plugin in human-readable form.">AmplitudeFollower::getMaker</a>()<span class="keyword"> const</span> +<a name="l00088"></a>00088 <span class="keyword"></span>{ +<a name="l00089"></a>00089 <span class="keywordflow">return</span> <span class="stringliteral">"Vamp SDK Example Plugins"</span>; +<a name="l00090"></a>00090 } +<a name="l00091"></a>00091 +<a name="l00092"></a>00092 <span class="keywordtype">int</span> +<a name="l00093"></a><a class="code" href="classAmplitudeFollower.html#a8a5d7a834eb996d517c51f84b2a72250">00093</a> <a class="code" href="classAmplitudeFollower.html#a8a5d7a834eb996d517c51f84b2a72250" title="Get the version number of the plugin.">AmplitudeFollower::getPluginVersion</a>()<span class="keyword"> const</span> +<a name="l00094"></a>00094 <span class="keyword"></span>{ +<a name="l00095"></a>00095 <span class="keywordflow">return</span> 1; +<a name="l00096"></a>00096 } +<a name="l00097"></a>00097 +<a name="l00098"></a>00098 <span class="keywordtype">string</span> +<a name="l00099"></a><a class="code" href="classAmplitudeFollower.html#a0c197fc90f30d91cb4403115c83c9134">00099</a> <a class="code" href="classAmplitudeFollower.html#a0c197fc90f30d91cb4403115c83c9134" title="Get the copyright statement or licensing summary for the plugin.">AmplitudeFollower::getCopyright</a>()<span class="keyword"> const</span> +<a name="l00100"></a>00100 <span class="keyword"></span>{ +<a name="l00101"></a>00101 <span class="keywordflow">return</span> <span class="stringliteral">"Code copyright 2006 Dan Stowell; method from SuperCollider. Freely redistributable (BSD license)"</span>; +<a name="l00102"></a>00102 } +<a name="l00103"></a>00103 +<a name="l00104"></a>00104 <span class="keywordtype">bool</span> +<a name="l00105"></a><a class="code" href="classAmplitudeFollower.html#aeb727e44ee8ad1aceb90964d20f8d90d">00105</a> <a class="code" href="classAmplitudeFollower.html#aeb727e44ee8ad1aceb90964d20f8d90d" title="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).">AmplitudeFollower::initialise</a>(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize) +<a name="l00106"></a>00106 { +<a name="l00107"></a>00107 <span class="keywordflow">if</span> (channels < <a class="code" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525" title="Get the minimum supported number of input channels.">getMinChannelCount</a>() || +<a name="l00108"></a>00108 channels > <a class="code" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e" title="Get the maximum supported number of input channels.">getMaxChannelCount</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>; +<a name="l00109"></a>00109 +<a name="l00110"></a>00110 <a class="code" href="classAmplitudeFollower.html#a959c2647fd3c5feea2591e3618774027">m_stepSize</a> = std::min(stepSize, blockSize); +<a name="l00111"></a>00111 +<a name="l00112"></a>00112 <span class="comment">// Translate the coefficients </span> +<a name="l00113"></a>00113 <span class="comment">// from their "convenient" 60dB convergence-time values</span> +<a name="l00114"></a>00114 <span class="comment">// to real coefficients</span> +<a name="l00115"></a>00115 <a class="code" href="classAmplitudeFollower.html#a1cb205b08cfe2ce94a4af05b18f72876">m_clampcoef</a> = <a class="code" href="classAmplitudeFollower.html#a1cb205b08cfe2ce94a4af05b18f72876">m_clampcoef</a>==0.0 ? 0.0 : exp(log(0.1)/(<a class="code" href="classAmplitudeFollower.html#a1cb205b08cfe2ce94a4af05b18f72876">m_clampcoef</a> * <a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a>)); +<a name="l00116"></a>00116 <a class="code" href="classAmplitudeFollower.html#aceecd3b3879f32eb4a2e597c32c41cfc">m_relaxcoef</a> = <a class="code" href="classAmplitudeFollower.html#aceecd3b3879f32eb4a2e597c32c41cfc">m_relaxcoef</a>==0.0 ? 0.0 : exp(log(0.1)/(<a class="code" href="classAmplitudeFollower.html#aceecd3b3879f32eb4a2e597c32c41cfc">m_relaxcoef</a> * m_inputSampleRate)); +<a name="l00117"></a>00117 +<a name="l00118"></a>00118 <span class="keywordflow">return</span> <span class="keyword">true</span>; +<a name="l00119"></a>00119 } +<a name="l00120"></a>00120 +<a name="l00121"></a>00121 <span class="keywordtype">void</span> +<a name="l00122"></a><a class="code" href="classAmplitudeFollower.html#acebd835e80e84669df078fbd7591d8f7">00122</a> <a class="code" href="classAmplitudeFollower.html#acebd835e80e84669df078fbd7591d8f7" title="Reset the plugin after use, to prepare it for another clean run.">AmplitudeFollower::reset</a>() +<a name="l00123"></a>00123 { +<a name="l00124"></a>00124 <a class="code" href="classAmplitudeFollower.html#ac95e8d2f334821c6c92c706bae29695a">m_previn</a> = 0.0f; +<a name="l00125"></a>00125 } +<a name="l00126"></a>00126 +<a name="l00127"></a>00127 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">AmplitudeFollower::OutputList</a> +<a name="l00128"></a><a class="code" href="classAmplitudeFollower.html#a043e3c3db77d76267cd8069e1485bf26">00128</a> <a class="code" href="classAmplitudeFollower.html#a043e3c3db77d76267cd8069e1485bf26" title="Get the outputs of this plugin.">AmplitudeFollower::getOutputDescriptors</a>()<span class="keyword"> const</span> +<a name="l00129"></a>00129 <span class="keyword"></span>{ +<a name="l00130"></a>00130 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> list; +<a name="l00131"></a>00131 +<a name="l00132"></a>00132 <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> sca; +<a name="l00133"></a>00133 sca.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b" title="The name of the output, in computer-usable form.">identifier</a> = <span class="stringliteral">"amplitude"</span>; +<a name="l00134"></a>00134 sca.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87" title="The human-readable name of the output.">name</a> = <span class="stringliteral">"Amplitude"</span>; +<a name="l00135"></a>00135 sca.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1" title="A human-readable short text describing the output.">description</a> = <span class="stringliteral">"The peak tracked amplitude for the current processing block"</span>; +<a name="l00136"></a>00136 sca.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4" title="The unit of the output, in human-readable form.">unit</a> = <span class="stringliteral">"V"</span>; +<a name="l00137"></a>00137 sca.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d" title="True if the output has the same number of values per sample for every output sample.">hasFixedBinCount</a> = <span class="keyword">true</span>; +<a name="l00138"></a>00138 sca.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc" title="The number of values per result of the output.">binCount</a> = 1; +<a name="l00139"></a>00139 sca.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae9ccb65f99f477096b65dd031f4c5e31" title="True if the results in each output bin fall within a fixed numeric range (minimum and maximum values)...">hasKnownExtents</a> = <span class="keyword">false</span>; +<a name="l00140"></a>00140 sca.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1b4858928d23bfd7d5bc557c82a83fb4" title="True if the output values are quantized to a particular resolution.">isQuantized</a> = <span class="keyword">false</span>; +<a name="l00141"></a>00141 sca.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d" title="Positioning in time of the output results.">sampleType</a> = <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca0459d5d0d2198d21e8bc90abe4fdccca" title="Results from each process() align with that call's block start.">OutputDescriptor::OneSamplePerStep</a>; +<a name="l00142"></a>00142 list.push_back(sca); +<a name="l00143"></a>00143 +<a name="l00144"></a>00144 <span class="keywordflow">return</span> list; +<a name="l00145"></a>00145 } +<a name="l00146"></a>00146 +<a name="l00147"></a>00147 <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">AmplitudeFollower::ParameterList</a> +<a name="l00148"></a><a class="code" href="classAmplitudeFollower.html#a9df01323a09e117bc12354ebe9244edf">00148</a> <a class="code" href="classAmplitudeFollower.html#a9df01323a09e117bc12354ebe9244edf" title="Get the controllable parameters of this plugin.">AmplitudeFollower::getParameterDescriptors</a>()<span class="keyword"> const</span> +<a name="l00149"></a>00149 <span class="keyword"></span>{ +<a name="l00150"></a>00150 <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> list; +<a name="l00151"></a>00151 +<a name="l00152"></a>00152 <a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> att; +<a name="l00153"></a>00153 att.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a116fd9f0dc94c2bc4bbc60b5443c598c" title="The name of the parameter, in computer-usable form.">identifier</a> = <span class="stringliteral">"attack"</span>; +<a name="l00154"></a>00154 att.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a0ecebb94fb4ada4aad2640e20aa57084" title="The human-readable name of the parameter.">name</a> = <span class="stringliteral">"Attack time"</span>; +<a name="l00155"></a>00155 att.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a780ddad41e433d85c82f9ea4d959cbaf" title="A human-readable short text describing the parameter.">description</a> = <span class="stringliteral">"The 60dB convergence time for an increase in amplitude"</span>; +<a name="l00156"></a>00156 att.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a3bc3df322e4c02e17e96bc6d44982d7b" title="The unit of the parameter, in human-readable form.">unit</a> = <span class="stringliteral">"s"</span>; +<a name="l00157"></a>00157 att.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab3e4d84f5bc199eea8b642b27e425ec8" title="The minimum value of the parameter.">minValue</a> = 0.0f; +<a name="l00158"></a>00158 att.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab934b20dd708228a0e3c2811a3e2cec4" title="The maximum value of the parameter.">maxValue</a> = 1.f; +<a name="l00159"></a>00159 att.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#aec4ef77451ec02193ecc4a0856673fbc" title="The default value of the parameter.">defaultValue</a> = 0.01f; +<a name="l00160"></a>00160 att.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a7c556d58d552f737ee5a34efdf7f9425" title="True if the parameter values are quantized to a particular resolution.">isQuantized</a> = <span class="keyword">false</span>; +<a name="l00161"></a>00161 +<a name="l00162"></a>00162 list.push_back(att); +<a name="l00163"></a>00163 +<a name="l00164"></a>00164 <a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> dec; +<a name="l00165"></a>00165 dec.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a116fd9f0dc94c2bc4bbc60b5443c598c" title="The name of the parameter, in computer-usable form.">identifier</a> = <span class="stringliteral">"release"</span>; +<a name="l00166"></a>00166 dec.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a0ecebb94fb4ada4aad2640e20aa57084" title="The human-readable name of the parameter.">name</a> = <span class="stringliteral">"Release time"</span>; +<a name="l00167"></a>00167 dec.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a780ddad41e433d85c82f9ea4d959cbaf" title="A human-readable short text describing the parameter.">description</a> = <span class="stringliteral">"The 60dB convergence time for a decrease in amplitude"</span>; +<a name="l00168"></a>00168 dec.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a3bc3df322e4c02e17e96bc6d44982d7b" title="The unit of the parameter, in human-readable form.">unit</a> = <span class="stringliteral">"s"</span>; +<a name="l00169"></a>00169 dec.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab3e4d84f5bc199eea8b642b27e425ec8" title="The minimum value of the parameter.">minValue</a> = 0.0f; +<a name="l00170"></a>00170 dec.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab934b20dd708228a0e3c2811a3e2cec4" title="The maximum value of the parameter.">maxValue</a> = 1.f; +<a name="l00171"></a>00171 dec.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#aec4ef77451ec02193ecc4a0856673fbc" title="The default value of the parameter.">defaultValue</a> = 0.01f; +<a name="l00172"></a>00172 dec.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a7c556d58d552f737ee5a34efdf7f9425" title="True if the parameter values are quantized to a particular resolution.">isQuantized</a> = <span class="keyword">false</span>; +<a name="l00173"></a>00173 +<a name="l00174"></a>00174 list.push_back(dec); +<a name="l00175"></a>00175 +<a name="l00176"></a>00176 <span class="keywordflow">return</span> list; +<a name="l00177"></a>00177 } +<a name="l00178"></a>00178 +<a name="l00179"></a><a class="code" href="classAmplitudeFollower.html#ae1fc37ece4d20e40f3066a3361a99340">00179</a> <span class="keywordtype">void</span> <a class="code" href="classAmplitudeFollower.html#ae1fc37ece4d20e40f3066a3361a99340" title="Set a named parameter.">AmplitudeFollower::setParameter</a>(std::string paramid, <span class="keywordtype">float</span> newval) +<a name="l00180"></a>00180 { +<a name="l00181"></a>00181 <span class="keywordflow">if</span> (paramid == <span class="stringliteral">"attack"</span>) { +<a name="l00182"></a>00182 <a class="code" href="classAmplitudeFollower.html#a1cb205b08cfe2ce94a4af05b18f72876">m_clampcoef</a> = newval; +<a name="l00183"></a>00183 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (paramid == <span class="stringliteral">"release"</span>) { +<a name="l00184"></a>00184 <a class="code" href="classAmplitudeFollower.html#aceecd3b3879f32eb4a2e597c32c41cfc">m_relaxcoef</a> = newval; +<a name="l00185"></a>00185 } +<a name="l00186"></a>00186 } +<a name="l00187"></a>00187 +<a name="l00188"></a><a class="code" href="classAmplitudeFollower.html#ab278c4b6f2ca23248dc94ad775273f39">00188</a> <span class="keywordtype">float</span> <a class="code" href="classAmplitudeFollower.html#ab278c4b6f2ca23248dc94ad775273f39" title="Get the value of a named parameter.">AmplitudeFollower::getParameter</a>(std::string paramid)<span class="keyword"> const</span> +<a name="l00189"></a>00189 <span class="keyword"></span>{ +<a name="l00190"></a>00190 <span class="keywordflow">if</span> (paramid == <span class="stringliteral">"attack"</span>) { +<a name="l00191"></a>00191 <span class="keywordflow">return</span> <a class="code" href="classAmplitudeFollower.html#a1cb205b08cfe2ce94a4af05b18f72876">m_clampcoef</a>; +<a name="l00192"></a>00192 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (paramid == <span class="stringliteral">"release"</span>) { +<a name="l00193"></a>00193 <span class="keywordflow">return</span> <a class="code" href="classAmplitudeFollower.html#aceecd3b3879f32eb4a2e597c32c41cfc">m_relaxcoef</a>; +<a name="l00194"></a>00194 } +<a name="l00195"></a>00195 +<a name="l00196"></a>00196 <span class="keywordflow">return</span> 0.0f; +<a name="l00197"></a>00197 } +<a name="l00198"></a>00198 +<a name="l00199"></a>00199 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">AmplitudeFollower::FeatureSet</a> +<a name="l00200"></a><a class="code" href="classAmplitudeFollower.html#a48d0f95cac31ffd190cff89b50a2a5bd">00200</a> <a class="code" href="classAmplitudeFollower.html#a48d0f95cac31ffd190cff89b50a2a5bd" title="Process a single block of input data.">AmplitudeFollower::process</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, +<a name="l00201"></a>00201 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">Vamp::RealTime</a> timestamp) +<a name="l00202"></a>00202 { +<a name="l00203"></a>00203 <span class="keywordflow">if</span> (<a class="code" href="classAmplitudeFollower.html#a959c2647fd3c5feea2591e3618774027">m_stepSize</a> == 0) { +<a name="l00204"></a>00204 cerr << <span class="stringliteral">"ERROR: AmplitudeFollower::process: "</span> +<a name="l00205"></a>00205 << <span class="stringliteral">"AmplitudeFollower has not been initialised"</span> +<a name="l00206"></a>00206 << endl; +<a name="l00207"></a>00207 <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>(); +<a name="l00208"></a>00208 } +<a name="l00209"></a>00209 +<a name="l00210"></a>00210 <span class="keywordtype">float</span> previn = <a class="code" href="classAmplitudeFollower.html#ac95e8d2f334821c6c92c706bae29695a">m_previn</a>; +<a name="l00211"></a>00211 +<a name="l00212"></a>00212 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> returnFeatures; +<a name="l00213"></a>00213 +<a name="l00214"></a>00214 <span class="keywordtype">float</span> val; +<a name="l00215"></a>00215 <span class="keywordtype">float</span> peak = 0.0f; +<a name="l00216"></a>00216 +<a name="l00217"></a>00217 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < <a class="code" href="classAmplitudeFollower.html#a959c2647fd3c5feea2591e3618774027">m_stepSize</a>; ++i) { +<a name="l00218"></a>00218 +<a name="l00219"></a>00219 val = fabs(inputBuffers[0][i]); +<a name="l00220"></a>00220 +<a name="l00221"></a>00221 <span class="keywordflow">if</span> (val < previn) { +<a name="l00222"></a>00222 val = val + (previn - val) * <a class="code" href="classAmplitudeFollower.html#aceecd3b3879f32eb4a2e597c32c41cfc">m_relaxcoef</a>; +<a name="l00223"></a>00223 } <span class="keywordflow">else</span> { +<a name="l00224"></a>00224 val = val + (previn - val) * <a class="code" href="classAmplitudeFollower.html#a1cb205b08cfe2ce94a4af05b18f72876">m_clampcoef</a>; +<a name="l00225"></a>00225 } +<a name="l00226"></a>00226 +<a name="l00227"></a>00227 <span class="keywordflow">if</span> (val > peak) peak = val; +<a name="l00228"></a>00228 previn = val; +<a name="l00229"></a>00229 } +<a name="l00230"></a>00230 +<a name="l00231"></a>00231 <a class="code" href="classAmplitudeFollower.html#ac95e8d2f334821c6c92c706bae29695a">m_previn</a> = previn; +<a name="l00232"></a>00232 +<a name="l00233"></a>00233 <span class="comment">// Now store the "feature" (peak amp) for this sample</span> +<a name="l00234"></a>00234 <a class="code" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> feature; +<a name="l00235"></a>00235 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b" title="True if an output feature has its own timestamp.">hasTimestamp</a> = <span class="keyword">false</span>; +<a name="l00236"></a>00236 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>.push_back(peak); +<a name="l00237"></a>00237 returnFeatures[0].push_back(feature); +<a name="l00238"></a>00238 +<a name="l00239"></a>00239 <span class="keywordflow">return</span> returnFeatures; +<a name="l00240"></a>00240 } +<a name="l00241"></a>00241 +<a name="l00242"></a>00242 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">AmplitudeFollower::FeatureSet</a> +<a name="l00243"></a><a class="code" href="classAmplitudeFollower.html#a368606f643b88e0df0823d85e36f030c">00243</a> <a class="code" href="classAmplitudeFollower.html#a368606f643b88e0df0823d85e36f030c" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">AmplitudeFollower::getRemainingFeatures</a>() +<a name="l00244"></a>00244 { +<a name="l00245"></a>00245 <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>(); +<a name="l00246"></a>00246 } +<a name="l00247"></a>00247 +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="AmplitudeFollower_8cpp.html">AmplitudeFollower.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/AmplitudeFollower_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,102 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: AmplitudeFollower.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('AmplitudeFollower_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> </div> + <div class="headertitle"> +<div class="title">AmplitudeFollower.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="AmplitudeFollower_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Example plugin implementing the SuperCollider amplitude follower function. <a href="classAmplitudeFollower.html#details">More...</a><br/></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="AmplitudeFollower_8h.html">AmplitudeFollower.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/AmplitudeFollower_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,171 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: AmplitudeFollower.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('AmplitudeFollower_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">AmplitudeFollower.h</div> </div> +</div> +<div class="contents"> +<a href="AmplitudeFollower_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> This file copyright 2006 Dan Stowell.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _AMPLITUDE_FOLLOWER_PLUGIN_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _AMPLITUDE_FOLLOWER_PLUGIN_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="vamp-sdk_2Plugin_8h.html">vamp-sdk/Plugin.h</a>"</span> +<a name="l00041"></a>00041 +<a name="l00047"></a><a class="code" href="classAmplitudeFollower.html">00047</a> <span class="keyword">class </span><a class="code" href="classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function.">AmplitudeFollower</a> : <span class="keyword">public</span> Vamp::<a class="code" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a> +<a name="l00048"></a>00048 { +<a name="l00049"></a>00049 <span class="keyword">public</span>: +<a name="l00050"></a>00050 <a class="code" href="classAmplitudeFollower.html#a29eaeffc353da2614ae508abcd0ab63f" title="An implementation of SuperCollider's amplitude-follower algorithm as a simple Vamp plugin...">AmplitudeFollower</a>(<span class="keywordtype">float</span> inputSampleRate); +<a name="l00051"></a>00051 <span class="keyword">virtual</span> <a class="code" href="classAmplitudeFollower.html#aa78f98539ad3a1b08691a99b32035b2d">~AmplitudeFollower</a>(); +<a name="l00052"></a>00052 +<a name="l00053"></a>00053 <span class="keywordtype">bool</span> <a class="code" href="classAmplitudeFollower.html#aeb727e44ee8ad1aceb90964d20f8d90d" title="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).">initialise</a>(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize); +<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classAmplitudeFollower.html#acebd835e80e84669df078fbd7591d8f7" title="Reset the plugin after use, to prepare it for another clean run.">reset</a>(); +<a name="l00055"></a>00055 +<a name="l00056"></a><a class="code" href="classAmplitudeFollower.html#afc07a389b5f922b944b0350fd232d2eb">00056</a> <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> <a class="code" href="classAmplitudeFollower.html#afc07a389b5f922b944b0350fd232d2eb" title="Get the plugin's required input domain.">getInputDomain</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>; } +<a name="l00057"></a>00057 +<a name="l00058"></a>00058 std::string <a class="code" href="classAmplitudeFollower.html#afe7576af95c8fcc7f5bad42eec9f9f29" title="Get the computer-usable name of the plugin.">getIdentifier</a>() <span class="keyword">const</span>; +<a name="l00059"></a>00059 std::string <a class="code" href="classAmplitudeFollower.html#a7cfed00bc9d96ba6c709b69ab6a40594" title="Get a human-readable name or title of the plugin.">getName</a>() <span class="keyword">const</span>; +<a name="l00060"></a>00060 std::string <a class="code" href="classAmplitudeFollower.html#a6f0f2fea1fdb4b51e688edfe859d5062" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">getDescription</a>() <span class="keyword">const</span>; +<a name="l00061"></a>00061 std::string <a class="code" href="classAmplitudeFollower.html#a44fc43838f203f58bc2ce6e3cb2b03dd" title="Get the name of the author or vendor of the plugin in human-readable form.">getMaker</a>() <span class="keyword">const</span>; +<a name="l00062"></a>00062 <span class="keywordtype">int</span> <a class="code" href="classAmplitudeFollower.html#a8a5d7a834eb996d517c51f84b2a72250" title="Get the version number of the plugin.">getPluginVersion</a>() <span class="keyword">const</span>; +<a name="l00063"></a>00063 std::string <a class="code" href="classAmplitudeFollower.html#a0c197fc90f30d91cb4403115c83c9134" title="Get the copyright statement or licensing summary for the plugin.">getCopyright</a>() <span class="keyword">const</span>; +<a name="l00064"></a>00064 +<a name="l00065"></a>00065 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> <a class="code" href="classAmplitudeFollower.html#a043e3c3db77d76267cd8069e1485bf26" title="Get the outputs of this plugin.">getOutputDescriptors</a>() <span class="keyword">const</span>; +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> <a class="code" href="classAmplitudeFollower.html#a9df01323a09e117bc12354ebe9244edf" title="Get the controllable parameters of this plugin.">getParameterDescriptors</a>() <span class="keyword">const</span>; +<a name="l00068"></a>00068 <span class="keywordtype">float</span> <a class="code" href="classAmplitudeFollower.html#ab278c4b6f2ca23248dc94ad775273f39" title="Get the value of a named parameter.">getParameter</a>(std::string paramid) <span class="keyword">const</span>; +<a name="l00069"></a>00069 <span class="keywordtype">void</span> <a class="code" href="classAmplitudeFollower.html#ae1fc37ece4d20e40f3066a3361a99340" title="Set a named parameter.">setParameter</a>(std::string paramid, <span class="keywordtype">float</span> newval); +<a name="l00070"></a>00070 +<a name="l00071"></a>00071 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="code" href="classAmplitudeFollower.html#a48d0f95cac31ffd190cff89b50a2a5bd" title="Process a single block of input data.">process</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, +<a name="l00072"></a>00072 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">Vamp::RealTime</a> timestamp); +<a name="l00073"></a>00073 +<a name="l00074"></a>00074 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="code" href="classAmplitudeFollower.html#a368606f643b88e0df0823d85e36f030c" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">getRemainingFeatures</a>(); +<a name="l00075"></a>00075 +<a name="l00076"></a>00076 <span class="keyword">protected</span>: +<a name="l00077"></a><a class="code" href="classAmplitudeFollower.html#a959c2647fd3c5feea2591e3618774027">00077</a> <span class="keywordtype">size_t</span> <a class="code" href="classAmplitudeFollower.html#a959c2647fd3c5feea2591e3618774027">m_stepSize</a>; +<a name="l00078"></a><a class="code" href="classAmplitudeFollower.html#ac95e8d2f334821c6c92c706bae29695a">00078</a> <span class="keywordtype">float</span> <a class="code" href="classAmplitudeFollower.html#ac95e8d2f334821c6c92c706bae29695a">m_previn</a>; +<a name="l00079"></a><a class="code" href="classAmplitudeFollower.html#a1cb205b08cfe2ce94a4af05b18f72876">00079</a> <span class="keywordtype">float</span> <a class="code" href="classAmplitudeFollower.html#a1cb205b08cfe2ce94a4af05b18f72876">m_clampcoef</a>; +<a name="l00080"></a><a class="code" href="classAmplitudeFollower.html#aceecd3b3879f32eb4a2e597c32c41cfc">00080</a> <span class="keywordtype">float</span> <a class="code" href="classAmplitudeFollower.html#aceecd3b3879f32eb4a2e597c32c41cfc">m_relaxcoef</a>; +<a name="l00081"></a>00081 }; +<a name="l00082"></a>00082 +<a name="l00083"></a>00083 +<a name="l00084"></a>00084 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="AmplitudeFollower_8h.html">AmplitudeFollower.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/FixedTempoEstimator_8cpp.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,195 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: FixedTempoEstimator.cpp File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('FixedTempoEstimator_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#var-members">Variables</a> </div> + <div class="headertitle"> +<div class="title">FixedTempoEstimator.cpp File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="FixedTempoEstimator_8cpp_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td></tr> +<tr><td colspan="2"><h2><a name="var-members"></a> +Variables</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="FixedTempoEstimator_8cpp.html#a7a8511e62dffb5334ad3b70d57b2fcee">TempoOutput</a> = 0</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="FixedTempoEstimator_8cpp.html#a554b16c6b7516530e52c65318bfe08eb">CandidatesOutput</a> = 1</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="FixedTempoEstimator_8cpp.html#acaa4524f29afce03c812a88ff31159c1">DFOutput</a> = 2</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="FixedTempoEstimator_8cpp.html#a382c1fe740ac8911c6078cfbceffc870">ACFOutput</a> = 3</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="FixedTempoEstimator_8cpp.html#a5b284021783d79785d46b043b458368d">FilteredACFOutput</a> = 4</td></tr> +</table> +<hr/><h2>Variable Documentation</h2> +<a class="anchor" id="a7a8511e62dffb5334ad3b70d57b2fcee"></a><!-- doxytag: member="FixedTempoEstimator.cpp::TempoOutput" ref="a7a8511e62dffb5334ad3b70d57b2fcee" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="FixedTempoEstimator_8cpp.html#a7a8511e62dffb5334ad3b70d57b2fcee">TempoOutput</a> = 0<code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00183">183</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>.</p> + +</div> +</div> +<a class="anchor" id="a554b16c6b7516530e52c65318bfe08eb"></a><!-- doxytag: member="FixedTempoEstimator.cpp::CandidatesOutput" ref="a554b16c6b7516530e52c65318bfe08eb" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="FixedTempoEstimator_8cpp.html#a554b16c6b7516530e52c65318bfe08eb">CandidatesOutput</a> = 1<code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00184">184</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>.</p> + +</div> +</div> +<a class="anchor" id="acaa4524f29afce03c812a88ff31159c1"></a><!-- doxytag: member="FixedTempoEstimator.cpp::DFOutput" ref="acaa4524f29afce03c812a88ff31159c1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="FixedTempoEstimator_8cpp.html#acaa4524f29afce03c812a88ff31159c1">DFOutput</a> = 2<code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00185">185</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>.</p> + +</div> +</div> +<a class="anchor" id="a382c1fe740ac8911c6078cfbceffc870"></a><!-- doxytag: member="FixedTempoEstimator.cpp::ACFOutput" ref="a382c1fe740ac8911c6078cfbceffc870" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="FixedTempoEstimator_8cpp.html#a382c1fe740ac8911c6078cfbceffc870">ACFOutput</a> = 3<code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00186">186</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>.</p> + +</div> +</div> +<a class="anchor" id="a5b284021783d79785d46b043b458368d"></a><!-- doxytag: member="FixedTempoEstimator.cpp::FilteredACFOutput" ref="a5b284021783d79785d46b043b458368d" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="FixedTempoEstimator_8cpp.html#a5b284021783d79785d46b043b458368d">FilteredACFOutput</a> = 4<code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00187">187</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>.</p> + +</div> +</div> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="FixedTempoEstimator_8cpp.html">FixedTempoEstimator.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/FixedTempoEstimator_8cpp_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,817 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: FixedTempoEstimator.cpp Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('FixedTempoEstimator_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">FixedTempoEstimator.cpp</div> </div> +</div> +<div class="contents"> +<a href="FixedTempoEstimator_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006-2009 Chris Cannam and QMUL.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="FixedTempoEstimator_8h.html">FixedTempoEstimator.h</a>"</span> +<a name="l00038"></a>00038 +<a name="l00039"></a>00039 <span class="keyword">using</span> std::string; +<a name="l00040"></a>00040 <span class="keyword">using</span> std::vector; +<a name="l00041"></a>00041 <span class="keyword">using</span> std::cerr; +<a name="l00042"></a>00042 <span class="keyword">using</span> std::endl; +<a name="l00043"></a>00043 +<a name="l00044"></a>00044 <span class="keyword">using</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">Vamp::RealTime</a>; +<a name="l00045"></a>00045 +<a name="l00046"></a>00046 <span class="preprocessor">#include <cmath></span> +<a name="l00047"></a>00047 <span class="preprocessor">#include <cstdio></span> +<a name="l00048"></a>00048 +<a name="l00049"></a>00049 +<a name="l00050"></a><a class="code" href="classFixedTempoEstimator_1_1D.html">00050</a> <span class="keyword">class </span><a class="code" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a> +<a name="l00051"></a>00051 <span class="comment">// this class just avoids us having to declare any data members in the header</span> +<a name="l00052"></a>00052 { +<a name="l00053"></a>00053 <span class="keyword">public</span>: +<a name="l00054"></a>00054 <a class="code" href="classFixedTempoEstimator_1_1D.html#a104a9b64d47eca678844584f69ca0b9d">D</a>(<span class="keywordtype">float</span> inputSampleRate); +<a name="l00055"></a>00055 <a class="code" href="classFixedTempoEstimator_1_1D.html#a78a63ac8bbf342cb0405747871adf4cc">~D</a>(); +<a name="l00056"></a>00056 +<a name="l00057"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#add749be18355ab1ae5c1ccbacfd2e192">00057</a> <span class="keywordtype">size_t</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#add749be18355ab1ae5c1ccbacfd2e192">getPreferredStepSize</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 64; } +<a name="l00058"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#ac02826f981736fc2aa5d835fa14e174d">00058</a> <span class="keywordtype">size_t</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#ac02826f981736fc2aa5d835fa14e174d">getPreferredBlockSize</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 256; } +<a name="l00059"></a>00059 +<a name="l00060"></a>00060 <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> <a class="code" href="classFixedTempoEstimator_1_1D.html#a06fcf80a9a22c4b90abbc88eb592621a">getParameterDescriptors</a>() <span class="keyword">const</span>; +<a name="l00061"></a>00061 <span class="keywordtype">float</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#a968ef2e555c81e4a3bde89d19fafb31a">getParameter</a>(<span class="keywordtype">string</span> <span class="keywordtype">id</span>) <span class="keyword">const</span>; +<a name="l00062"></a>00062 <span class="keywordtype">void</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#a6cafa64d4cc8aa3556bc0ce6b0c49bc4">setParameter</a>(<span class="keywordtype">string</span> <span class="keywordtype">id</span>, <span class="keywordtype">float</span> value); +<a name="l00063"></a>00063 +<a name="l00064"></a>00064 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> <a class="code" href="classFixedTempoEstimator_1_1D.html#a7ce98af800f36045a0dae4b1dbed943f">getOutputDescriptors</a>() <span class="keyword">const</span>; +<a name="l00065"></a>00065 +<a name="l00066"></a>00066 <span class="keywordtype">bool</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#af0fcad4493650728babb7e341963c91d">initialise</a>(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize); +<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#af5ac8147bfe79371d00aba8a19c2f8fd">reset</a>(); +<a name="l00068"></a>00068 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="code" href="classFixedTempoEstimator_1_1D.html#a7fac74fc9fc54f436408705d1e125e20">process</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *, <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a>); +<a name="l00069"></a>00069 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="code" href="classFixedTempoEstimator_1_1D.html#a7f9c3603bb3374d6936885010dbdd82b">getRemainingFeatures</a>(); +<a name="l00070"></a>00070 +<a name="l00071"></a>00071 <span class="keyword">private</span>: +<a name="l00072"></a>00072 <span class="keywordtype">void</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#a4f2cbc11fba5bc8af3fd2a0078156091">calculate</a>(); +<a name="l00073"></a>00073 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="code" href="classFixedTempoEstimator_1_1D.html#a20389ba1515f6ce4181d3f41e5c4f347">assembleFeatures</a>(); +<a name="l00074"></a>00074 +<a name="l00075"></a>00075 <span class="keywordtype">float</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#a0a7cb0705938097ab23a6f9187e6bae5">lag2tempo</a>(<span class="keywordtype">int</span>); +<a name="l00076"></a>00076 <span class="keywordtype">int</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#ac6a75212293fc855de6ed0c6581a0fb9">tempo2lag</a>(<span class="keywordtype">float</span>); +<a name="l00077"></a>00077 +<a name="l00078"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a072a0fc30b3912a54858eefdd47f4d4f">00078</a> <span class="keywordtype">float</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#a072a0fc30b3912a54858eefdd47f4d4f">m_inputSampleRate</a>; +<a name="l00079"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a837da9722c63fe3c66c738255990c45f">00079</a> <span class="keywordtype">size_t</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#a837da9722c63fe3c66c738255990c45f">m_stepSize</a>; +<a name="l00080"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a0b9bf37e600f0564b9f305f73a9517c8">00080</a> <span class="keywordtype">size_t</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#a0b9bf37e600f0564b9f305f73a9517c8">m_blockSize</a>; +<a name="l00081"></a>00081 +<a name="l00082"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a768fdbb62e4b21a39897963fdbd486ed">00082</a> <span class="keywordtype">float</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#a768fdbb62e4b21a39897963fdbd486ed">m_minbpm</a>; +<a name="l00083"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a33e8d045b222addc6173b50df2553ba8">00083</a> <span class="keywordtype">float</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#a33e8d045b222addc6173b50df2553ba8">m_maxbpm</a>; +<a name="l00084"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#aca506973452865d436e07462eabdebad">00084</a> <span class="keywordtype">float</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#aca506973452865d436e07462eabdebad">m_maxdflen</a>; +<a name="l00085"></a>00085 +<a name="l00086"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#aa59cf1cb5640a910c70884579e5d99ad">00086</a> <span class="keywordtype">float</span> *<a class="code" href="classFixedTempoEstimator_1_1D.html#aa59cf1cb5640a910c70884579e5d99ad">m_priorMagnitudes</a>; +<a name="l00087"></a>00087 +<a name="l00088"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#ae739e006f2d10ef2b13677770b23e663">00088</a> <span class="keywordtype">size_t</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#ae739e006f2d10ef2b13677770b23e663">m_dfsize</a>; +<a name="l00089"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a8e2312120e87ad9a48fedeebbaefa396">00089</a> <span class="keywordtype">float</span> *<a class="code" href="classFixedTempoEstimator_1_1D.html#a8e2312120e87ad9a48fedeebbaefa396">m_df</a>; +<a name="l00090"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a7a8c8658ecfeec98962078df89fcd538">00090</a> <span class="keywordtype">float</span> *<a class="code" href="classFixedTempoEstimator_1_1D.html#a7a8c8658ecfeec98962078df89fcd538">m_r</a>; +<a name="l00091"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#ab255006072672653e645fc315eea6167">00091</a> <span class="keywordtype">float</span> *<a class="code" href="classFixedTempoEstimator_1_1D.html#ab255006072672653e645fc315eea6167">m_fr</a>; +<a name="l00092"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a698446aad2c0f737732a392fb86a612c">00092</a> <span class="keywordtype">float</span> *<a class="code" href="classFixedTempoEstimator_1_1D.html#a698446aad2c0f737732a392fb86a612c">m_t</a>; +<a name="l00093"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#ab73af7f1943b76388de04cbb4696a983">00093</a> <span class="keywordtype">size_t</span> <a class="code" href="classFixedTempoEstimator_1_1D.html#ab73af7f1943b76388de04cbb4696a983">m_n</a>; +<a name="l00094"></a>00094 +<a name="l00095"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a3a3a0b4a4c259087f02d0046241674d0">00095</a> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">Vamp::RealTime</a> <a class="code" href="classFixedTempoEstimator_1_1D.html#a3a3a0b4a4c259087f02d0046241674d0">m_start</a>; +<a name="l00096"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#abacd5ff19c301020efb99c03136b849a">00096</a> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">Vamp::RealTime</a> <a class="code" href="classFixedTempoEstimator_1_1D.html#abacd5ff19c301020efb99c03136b849a">m_lasttime</a>; +<a name="l00097"></a>00097 }; +<a name="l00098"></a>00098 +<a name="l00099"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a104a9b64d47eca678844584f69ca0b9d">00099</a> <a class="code" href="classFixedTempoEstimator_1_1D.html#a104a9b64d47eca678844584f69ca0b9d">FixedTempoEstimator::D::D</a>(<span class="keywordtype">float</span> inputSampleRate) : +<a name="l00100"></a>00100 m_inputSampleRate(inputSampleRate), +<a name="l00101"></a>00101 m_stepSize(0), +<a name="l00102"></a>00102 m_blockSize(0), +<a name="l00103"></a>00103 m_minbpm(50), +<a name="l00104"></a>00104 m_maxbpm(190), +<a name="l00105"></a>00105 m_maxdflen(10), +<a name="l00106"></a>00106 m_priorMagnitudes(0), +<a name="l00107"></a>00107 m_df(0), +<a name="l00108"></a>00108 m_r(0), +<a name="l00109"></a>00109 m_fr(0), +<a name="l00110"></a>00110 m_t(0), +<a name="l00111"></a>00111 m_n(0) +<a name="l00112"></a>00112 { +<a name="l00113"></a>00113 } +<a name="l00114"></a>00114 +<a name="l00115"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a78a63ac8bbf342cb0405747871adf4cc">00115</a> <a class="code" href="classFixedTempoEstimator_1_1D.html#a78a63ac8bbf342cb0405747871adf4cc">FixedTempoEstimator::D::~D</a>() +<a name="l00116"></a>00116 { +<a name="l00117"></a>00117 <span class="keyword">delete</span>[] m_priorMagnitudes; +<a name="l00118"></a>00118 <span class="keyword">delete</span>[] m_df; +<a name="l00119"></a>00119 <span class="keyword">delete</span>[] m_r; +<a name="l00120"></a>00120 <span class="keyword">delete</span>[] m_fr; +<a name="l00121"></a>00121 <span class="keyword">delete</span>[] m_t; +<a name="l00122"></a>00122 } +<a name="l00123"></a>00123 +<a name="l00124"></a>00124 <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">FixedTempoEstimator::ParameterList</a> +<a name="l00125"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a06fcf80a9a22c4b90abbc88eb592621a">00125</a> <a class="code" href="classFixedTempoEstimator.html#ae157465a4e07d180bab05b5c3a4d8987" title="Get the controllable parameters of this plugin.">FixedTempoEstimator::D::getParameterDescriptors</a>()<span class="keyword"> const</span> +<a name="l00126"></a>00126 <span class="keyword"></span>{ +<a name="l00127"></a>00127 <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> list; +<a name="l00128"></a>00128 +<a name="l00129"></a>00129 <a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> d; +<a name="l00130"></a>00130 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a116fd9f0dc94c2bc4bbc60b5443c598c" title="The name of the parameter, in computer-usable form.">identifier</a> = <span class="stringliteral">"minbpm"</span>; +<a name="l00131"></a>00131 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a0ecebb94fb4ada4aad2640e20aa57084" title="The human-readable name of the parameter.">name</a> = <span class="stringliteral">"Minimum estimated tempo"</span>; +<a name="l00132"></a>00132 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a780ddad41e433d85c82f9ea4d959cbaf" title="A human-readable short text describing the parameter.">description</a> = <span class="stringliteral">"Minimum beat-per-minute value which the tempo estimator is able to return"</span>; +<a name="l00133"></a>00133 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a3bc3df322e4c02e17e96bc6d44982d7b" title="The unit of the parameter, in human-readable form.">unit</a> = <span class="stringliteral">"bpm"</span>; +<a name="l00134"></a>00134 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab3e4d84f5bc199eea8b642b27e425ec8" title="The minimum value of the parameter.">minValue</a> = 10; +<a name="l00135"></a>00135 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab934b20dd708228a0e3c2811a3e2cec4" title="The maximum value of the parameter.">maxValue</a> = 360; +<a name="l00136"></a>00136 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#aec4ef77451ec02193ecc4a0856673fbc" title="The default value of the parameter.">defaultValue</a> = 50; +<a name="l00137"></a>00137 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a7c556d58d552f737ee5a34efdf7f9425" title="True if the parameter values are quantized to a particular resolution.">isQuantized</a> = <span class="keyword">false</span>; +<a name="l00138"></a>00138 list.push_back(d); +<a name="l00139"></a>00139 +<a name="l00140"></a>00140 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a116fd9f0dc94c2bc4bbc60b5443c598c" title="The name of the parameter, in computer-usable form.">identifier</a> = <span class="stringliteral">"maxbpm"</span>; +<a name="l00141"></a>00141 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a0ecebb94fb4ada4aad2640e20aa57084" title="The human-readable name of the parameter.">name</a> = <span class="stringliteral">"Maximum estimated tempo"</span>; +<a name="l00142"></a>00142 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a780ddad41e433d85c82f9ea4d959cbaf" title="A human-readable short text describing the parameter.">description</a> = <span class="stringliteral">"Maximum beat-per-minute value which the tempo estimator is able to return"</span>; +<a name="l00143"></a>00143 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#aec4ef77451ec02193ecc4a0856673fbc" title="The default value of the parameter.">defaultValue</a> = 190; +<a name="l00144"></a>00144 list.push_back(d); +<a name="l00145"></a>00145 +<a name="l00146"></a>00146 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a116fd9f0dc94c2bc4bbc60b5443c598c" title="The name of the parameter, in computer-usable form.">identifier</a> = <span class="stringliteral">"maxdflen"</span>; +<a name="l00147"></a>00147 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a0ecebb94fb4ada4aad2640e20aa57084" title="The human-readable name of the parameter.">name</a> = <span class="stringliteral">"Input duration to study"</span>; +<a name="l00148"></a>00148 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a780ddad41e433d85c82f9ea4d959cbaf" title="A human-readable short text describing the parameter.">description</a> = <span class="stringliteral">"Length of audio input, in seconds, which should be taken into account when estimating tempo. There is no need to supply the plugin with any further input once this time has elapsed since the start of the audio. The tempo estimator may use only the first part of this, up to eight times the slowest beat duration: increasing this value further than that is unlikely to improve results."</span>; +<a name="l00149"></a>00149 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a3bc3df322e4c02e17e96bc6d44982d7b" title="The unit of the parameter, in human-readable form.">unit</a> = <span class="stringliteral">"s"</span>; +<a name="l00150"></a>00150 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab3e4d84f5bc199eea8b642b27e425ec8" title="The minimum value of the parameter.">minValue</a> = 2; +<a name="l00151"></a>00151 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab934b20dd708228a0e3c2811a3e2cec4" title="The maximum value of the parameter.">maxValue</a> = 40; +<a name="l00152"></a>00152 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#aec4ef77451ec02193ecc4a0856673fbc" title="The default value of the parameter.">defaultValue</a> = 10; +<a name="l00153"></a>00153 list.push_back(d); +<a name="l00154"></a>00154 +<a name="l00155"></a>00155 <span class="keywordflow">return</span> list; +<a name="l00156"></a>00156 } +<a name="l00157"></a>00157 +<a name="l00158"></a>00158 <span class="keywordtype">float</span> +<a name="l00159"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a968ef2e555c81e4a3bde89d19fafb31a">00159</a> <a class="code" href="classFixedTempoEstimator.html#a2030b05fb1228b30ace16200780c9152" title="Get the value of a named parameter.">FixedTempoEstimator::D::getParameter</a>(<span class="keywordtype">string</span> <span class="keywordtype">id</span>)<span class="keyword"> const</span> +<a name="l00160"></a>00160 <span class="keyword"></span>{ +<a name="l00161"></a>00161 <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == <span class="stringliteral">"minbpm"</span>) { +<a name="l00162"></a>00162 <span class="keywordflow">return</span> m_minbpm; +<a name="l00163"></a>00163 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == <span class="stringliteral">"maxbpm"</span>) { +<a name="l00164"></a>00164 <span class="keywordflow">return</span> m_maxbpm; +<a name="l00165"></a>00165 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == <span class="stringliteral">"maxdflen"</span>) { +<a name="l00166"></a>00166 <span class="keywordflow">return</span> m_maxdflen; +<a name="l00167"></a>00167 } +<a name="l00168"></a>00168 <span class="keywordflow">return</span> 0.f; +<a name="l00169"></a>00169 } +<a name="l00170"></a>00170 +<a name="l00171"></a>00171 <span class="keywordtype">void</span> +<a name="l00172"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a6cafa64d4cc8aa3556bc0ce6b0c49bc4">00172</a> <a class="code" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75" title="Set a named parameter.">FixedTempoEstimator::D::setParameter</a>(<span class="keywordtype">string</span> <span class="keywordtype">id</span>, <span class="keywordtype">float</span> value) +<a name="l00173"></a>00173 { +<a name="l00174"></a>00174 <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == <span class="stringliteral">"minbpm"</span>) { +<a name="l00175"></a>00175 m_minbpm = value; +<a name="l00176"></a>00176 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == <span class="stringliteral">"maxbpm"</span>) { +<a name="l00177"></a>00177 m_maxbpm = value; +<a name="l00178"></a>00178 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == <span class="stringliteral">"maxdflen"</span>) { +<a name="l00179"></a>00179 m_maxdflen = value; +<a name="l00180"></a>00180 } +<a name="l00181"></a>00181 } +<a name="l00182"></a>00182 +<a name="l00183"></a><a class="code" href="FixedTempoEstimator_8cpp.html#a7a8511e62dffb5334ad3b70d57b2fcee">00183</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="FixedTempoEstimator_8cpp.html#a7a8511e62dffb5334ad3b70d57b2fcee">TempoOutput</a> = 0; +<a name="l00184"></a><a class="code" href="FixedTempoEstimator_8cpp.html#a554b16c6b7516530e52c65318bfe08eb">00184</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="FixedTempoEstimator_8cpp.html#a554b16c6b7516530e52c65318bfe08eb">CandidatesOutput</a> = 1; +<a name="l00185"></a><a class="code" href="FixedTempoEstimator_8cpp.html#acaa4524f29afce03c812a88ff31159c1">00185</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="FixedTempoEstimator_8cpp.html#acaa4524f29afce03c812a88ff31159c1">DFOutput</a> = 2; +<a name="l00186"></a><a class="code" href="FixedTempoEstimator_8cpp.html#a382c1fe740ac8911c6078cfbceffc870">00186</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="FixedTempoEstimator_8cpp.html#a382c1fe740ac8911c6078cfbceffc870">ACFOutput</a> = 3; +<a name="l00187"></a><a class="code" href="FixedTempoEstimator_8cpp.html#a5b284021783d79785d46b043b458368d">00187</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="FixedTempoEstimator_8cpp.html#a5b284021783d79785d46b043b458368d">FilteredACFOutput</a> = 4; +<a name="l00188"></a>00188 +<a name="l00189"></a>00189 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">FixedTempoEstimator::OutputList</a> +<a name="l00190"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a7ce98af800f36045a0dae4b1dbed943f">00190</a> <a class="code" href="classFixedTempoEstimator.html#a83121c205a723fe6297e2bf8870622a4" title="Get the outputs of this plugin.">FixedTempoEstimator::D::getOutputDescriptors</a>()<span class="keyword"> const</span> +<a name="l00191"></a>00191 <span class="keyword"></span>{ +<a name="l00192"></a>00192 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> list; +<a name="l00193"></a>00193 +<a name="l00194"></a>00194 <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> d; +<a name="l00195"></a>00195 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b" title="The name of the output, in computer-usable form.">identifier</a> = <span class="stringliteral">"tempo"</span>; +<a name="l00196"></a>00196 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87" title="The human-readable name of the output.">name</a> = <span class="stringliteral">"Tempo"</span>; +<a name="l00197"></a>00197 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1" title="A human-readable short text describing the output.">description</a> = <span class="stringliteral">"Estimated tempo"</span>; +<a name="l00198"></a>00198 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4" title="The unit of the output, in human-readable form.">unit</a> = <span class="stringliteral">"bpm"</span>; +<a name="l00199"></a>00199 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d" title="True if the output has the same number of values per sample for every output sample.">hasFixedBinCount</a> = <span class="keyword">true</span>; +<a name="l00200"></a>00200 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc" title="The number of values per result of the output.">binCount</a> = 1; +<a name="l00201"></a>00201 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae9ccb65f99f477096b65dd031f4c5e31" title="True if the results in each output bin fall within a fixed numeric range (minimum and maximum values)...">hasKnownExtents</a> = <span class="keyword">false</span>; +<a name="l00202"></a>00202 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1b4858928d23bfd7d5bc557c82a83fb4" title="True if the output values are quantized to a particular resolution.">isQuantized</a> = <span class="keyword">false</span>; +<a name="l00203"></a>00203 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d" title="Positioning in time of the output results.">sampleType</a> = <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448cadea995a737867f7b22b52f1c43c5432e" title="Results are unevenly spaced and have individual timestamps.">OutputDescriptor::VariableSampleRate</a>; +<a name="l00204"></a>00204 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#add0cbbdfa9c91764037c39365b1d42af" title="Sample rate of the output results, as samples per second.">sampleRate</a> = <a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a>; +<a name="l00205"></a>00205 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab0d7cc6ab19e53b5bd12ee234f549ea3" title="True if the returned results for this output are known to have a duration field.">hasDuration</a> = <span class="keyword">true</span>; <span class="comment">// our returned tempo spans a certain range</span> +<a name="l00206"></a>00206 list.push_back(d); +<a name="l00207"></a>00207 +<a name="l00208"></a>00208 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b" title="The name of the output, in computer-usable form.">identifier</a> = <span class="stringliteral">"candidates"</span>; +<a name="l00209"></a>00209 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87" title="The human-readable name of the output.">name</a> = <span class="stringliteral">"Tempo candidates"</span>; +<a name="l00210"></a>00210 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1" title="A human-readable short text describing the output.">description</a> = <span class="stringliteral">"Possible tempo estimates, one per bin with the most likely in the first bin"</span>; +<a name="l00211"></a>00211 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4" title="The unit of the output, in human-readable form.">unit</a> = <span class="stringliteral">"bpm"</span>; +<a name="l00212"></a>00212 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d" title="True if the output has the same number of values per sample for every output sample.">hasFixedBinCount</a> = <span class="keyword">false</span>; +<a name="l00213"></a>00213 list.push_back(d); +<a name="l00214"></a>00214 +<a name="l00215"></a>00215 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b" title="The name of the output, in computer-usable form.">identifier</a> = <span class="stringliteral">"detectionfunction"</span>; +<a name="l00216"></a>00216 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87" title="The human-readable name of the output.">name</a> = <span class="stringliteral">"Detection Function"</span>; +<a name="l00217"></a>00217 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1" title="A human-readable short text describing the output.">description</a> = <span class="stringliteral">"Onset detection function"</span>; +<a name="l00218"></a>00218 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4" title="The unit of the output, in human-readable form.">unit</a> = <span class="stringliteral">""</span>; +<a name="l00219"></a>00219 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d" title="True if the output has the same number of values per sample for every output sample.">hasFixedBinCount</a> = 1; +<a name="l00220"></a>00220 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc" title="The number of values per result of the output.">binCount</a> = 1; +<a name="l00221"></a>00221 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae9ccb65f99f477096b65dd031f4c5e31" title="True if the results in each output bin fall within a fixed numeric range (minimum and maximum values)...">hasKnownExtents</a> = <span class="keyword">true</span>; +<a name="l00222"></a>00222 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ac9f5924c0be7571bba8e7ae7e7a921f4" title="Minimum value of the results in the output.">minValue</a> = 0.0; +<a name="l00223"></a>00223 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a907b4e8fbb48a46ac5a05f880d72719f" title="Maximum value of the results in the output.">maxValue</a> = 1.0; +<a name="l00224"></a>00224 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1b4858928d23bfd7d5bc557c82a83fb4" title="True if the output values are quantized to a particular resolution.">isQuantized</a> = <span class="keyword">false</span>; +<a name="l00225"></a>00225 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a3bed37153067b625b95acb40b60dbf0b" title="Quantization resolution of the output values (e.g.">quantizeStep</a> = 0.0; +<a name="l00226"></a>00226 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d" title="Positioning in time of the output results.">sampleType</a> = <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca4c74bd2fc96dfe2815623f94b40e5629" title="Results are evenly spaced in time (sampleRate specified below)">OutputDescriptor::FixedSampleRate</a>; +<a name="l00227"></a>00227 <span class="keywordflow">if</span> (m_stepSize) { +<a name="l00228"></a>00228 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#add0cbbdfa9c91764037c39365b1d42af" title="Sample rate of the output results, as samples per second.">sampleRate</a> = <a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a> / m_stepSize; +<a name="l00229"></a>00229 } <span class="keywordflow">else</span> { +<a name="l00230"></a>00230 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#add0cbbdfa9c91764037c39365b1d42af" title="Sample rate of the output results, as samples per second.">sampleRate</a> = <a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a> / (<a class="code" href="classFixedTempoEstimator.html#a68b8569b71504a0478caf990dbe30683" title="Get the preferred block size (window size -- the number of sample frames passed in each block to the ...">getPreferredBlockSize</a>()/2); +<a name="l00231"></a>00231 } +<a name="l00232"></a>00232 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab0d7cc6ab19e53b5bd12ee234f549ea3" title="True if the returned results for this output are known to have a duration field.">hasDuration</a> = <span class="keyword">false</span>; +<a name="l00233"></a>00233 list.push_back(d); +<a name="l00234"></a>00234 +<a name="l00235"></a>00235 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b" title="The name of the output, in computer-usable form.">identifier</a> = <span class="stringliteral">"acf"</span>; +<a name="l00236"></a>00236 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87" title="The human-readable name of the output.">name</a> = <span class="stringliteral">"Autocorrelation Function"</span>; +<a name="l00237"></a>00237 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1" title="A human-readable short text describing the output.">description</a> = <span class="stringliteral">"Autocorrelation of onset detection function"</span>; +<a name="l00238"></a>00238 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae9ccb65f99f477096b65dd031f4c5e31" title="True if the results in each output bin fall within a fixed numeric range (minimum and maximum values)...">hasKnownExtents</a> = <span class="keyword">false</span>; +<a name="l00239"></a>00239 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4" title="The unit of the output, in human-readable form.">unit</a> = <span class="stringliteral">"r"</span>; +<a name="l00240"></a>00240 list.push_back(d); +<a name="l00241"></a>00241 +<a name="l00242"></a>00242 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b" title="The name of the output, in computer-usable form.">identifier</a> = <span class="stringliteral">"filtered_acf"</span>; +<a name="l00243"></a>00243 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87" title="The human-readable name of the output.">name</a> = <span class="stringliteral">"Filtered Autocorrelation"</span>; +<a name="l00244"></a>00244 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1" title="A human-readable short text describing the output.">description</a> = <span class="stringliteral">"Filtered autocorrelation of onset detection function"</span>; +<a name="l00245"></a>00245 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4" title="The unit of the output, in human-readable form.">unit</a> = <span class="stringliteral">"r"</span>; +<a name="l00246"></a>00246 list.push_back(d); +<a name="l00247"></a>00247 +<a name="l00248"></a>00248 <span class="keywordflow">return</span> list; +<a name="l00249"></a>00249 } +<a name="l00250"></a>00250 +<a name="l00251"></a>00251 <span class="keywordtype">bool</span> +<a name="l00252"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#af0fcad4493650728babb7e341963c91d">00252</a> <a class="code" href="classFixedTempoEstimator.html#aa7500a4ffbc4653baaf5101defdb37f5" title="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).">FixedTempoEstimator::D::initialise</a>(<span class="keywordtype">size_t</span>, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize) +<a name="l00253"></a>00253 { +<a name="l00254"></a>00254 m_stepSize = stepSize; +<a name="l00255"></a>00255 m_blockSize = blockSize; +<a name="l00256"></a>00256 +<a name="l00257"></a>00257 <span class="keywordtype">float</span> dfLengthSecs = m_maxdflen; +<a name="l00258"></a>00258 m_dfsize = (dfLengthSecs * <a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a>) / m_stepSize; +<a name="l00259"></a>00259 +<a name="l00260"></a>00260 m_priorMagnitudes = <span class="keyword">new</span> <span class="keywordtype">float</span>[m_blockSize/2]; +<a name="l00261"></a>00261 m_df = <span class="keyword">new</span> <span class="keywordtype">float</span>[m_dfsize]; +<a name="l00262"></a>00262 +<a name="l00263"></a>00263 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < m_blockSize/2; ++i) { +<a name="l00264"></a>00264 m_priorMagnitudes[i] = 0.f; +<a name="l00265"></a>00265 } +<a name="l00266"></a>00266 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < m_dfsize; ++i) { +<a name="l00267"></a>00267 m_df[i] = 0.f; +<a name="l00268"></a>00268 } +<a name="l00269"></a>00269 +<a name="l00270"></a>00270 m_n = 0; +<a name="l00271"></a>00271 +<a name="l00272"></a>00272 <span class="keywordflow">return</span> <span class="keyword">true</span>; +<a name="l00273"></a>00273 } +<a name="l00274"></a>00274 +<a name="l00275"></a>00275 <span class="keywordtype">void</span> +<a name="l00276"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#af5ac8147bfe79371d00aba8a19c2f8fd">00276</a> <a class="code" href="classFixedTempoEstimator.html#ac41708397255400c6682fee6c1b3d45f" title="Reset the plugin after use, to prepare it for another clean run.">FixedTempoEstimator::D::reset</a>() +<a name="l00277"></a>00277 { +<a name="l00278"></a>00278 <span class="keywordflow">if</span> (!m_priorMagnitudes) <span class="keywordflow">return</span>; +<a name="l00279"></a>00279 +<a name="l00280"></a>00280 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < m_blockSize/2; ++i) { +<a name="l00281"></a>00281 m_priorMagnitudes[i] = 0.f; +<a name="l00282"></a>00282 } +<a name="l00283"></a>00283 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < m_dfsize; ++i) { +<a name="l00284"></a>00284 m_df[i] = 0.f; +<a name="l00285"></a>00285 } +<a name="l00286"></a>00286 +<a name="l00287"></a>00287 <span class="keyword">delete</span>[] m_r; +<a name="l00288"></a>00288 m_r = 0; +<a name="l00289"></a>00289 +<a name="l00290"></a>00290 <span class="keyword">delete</span>[] m_fr; +<a name="l00291"></a>00291 m_fr = 0; +<a name="l00292"></a>00292 +<a name="l00293"></a>00293 <span class="keyword">delete</span>[] m_t; +<a name="l00294"></a>00294 m_t = 0; +<a name="l00295"></a>00295 +<a name="l00296"></a>00296 m_n = 0; +<a name="l00297"></a>00297 +<a name="l00298"></a>00298 m_start = RealTime::zeroTime; +<a name="l00299"></a>00299 m_lasttime = RealTime::zeroTime; +<a name="l00300"></a>00300 } +<a name="l00301"></a>00301 +<a name="l00302"></a>00302 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FixedTempoEstimator::FeatureSet</a> +<a name="l00303"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a7fac74fc9fc54f436408705d1e125e20">00303</a> <a class="code" href="classFixedTempoEstimator.html#a1cf76b0e55cf4ed3da095cffcdeaec3c" title="Process a single block of input data.">FixedTempoEstimator::D::process</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> ts) +<a name="l00304"></a>00304 { +<a name="l00305"></a>00305 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> fs; +<a name="l00306"></a>00306 +<a name="l00307"></a>00307 <span class="keywordflow">if</span> (m_stepSize == 0) { +<a name="l00308"></a>00308 cerr << <span class="stringliteral">"ERROR: FixedTempoEstimator::process: "</span> +<a name="l00309"></a>00309 << <span class="stringliteral">"FixedTempoEstimator has not been initialised"</span> +<a name="l00310"></a>00310 << endl; +<a name="l00311"></a>00311 <span class="keywordflow">return</span> fs; +<a name="l00312"></a>00312 } +<a name="l00313"></a>00313 +<a name="l00314"></a>00314 <span class="keywordflow">if</span> (m_n == 0) m_start = ts; +<a name="l00315"></a>00315 m_lasttime = ts; +<a name="l00316"></a>00316 +<a name="l00317"></a>00317 <span class="keywordflow">if</span> (m_n == m_dfsize) { +<a name="l00318"></a>00318 <span class="comment">// If we have seen enough input, do the estimation and return</span> +<a name="l00319"></a>00319 calculate(); +<a name="l00320"></a>00320 fs = assembleFeatures(); +<a name="l00321"></a>00321 ++m_n; +<a name="l00322"></a>00322 <span class="keywordflow">return</span> fs; +<a name="l00323"></a>00323 } +<a name="l00324"></a>00324 +<a name="l00325"></a>00325 <span class="comment">// If we have seen more than enough, just discard and return!</span> +<a name="l00326"></a>00326 <span class="keywordflow">if</span> (m_n > m_dfsize) <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>(); +<a name="l00327"></a>00327 +<a name="l00328"></a>00328 <span class="keywordtype">float</span> value = 0.f; +<a name="l00329"></a>00329 +<a name="l00330"></a>00330 <span class="comment">// m_df will contain an onset detection function based on the rise</span> +<a name="l00331"></a>00331 <span class="comment">// in overall power from one spectral frame to the next --</span> +<a name="l00332"></a>00332 <span class="comment">// simplistic but reasonably effective for our purposes.</span> +<a name="l00333"></a>00333 +<a name="l00334"></a>00334 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 1; i < m_blockSize/2; ++i) { +<a name="l00335"></a>00335 +<a name="l00336"></a>00336 <span class="keywordtype">float</span> real = inputBuffers[0][i*2]; +<a name="l00337"></a>00337 <span class="keywordtype">float</span> imag = inputBuffers[0][i*2 + 1]; +<a name="l00338"></a>00338 +<a name="l00339"></a>00339 <span class="keywordtype">float</span> sqrmag = real * real + imag * imag; +<a name="l00340"></a>00340 value += fabsf(sqrmag - m_priorMagnitudes[i]); +<a name="l00341"></a>00341 +<a name="l00342"></a>00342 m_priorMagnitudes[i] = sqrmag; +<a name="l00343"></a>00343 } +<a name="l00344"></a>00344 +<a name="l00345"></a>00345 m_df[m_n] = value; +<a name="l00346"></a>00346 +<a name="l00347"></a>00347 ++m_n; +<a name="l00348"></a>00348 <span class="keywordflow">return</span> fs; +<a name="l00349"></a>00349 } +<a name="l00350"></a>00350 +<a name="l00351"></a>00351 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FixedTempoEstimator::FeatureSet</a> +<a name="l00352"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a7f9c3603bb3374d6936885010dbdd82b">00352</a> <a class="code" href="classFixedTempoEstimator.html#a4965cf99be77fc4d1de51e11d83936b0" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">FixedTempoEstimator::D::getRemainingFeatures</a>() +<a name="l00353"></a>00353 { +<a name="l00354"></a>00354 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> fs; +<a name="l00355"></a>00355 <span class="keywordflow">if</span> (m_n > m_dfsize) <span class="keywordflow">return</span> fs; +<a name="l00356"></a>00356 calculate(); +<a name="l00357"></a>00357 fs = assembleFeatures(); +<a name="l00358"></a>00358 ++m_n; +<a name="l00359"></a>00359 <span class="keywordflow">return</span> fs; +<a name="l00360"></a>00360 } +<a name="l00361"></a>00361 +<a name="l00362"></a>00362 <span class="keywordtype">float</span> +<a name="l00363"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a0a7cb0705938097ab23a6f9187e6bae5">00363</a> <a class="code" href="classFixedTempoEstimator_1_1D.html#a0a7cb0705938097ab23a6f9187e6bae5">FixedTempoEstimator::D::lag2tempo</a>(<span class="keywordtype">int</span> lag) +<a name="l00364"></a>00364 { +<a name="l00365"></a>00365 <span class="keywordflow">return</span> 60.f / ((lag * m_stepSize) / <a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a>); +<a name="l00366"></a>00366 } +<a name="l00367"></a>00367 +<a name="l00368"></a>00368 <span class="keywordtype">int</span> +<a name="l00369"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#ac6a75212293fc855de6ed0c6581a0fb9">00369</a> <a class="code" href="classFixedTempoEstimator_1_1D.html#ac6a75212293fc855de6ed0c6581a0fb9">FixedTempoEstimator::D::tempo2lag</a>(<span class="keywordtype">float</span> tempo) +<a name="l00370"></a>00370 { +<a name="l00371"></a>00371 <span class="keywordflow">return</span> ((60.f / tempo) * <a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a>) / m_stepSize; +<a name="l00372"></a>00372 } +<a name="l00373"></a>00373 +<a name="l00374"></a>00374 <span class="keywordtype">void</span> +<a name="l00375"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a4f2cbc11fba5bc8af3fd2a0078156091">00375</a> <a class="code" href="classFixedTempoEstimator_1_1D.html#a4f2cbc11fba5bc8af3fd2a0078156091">FixedTempoEstimator::D::calculate</a>() +<a name="l00376"></a>00376 { +<a name="l00377"></a>00377 <span class="keywordflow">if</span> (m_r) { +<a name="l00378"></a>00378 cerr << <span class="stringliteral">"FixedTempoEstimator::calculate: calculation already happened?"</span> << endl; +<a name="l00379"></a>00379 <span class="keywordflow">return</span>; +<a name="l00380"></a>00380 } +<a name="l00381"></a>00381 +<a name="l00382"></a>00382 <span class="keywordflow">if</span> (m_n < m_dfsize / 9 && +<a name="l00383"></a>00383 m_n < (1.0 * <a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a>) / m_stepSize) { <span class="comment">// 1 second</span> +<a name="l00384"></a>00384 cerr << <span class="stringliteral">"FixedTempoEstimator::calculate: Input is too short"</span> << endl; +<a name="l00385"></a>00385 <span class="keywordflow">return</span>; +<a name="l00386"></a>00386 } +<a name="l00387"></a>00387 +<a name="l00388"></a>00388 <span class="comment">// This function takes m_df (the detection function array filled</span> +<a name="l00389"></a>00389 <span class="comment">// out in process()) and calculates m_r (the raw autocorrelation)</span> +<a name="l00390"></a>00390 <span class="comment">// and m_fr (the filtered autocorrelation from whose peaks tempo</span> +<a name="l00391"></a>00391 <span class="comment">// estimates will be taken).</span> +<a name="l00392"></a>00392 +<a name="l00393"></a>00393 <span class="keywordtype">int</span> n = m_n; <span class="comment">// length of actual df array (m_dfsize is the theoretical max)</span> +<a name="l00394"></a>00394 +<a name="l00395"></a>00395 m_r = <span class="keyword">new</span> <span class="keywordtype">float</span>[n/2]; <span class="comment">// raw autocorrelation</span> +<a name="l00396"></a>00396 m_fr = <span class="keyword">new</span> <span class="keywordtype">float</span>[n/2]; <span class="comment">// filtered autocorrelation</span> +<a name="l00397"></a>00397 m_t = <span class="keyword">new</span> <span class="keywordtype">float</span>[n/2]; <span class="comment">// averaged tempo estimate for each lag value</span> +<a name="l00398"></a>00398 +<a name="l00399"></a>00399 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < n/2; ++i) { +<a name="l00400"></a>00400 m_r[i] = 0.f; +<a name="l00401"></a>00401 m_fr[i] = 0.f; +<a name="l00402"></a>00402 m_t[i] = lag2tempo(i); +<a name="l00403"></a>00403 } +<a name="l00404"></a>00404 +<a name="l00405"></a>00405 <span class="comment">// Calculate the raw autocorrelation of the detection function</span> +<a name="l00406"></a>00406 +<a name="l00407"></a>00407 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < n/2; ++i) { +<a name="l00408"></a>00408 +<a name="l00409"></a>00409 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = i; j < n; ++j) { +<a name="l00410"></a>00410 m_r[i] += m_df[j] * m_df[j - i]; +<a name="l00411"></a>00411 } +<a name="l00412"></a>00412 +<a name="l00413"></a>00413 m_r[i] /= n - i - 1; +<a name="l00414"></a>00414 } +<a name="l00415"></a>00415 +<a name="l00416"></a>00416 <span class="comment">// Filter the autocorrelation and average out the tempo estimates</span> +<a name="l00417"></a>00417 +<a name="l00418"></a>00418 <span class="keywordtype">float</span> related[] = { 0.5, 2, 4, 8 }; +<a name="l00419"></a>00419 +<a name="l00420"></a>00420 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i < n/2-1; ++i) { +<a name="l00421"></a>00421 +<a name="l00422"></a>00422 m_fr[i] = m_r[i]; +<a name="l00423"></a>00423 +<a name="l00424"></a>00424 <span class="keywordtype">int</span> div = 1; +<a name="l00425"></a>00425 +<a name="l00426"></a>00426 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j < int(<span class="keyword">sizeof</span>(related)/<span class="keyword">sizeof</span>(related[0])); ++j) { +<a name="l00427"></a>00427 +<a name="l00428"></a>00428 <span class="comment">// Check for an obvious peak at each metrically related lag</span> +<a name="l00429"></a>00429 +<a name="l00430"></a>00430 <span class="keywordtype">int</span> k0 = int(i * related[j] + 0.5); +<a name="l00431"></a>00431 +<a name="l00432"></a>00432 <span class="keywordflow">if</span> (k0 >= 0 && k0 < <span class="keywordtype">int</span>(n/2)) { +<a name="l00433"></a>00433 +<a name="l00434"></a>00434 <span class="keywordtype">int</span> kmax = 0, kmin = 0; +<a name="l00435"></a>00435 <span class="keywordtype">float</span> kvmax = 0, kvmin = 0; +<a name="l00436"></a>00436 <span class="keywordtype">bool</span> have = <span class="keyword">false</span>; +<a name="l00437"></a>00437 +<a name="l00438"></a>00438 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k = k0 - 1; k <= k0 + 1; ++k) { +<a name="l00439"></a>00439 +<a name="l00440"></a>00440 <span class="keywordflow">if</span> (k < 0 || k >= n/2) <span class="keywordflow">continue</span>; +<a name="l00441"></a>00441 +<a name="l00442"></a>00442 <span class="keywordflow">if</span> (!have || (m_r[k] > kvmax)) { kmax = k; kvmax = m_r[k]; } +<a name="l00443"></a>00443 <span class="keywordflow">if</span> (!have || (m_r[k] < kvmin)) { kmin = k; kvmin = m_r[k]; } +<a name="l00444"></a>00444 +<a name="l00445"></a>00445 have = <span class="keyword">true</span>; +<a name="l00446"></a>00446 } +<a name="l00447"></a>00447 +<a name="l00448"></a>00448 <span class="comment">// Boost the original lag according to the strongest</span> +<a name="l00449"></a>00449 <span class="comment">// value found close to this related lag</span> +<a name="l00450"></a>00450 +<a name="l00451"></a>00451 m_fr[i] += m_r[kmax] / 5; +<a name="l00452"></a>00452 +<a name="l00453"></a>00453 <span class="keywordflow">if</span> ((kmax == 0 || m_r[kmax] > m_r[kmax-1]) && +<a name="l00454"></a>00454 (kmax == n/2-1 || m_r[kmax] > m_r[kmax+1]) && +<a name="l00455"></a>00455 kvmax > kvmin * 1.05) { +<a name="l00456"></a>00456 +<a name="l00457"></a>00457 <span class="comment">// The strongest value close to the related lag is</span> +<a name="l00458"></a>00458 <span class="comment">// also a pretty good looking peak, so use it to</span> +<a name="l00459"></a>00459 <span class="comment">// improve our tempo estimate for the original lag</span> +<a name="l00460"></a>00460 +<a name="l00461"></a>00461 m_t[i] = m_t[i] + lag2tempo(kmax) * related[j]; +<a name="l00462"></a>00462 ++div; +<a name="l00463"></a>00463 } +<a name="l00464"></a>00464 } +<a name="l00465"></a>00465 } +<a name="l00466"></a>00466 +<a name="l00467"></a>00467 m_t[i] /= div; +<a name="l00468"></a>00468 +<a name="l00469"></a>00469 <span class="comment">// Finally apply a primitive perceptual weighting (to prefer</span> +<a name="l00470"></a>00470 <span class="comment">// tempi of around 120-130)</span> +<a name="l00471"></a>00471 +<a name="l00472"></a>00472 <span class="keywordtype">float</span> weight = 1.f - fabsf(128.f - lag2tempo(i)) * 0.005; +<a name="l00473"></a>00473 <span class="keywordflow">if</span> (weight < 0.f) weight = 0.f; +<a name="l00474"></a>00474 weight = weight * weight * weight; +<a name="l00475"></a>00475 +<a name="l00476"></a>00476 m_fr[i] += m_fr[i] * (weight / 3); +<a name="l00477"></a>00477 } +<a name="l00478"></a>00478 } +<a name="l00479"></a>00479 +<a name="l00480"></a>00480 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FixedTempoEstimator::FeatureSet</a> +<a name="l00481"></a><a class="code" href="classFixedTempoEstimator_1_1D.html#a20389ba1515f6ce4181d3f41e5c4f347">00481</a> <a class="code" href="classFixedTempoEstimator_1_1D.html#a20389ba1515f6ce4181d3f41e5c4f347">FixedTempoEstimator::D::assembleFeatures</a>() +<a name="l00482"></a>00482 { +<a name="l00483"></a>00483 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> fs; +<a name="l00484"></a>00484 <span class="keywordflow">if</span> (!m_r) <span class="keywordflow">return</span> fs; <span class="comment">// No autocorrelation: no results</span> +<a name="l00485"></a>00485 +<a name="l00486"></a>00486 <a class="code" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> feature; +<a name="l00487"></a>00487 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b" title="True if an output feature has its own timestamp.">hasTimestamp</a> = <span class="keyword">true</span>; +<a name="l00488"></a>00488 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a33686757bd4481c72494122e9bfb9fba" title="True if an output feature has a specified duration.">hasDuration</a> = <span class="keyword">false</span>; +<a name="l00489"></a>00489 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a8eb1fb35f73b247ed13de9527c18f036" title="Label for the sample of this feature.">label</a> = <span class="stringliteral">""</span>; +<a name="l00490"></a>00490 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>.clear(); +<a name="l00491"></a>00491 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>.push_back(0.f); +<a name="l00492"></a>00492 +<a name="l00493"></a>00493 <span class="keywordtype">char</span> buffer[40]; +<a name="l00494"></a>00494 +<a name="l00495"></a>00495 <span class="keywordtype">int</span> n = m_n; +<a name="l00496"></a>00496 +<a name="l00497"></a>00497 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < n; ++i) { +<a name="l00498"></a>00498 +<a name="l00499"></a>00499 <span class="comment">// Return the detection function in the DF output</span> +<a name="l00500"></a>00500 +<a name="l00501"></a>00501 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#acaa605f36839c07e76f4882f5e22d8d7" title="Timestamp of the output feature.">timestamp</a> = m_start + +<a name="l00502"></a>00502 RealTime::frame2RealTime(i * m_stepSize, <a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a>); +<a name="l00503"></a>00503 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>[0] = m_df[i]; +<a name="l00504"></a>00504 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a8eb1fb35f73b247ed13de9527c18f036" title="Label for the sample of this feature.">label</a> = <span class="stringliteral">""</span>; +<a name="l00505"></a>00505 fs[<a class="code" href="FixedTempoEstimator_8cpp.html#acaa4524f29afce03c812a88ff31159c1">DFOutput</a>].push_back(feature); +<a name="l00506"></a>00506 } +<a name="l00507"></a>00507 +<a name="l00508"></a>00508 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i < n/2; ++i) { +<a name="l00509"></a>00509 +<a name="l00510"></a>00510 <span class="comment">// Return the raw autocorrelation in the ACF output, each</span> +<a name="l00511"></a>00511 <span class="comment">// value labelled according to its corresponding tempo</span> +<a name="l00512"></a>00512 +<a name="l00513"></a>00513 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#acaa605f36839c07e76f4882f5e22d8d7" title="Timestamp of the output feature.">timestamp</a> = m_start + +<a name="l00514"></a>00514 RealTime::frame2RealTime(i * m_stepSize, <a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a>); +<a name="l00515"></a>00515 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>[0] = m_r[i]; +<a name="l00516"></a>00516 sprintf(buffer, <span class="stringliteral">"%.1f bpm"</span>, lag2tempo(i)); +<a name="l00517"></a>00517 <span class="keywordflow">if</span> (i == n/2-1) feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a8eb1fb35f73b247ed13de9527c18f036" title="Label for the sample of this feature.">label</a> = <span class="stringliteral">""</span>; +<a name="l00518"></a>00518 <span class="keywordflow">else</span> feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a8eb1fb35f73b247ed13de9527c18f036" title="Label for the sample of this feature.">label</a> = buffer; +<a name="l00519"></a>00519 fs[<a class="code" href="FixedTempoEstimator_8cpp.html#a382c1fe740ac8911c6078cfbceffc870">ACFOutput</a>].push_back(feature); +<a name="l00520"></a>00520 } +<a name="l00521"></a>00521 +<a name="l00522"></a>00522 <span class="keywordtype">float</span> t0 = m_minbpm; <span class="comment">// our minimum detected tempo</span> +<a name="l00523"></a>00523 <span class="keywordtype">float</span> t1 = m_maxbpm; <span class="comment">// our maximum detected tempo</span> +<a name="l00524"></a>00524 +<a name="l00525"></a>00525 <span class="keywordtype">int</span> p0 = tempo2lag(t1); +<a name="l00526"></a>00526 <span class="keywordtype">int</span> p1 = tempo2lag(t0); +<a name="l00527"></a>00527 +<a name="l00528"></a>00528 std::map<float, int> candidates; +<a name="l00529"></a>00529 +<a name="l00530"></a>00530 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = p0; i <= p1 && i+1 < n/2; ++i) { +<a name="l00531"></a>00531 +<a name="l00532"></a>00532 <span class="keywordflow">if</span> (m_fr[i] > m_fr[i-1] && +<a name="l00533"></a>00533 m_fr[i] > m_fr[i+1]) { +<a name="l00534"></a>00534 +<a name="l00535"></a>00535 <span class="comment">// This is a peak in the filtered autocorrelation: stick</span> +<a name="l00536"></a>00536 <span class="comment">// it into the map from filtered autocorrelation to lag</span> +<a name="l00537"></a>00537 <span class="comment">// index -- this sorts our peaks by filtered acf value</span> +<a name="l00538"></a>00538 +<a name="l00539"></a>00539 candidates[m_fr[i]] = i; +<a name="l00540"></a>00540 } +<a name="l00541"></a>00541 +<a name="l00542"></a>00542 <span class="comment">// Also return the filtered autocorrelation in its own output</span> +<a name="l00543"></a>00543 +<a name="l00544"></a>00544 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#acaa605f36839c07e76f4882f5e22d8d7" title="Timestamp of the output feature.">timestamp</a> = m_start + +<a name="l00545"></a>00545 RealTime::frame2RealTime(i * m_stepSize, <a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a>); +<a name="l00546"></a>00546 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>[0] = m_fr[i]; +<a name="l00547"></a>00547 sprintf(buffer, <span class="stringliteral">"%.1f bpm"</span>, lag2tempo(i)); +<a name="l00548"></a>00548 <span class="keywordflow">if</span> (i == p1 || i == n/2-2) feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a8eb1fb35f73b247ed13de9527c18f036" title="Label for the sample of this feature.">label</a> = <span class="stringliteral">""</span>; +<a name="l00549"></a>00549 <span class="keywordflow">else</span> feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a8eb1fb35f73b247ed13de9527c18f036" title="Label for the sample of this feature.">label</a> = buffer; +<a name="l00550"></a>00550 fs[<a class="code" href="FixedTempoEstimator_8cpp.html#a5b284021783d79785d46b043b458368d">FilteredACFOutput</a>].push_back(feature); +<a name="l00551"></a>00551 } +<a name="l00552"></a>00552 +<a name="l00553"></a>00553 <span class="keywordflow">if</span> (candidates.empty()) { +<a name="l00554"></a>00554 cerr << <span class="stringliteral">"No tempo candidates!"</span> << endl; +<a name="l00555"></a>00555 <span class="keywordflow">return</span> fs; +<a name="l00556"></a>00556 } +<a name="l00557"></a>00557 +<a name="l00558"></a>00558 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b" title="True if an output feature has its own timestamp.">hasTimestamp</a> = <span class="keyword">true</span>; +<a name="l00559"></a>00559 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#acaa605f36839c07e76f4882f5e22d8d7" title="Timestamp of the output feature.">timestamp</a> = m_start; +<a name="l00560"></a>00560 +<a name="l00561"></a>00561 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a33686757bd4481c72494122e9bfb9fba" title="True if an output feature has a specified duration.">hasDuration</a> = <span class="keyword">true</span>; +<a name="l00562"></a>00562 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#af687c0a7fe041757e922ec296862b115" title="Duration of the output feature.">duration</a> = m_lasttime - m_start; +<a name="l00563"></a>00563 +<a name="l00564"></a>00564 <span class="comment">// The map contains only peaks and is sorted by filtered acf</span> +<a name="l00565"></a>00565 <span class="comment">// value, so the final element in it is our "best" tempo guess</span> +<a name="l00566"></a>00566 +<a name="l00567"></a>00567 std::map<float, int>::const_iterator ci = candidates.end(); +<a name="l00568"></a>00568 --ci; +<a name="l00569"></a>00569 <span class="keywordtype">int</span> maxpi = ci->second; +<a name="l00570"></a>00570 +<a name="l00571"></a>00571 <span class="keywordflow">if</span> (m_t[maxpi] > 0) { +<a name="l00572"></a>00572 +<a name="l00573"></a>00573 <span class="comment">// This lag has an adjusted tempo from the averaging process:</span> +<a name="l00574"></a>00574 <span class="comment">// use it</span> +<a name="l00575"></a>00575 +<a name="l00576"></a>00576 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>[0] = m_t[maxpi]; +<a name="l00577"></a>00577 +<a name="l00578"></a>00578 } <span class="keywordflow">else</span> { +<a name="l00579"></a>00579 +<a name="l00580"></a>00580 <span class="comment">// shouldn't happen -- it would imply that this high value was</span> +<a name="l00581"></a>00581 <span class="comment">// not a peak!</span> +<a name="l00582"></a>00582 +<a name="l00583"></a>00583 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>[0] = lag2tempo(maxpi); +<a name="l00584"></a>00584 cerr << <span class="stringliteral">"WARNING: No stored tempo for index "</span> << maxpi << endl; +<a name="l00585"></a>00585 } +<a name="l00586"></a>00586 +<a name="l00587"></a>00587 sprintf(buffer, <span class="stringliteral">"%.1f bpm"</span>, feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>[0]); +<a name="l00588"></a>00588 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a8eb1fb35f73b247ed13de9527c18f036" title="Label for the sample of this feature.">label</a> = buffer; +<a name="l00589"></a>00589 +<a name="l00590"></a>00590 <span class="comment">// Return the best tempo in the main output</span> +<a name="l00591"></a>00591 +<a name="l00592"></a>00592 fs[<a class="code" href="FixedTempoEstimator_8cpp.html#a7a8511e62dffb5334ad3b70d57b2fcee">TempoOutput</a>].push_back(feature); +<a name="l00593"></a>00593 +<a name="l00594"></a>00594 <span class="comment">// And return the other estimates (up to the arbitrarily chosen</span> +<a name="l00595"></a>00595 <span class="comment">// number of 10 of them) in the candidates output</span> +<a name="l00596"></a>00596 +<a name="l00597"></a>00597 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>.clear(); +<a name="l00598"></a>00598 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a8eb1fb35f73b247ed13de9527c18f036" title="Label for the sample of this feature.">label</a> = <span class="stringliteral">""</span>; +<a name="l00599"></a>00599 +<a name="l00600"></a>00600 <span class="keywordflow">while</span> (feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>.size() < 10) { +<a name="l00601"></a>00601 <span class="keywordflow">if</span> (m_t[ci->second] > 0) { +<a name="l00602"></a>00602 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>.push_back(m_t[ci->second]); +<a name="l00603"></a>00603 } <span class="keywordflow">else</span> { +<a name="l00604"></a>00604 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>.push_back(lag2tempo(ci->second)); +<a name="l00605"></a>00605 } +<a name="l00606"></a>00606 <span class="keywordflow">if</span> (ci == candidates.begin()) <span class="keywordflow">break</span>; +<a name="l00607"></a>00607 --ci; +<a name="l00608"></a>00608 } +<a name="l00609"></a>00609 +<a name="l00610"></a>00610 fs[<a class="code" href="FixedTempoEstimator_8cpp.html#a554b16c6b7516530e52c65318bfe08eb">CandidatesOutput</a>].push_back(feature); +<a name="l00611"></a>00611 +<a name="l00612"></a>00612 <span class="keywordflow">return</span> fs; +<a name="l00613"></a>00613 } +<a name="l00614"></a>00614 +<a name="l00615"></a>00615 +<a name="l00616"></a>00616 +<a name="l00617"></a><a class="code" href="classFixedTempoEstimator.html#a3967c189f054f864639837c2519bd64d">00617</a> <a class="code" href="classFixedTempoEstimator.html#a3967c189f054f864639837c2519bd64d">FixedTempoEstimator::FixedTempoEstimator</a>(<span class="keywordtype">float</span> inputSampleRate) : +<a name="l00618"></a>00618 <a class="code" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a>(inputSampleRate), +<a name="l00619"></a>00619 <a class="code" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">m_d</a>(new <a class="code" href="classFixedTempoEstimator_1_1D.html">D</a>(inputSampleRate)) +<a name="l00620"></a>00620 { +<a name="l00621"></a>00621 } +<a name="l00622"></a>00622 +<a name="l00623"></a><a class="code" href="classFixedTempoEstimator.html#a0302c4bfdc163a3d34478cde93c96a53">00623</a> <a class="code" href="classFixedTempoEstimator.html#a0302c4bfdc163a3d34478cde93c96a53">FixedTempoEstimator::~FixedTempoEstimator</a>() +<a name="l00624"></a>00624 { +<a name="l00625"></a>00625 <span class="keyword">delete</span> <a class="code" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">m_d</a>; +<a name="l00626"></a>00626 } +<a name="l00627"></a>00627 +<a name="l00628"></a>00628 <span class="keywordtype">string</span> +<a name="l00629"></a><a class="code" href="classFixedTempoEstimator.html#ab818edcf1555177d10260e197e3a5e7a">00629</a> <a class="code" href="classFixedTempoEstimator.html#ab818edcf1555177d10260e197e3a5e7a" title="Get the computer-usable name of the plugin.">FixedTempoEstimator::getIdentifier</a>()<span class="keyword"> const</span> +<a name="l00630"></a>00630 <span class="keyword"></span>{ +<a name="l00631"></a>00631 <span class="keywordflow">return</span> <span class="stringliteral">"fixedtempo"</span>; +<a name="l00632"></a>00632 } +<a name="l00633"></a>00633 +<a name="l00634"></a>00634 <span class="keywordtype">string</span> +<a name="l00635"></a><a class="code" href="classFixedTempoEstimator.html#af9eb6fa8a98aa66b55e64e1795f9405f">00635</a> <a class="code" href="classFixedTempoEstimator.html#af9eb6fa8a98aa66b55e64e1795f9405f" title="Get a human-readable name or title of the plugin.">FixedTempoEstimator::getName</a>()<span class="keyword"> const</span> +<a name="l00636"></a>00636 <span class="keyword"></span>{ +<a name="l00637"></a>00637 <span class="keywordflow">return</span> <span class="stringliteral">"Simple Fixed Tempo Estimator"</span>; +<a name="l00638"></a>00638 } +<a name="l00639"></a>00639 +<a name="l00640"></a>00640 <span class="keywordtype">string</span> +<a name="l00641"></a><a class="code" href="classFixedTempoEstimator.html#a06b00853f00c2e78d490697fcd7d1920">00641</a> <a class="code" href="classFixedTempoEstimator.html#a06b00853f00c2e78d490697fcd7d1920" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">FixedTempoEstimator::getDescription</a>()<span class="keyword"> const</span> +<a name="l00642"></a>00642 <span class="keyword"></span>{ +<a name="l00643"></a>00643 <span class="keywordflow">return</span> <span class="stringliteral">"Study a short section of audio and estimate its tempo, assuming the tempo is constant"</span>; +<a name="l00644"></a>00644 } +<a name="l00645"></a>00645 +<a name="l00646"></a>00646 <span class="keywordtype">string</span> +<a name="l00647"></a><a class="code" href="classFixedTempoEstimator.html#ae910d1b9250b11097fd6b51cd8285b68">00647</a> <a class="code" href="classFixedTempoEstimator.html#ae910d1b9250b11097fd6b51cd8285b68" title="Get the name of the author or vendor of the plugin in human-readable form.">FixedTempoEstimator::getMaker</a>()<span class="keyword"> const</span> +<a name="l00648"></a>00648 <span class="keyword"></span>{ +<a name="l00649"></a>00649 <span class="keywordflow">return</span> <span class="stringliteral">"Vamp SDK Example Plugins"</span>; +<a name="l00650"></a>00650 } +<a name="l00651"></a>00651 +<a name="l00652"></a>00652 <span class="keywordtype">int</span> +<a name="l00653"></a><a class="code" href="classFixedTempoEstimator.html#ad002fddb3735c2dd7e31e6a9def9949f">00653</a> <a class="code" href="classFixedTempoEstimator.html#ad002fddb3735c2dd7e31e6a9def9949f" title="Get the version number of the plugin.">FixedTempoEstimator::getPluginVersion</a>()<span class="keyword"> const</span> +<a name="l00654"></a>00654 <span class="keyword"></span>{ +<a name="l00655"></a>00655 <span class="keywordflow">return</span> 1; +<a name="l00656"></a>00656 } +<a name="l00657"></a>00657 +<a name="l00658"></a>00658 <span class="keywordtype">string</span> +<a name="l00659"></a><a class="code" href="classFixedTempoEstimator.html#a50c6b64530c84c0707ba3936c5022a48">00659</a> <a class="code" href="classFixedTempoEstimator.html#a50c6b64530c84c0707ba3936c5022a48" title="Get the copyright statement or licensing summary for the plugin.">FixedTempoEstimator::getCopyright</a>()<span class="keyword"> const</span> +<a name="l00660"></a>00660 <span class="keyword"></span>{ +<a name="l00661"></a>00661 <span class="keywordflow">return</span> <span class="stringliteral">"Code copyright 2008 Queen Mary, University of London. Freely redistributable (BSD license)"</span>; +<a name="l00662"></a>00662 } +<a name="l00663"></a>00663 +<a name="l00664"></a>00664 <span class="keywordtype">size_t</span> +<a name="l00665"></a><a class="code" href="classFixedTempoEstimator.html#ad450bb7e7df559ae3d68dfbfb085676f">00665</a> <a class="code" href="classFixedTempoEstimator.html#ad450bb7e7df559ae3d68dfbfb085676f" title="Get the preferred step size (window increment -- the distance in sample frames between the start fram...">FixedTempoEstimator::getPreferredStepSize</a>()<span class="keyword"> const</span> +<a name="l00666"></a>00666 <span class="keyword"></span>{ +<a name="l00667"></a>00667 <span class="keywordflow">return</span> <a class="code" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">m_d</a>-><a class="code" href="classFixedTempoEstimator_1_1D.html#add749be18355ab1ae5c1ccbacfd2e192">getPreferredStepSize</a>(); +<a name="l00668"></a>00668 } +<a name="l00669"></a>00669 +<a name="l00670"></a>00670 <span class="keywordtype">size_t</span> +<a name="l00671"></a><a class="code" href="classFixedTempoEstimator.html#a68b8569b71504a0478caf990dbe30683">00671</a> <a class="code" href="classFixedTempoEstimator.html#a68b8569b71504a0478caf990dbe30683" title="Get the preferred block size (window size -- the number of sample frames passed in each block to the ...">FixedTempoEstimator::getPreferredBlockSize</a>()<span class="keyword"> const</span> +<a name="l00672"></a>00672 <span class="keyword"></span>{ +<a name="l00673"></a>00673 <span class="keywordflow">return</span> <a class="code" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">m_d</a>-><a class="code" href="classFixedTempoEstimator_1_1D.html#ac02826f981736fc2aa5d835fa14e174d">getPreferredBlockSize</a>(); +<a name="l00674"></a>00674 } +<a name="l00675"></a>00675 +<a name="l00676"></a>00676 <span class="keywordtype">bool</span> +<a name="l00677"></a><a class="code" href="classFixedTempoEstimator.html#aa7500a4ffbc4653baaf5101defdb37f5">00677</a> <a class="code" href="classFixedTempoEstimator.html#aa7500a4ffbc4653baaf5101defdb37f5" title="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).">FixedTempoEstimator::initialise</a>(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize) +<a name="l00678"></a>00678 { +<a name="l00679"></a>00679 <span class="keywordflow">if</span> (channels < <a class="code" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525" title="Get the minimum supported number of input channels.">getMinChannelCount</a>() || +<a name="l00680"></a>00680 channels > <a class="code" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e" title="Get the maximum supported number of input channels.">getMaxChannelCount</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>; +<a name="l00681"></a>00681 +<a name="l00682"></a>00682 <span class="keywordflow">return</span> <a class="code" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">m_d</a>-><a class="code" href="classFixedTempoEstimator_1_1D.html#af0fcad4493650728babb7e341963c91d">initialise</a>(channels, stepSize, blockSize); +<a name="l00683"></a>00683 } +<a name="l00684"></a>00684 +<a name="l00685"></a>00685 <span class="keywordtype">void</span> +<a name="l00686"></a><a class="code" href="classFixedTempoEstimator.html#ac41708397255400c6682fee6c1b3d45f">00686</a> <a class="code" href="classFixedTempoEstimator.html#ac41708397255400c6682fee6c1b3d45f" title="Reset the plugin after use, to prepare it for another clean run.">FixedTempoEstimator::reset</a>() +<a name="l00687"></a>00687 { +<a name="l00688"></a>00688 <span class="keywordflow">return</span> <a class="code" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">m_d</a>-><a class="code" href="classFixedTempoEstimator_1_1D.html#af5ac8147bfe79371d00aba8a19c2f8fd">reset</a>(); +<a name="l00689"></a>00689 } +<a name="l00690"></a>00690 +<a name="l00691"></a>00691 <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">FixedTempoEstimator::ParameterList</a> +<a name="l00692"></a><a class="code" href="classFixedTempoEstimator.html#ae157465a4e07d180bab05b5c3a4d8987">00692</a> <a class="code" href="classFixedTempoEstimator.html#ae157465a4e07d180bab05b5c3a4d8987" title="Get the controllable parameters of this plugin.">FixedTempoEstimator::getParameterDescriptors</a>()<span class="keyword"> const</span> +<a name="l00693"></a>00693 <span class="keyword"></span>{ +<a name="l00694"></a>00694 <span class="keywordflow">return</span> <a class="code" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">m_d</a>-><a class="code" href="classFixedTempoEstimator_1_1D.html#a06fcf80a9a22c4b90abbc88eb592621a">getParameterDescriptors</a>(); +<a name="l00695"></a>00695 } +<a name="l00696"></a>00696 +<a name="l00697"></a>00697 <span class="keywordtype">float</span> +<a name="l00698"></a><a class="code" href="classFixedTempoEstimator.html#a2030b05fb1228b30ace16200780c9152">00698</a> <a class="code" href="classFixedTempoEstimator.html#a2030b05fb1228b30ace16200780c9152" title="Get the value of a named parameter.">FixedTempoEstimator::getParameter</a>(std::string <span class="keywordtype">id</span>)<span class="keyword"> const</span> +<a name="l00699"></a>00699 <span class="keyword"></span>{ +<a name="l00700"></a>00700 <span class="keywordflow">return</span> <a class="code" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">m_d</a>-><a class="code" href="classFixedTempoEstimator_1_1D.html#a968ef2e555c81e4a3bde89d19fafb31a">getParameter</a>(<span class="keywordtype">id</span>); +<a name="l00701"></a>00701 } +<a name="l00702"></a>00702 +<a name="l00703"></a>00703 <span class="keywordtype">void</span> +<a name="l00704"></a><a class="code" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75">00704</a> <a class="code" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75" title="Set a named parameter.">FixedTempoEstimator::setParameter</a>(std::string <span class="keywordtype">id</span>, <span class="keywordtype">float</span> value) +<a name="l00705"></a>00705 { +<a name="l00706"></a>00706 <a class="code" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">m_d</a>-><a class="code" href="classFixedTempoEstimator_1_1D.html#a6cafa64d4cc8aa3556bc0ce6b0c49bc4">setParameter</a>(<span class="keywordtype">id</span>, value); +<a name="l00707"></a>00707 } +<a name="l00708"></a>00708 +<a name="l00709"></a>00709 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">FixedTempoEstimator::OutputList</a> +<a name="l00710"></a><a class="code" href="classFixedTempoEstimator.html#a83121c205a723fe6297e2bf8870622a4">00710</a> <a class="code" href="classFixedTempoEstimator.html#a83121c205a723fe6297e2bf8870622a4" title="Get the outputs of this plugin.">FixedTempoEstimator::getOutputDescriptors</a>()<span class="keyword"> const</span> +<a name="l00711"></a>00711 <span class="keyword"></span>{ +<a name="l00712"></a>00712 <span class="keywordflow">return</span> <a class="code" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">m_d</a>-><a class="code" href="classFixedTempoEstimator_1_1D.html#a7ce98af800f36045a0dae4b1dbed943f">getOutputDescriptors</a>(); +<a name="l00713"></a>00713 } +<a name="l00714"></a>00714 +<a name="l00715"></a>00715 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FixedTempoEstimator::FeatureSet</a> +<a name="l00716"></a><a class="code" href="classFixedTempoEstimator.html#a1cf76b0e55cf4ed3da095cffcdeaec3c">00716</a> <a class="code" href="classFixedTempoEstimator.html#a1cf76b0e55cf4ed3da095cffcdeaec3c" title="Process a single block of input data.">FixedTempoEstimator::process</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> ts) +<a name="l00717"></a>00717 { +<a name="l00718"></a>00718 <span class="keywordflow">return</span> <a class="code" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">m_d</a>-><a class="code" href="classFixedTempoEstimator_1_1D.html#a7fac74fc9fc54f436408705d1e125e20">process</a>(inputBuffers, ts); +<a name="l00719"></a>00719 } +<a name="l00720"></a>00720 +<a name="l00721"></a>00721 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FixedTempoEstimator::FeatureSet</a> +<a name="l00722"></a><a class="code" href="classFixedTempoEstimator.html#a4965cf99be77fc4d1de51e11d83936b0">00722</a> <a class="code" href="classFixedTempoEstimator.html#a4965cf99be77fc4d1de51e11d83936b0" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">FixedTempoEstimator::getRemainingFeatures</a>() +<a name="l00723"></a>00723 { +<a name="l00724"></a>00724 <span class="keywordflow">return</span> <a class="code" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">m_d</a>-><a class="code" href="classFixedTempoEstimator_1_1D.html#a7f9c3603bb3374d6936885010dbdd82b">getRemainingFeatures</a>(); +<a name="l00725"></a>00725 } +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="FixedTempoEstimator_8cpp.html">FixedTempoEstimator.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/FixedTempoEstimator_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,102 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: FixedTempoEstimator.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('FixedTempoEstimator_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> </div> + <div class="headertitle"> +<div class="title">FixedTempoEstimator.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="FixedTempoEstimator_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Example plugin that estimates the tempo of a short fixed-tempo sample. <a href="classFixedTempoEstimator.html#details">More...</a><br/></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="FixedTempoEstimator_8h.html">FixedTempoEstimator.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/FixedTempoEstimator_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,172 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: FixedTempoEstimator.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('FixedTempoEstimator_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">FixedTempoEstimator.h</div> </div> +</div> +<div class="contents"> +<a href="FixedTempoEstimator_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006-2009 Chris Cannam and QMUL.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _FIXED_TEMPO_ESTIMATOR_PLUGIN_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _FIXED_TEMPO_ESTIMATOR_PLUGIN_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="vamp-sdk_2Plugin_8h.html">vamp-sdk/Plugin.h</a>"</span> +<a name="l00041"></a>00041 +<a name="l00046"></a><a class="code" href="classFixedTempoEstimator.html">00046</a> <span class="keyword">class </span><a class="code" href="classFixedTempoEstimator.html" title="Example plugin that estimates the tempo of a short fixed-tempo sample.">FixedTempoEstimator</a> : <span class="keyword">public</span> Vamp::<a class="code" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a> +<a name="l00047"></a>00047 { +<a name="l00048"></a>00048 <span class="keyword">public</span>: +<a name="l00049"></a>00049 <a class="code" href="classFixedTempoEstimator.html#a3967c189f054f864639837c2519bd64d">FixedTempoEstimator</a>(<span class="keywordtype">float</span> inputSampleRate); +<a name="l00050"></a>00050 <span class="keyword">virtual</span> <a class="code" href="classFixedTempoEstimator.html#a0302c4bfdc163a3d34478cde93c96a53">~FixedTempoEstimator</a>(); +<a name="l00051"></a>00051 +<a name="l00052"></a>00052 <span class="keywordtype">bool</span> <a class="code" href="classFixedTempoEstimator.html#aa7500a4ffbc4653baaf5101defdb37f5" title="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).">initialise</a>(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize); +<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classFixedTempoEstimator.html#ac41708397255400c6682fee6c1b3d45f" title="Reset the plugin after use, to prepare it for another clean run.">reset</a>(); +<a name="l00054"></a>00054 +<a name="l00055"></a><a class="code" href="classFixedTempoEstimator.html#a055689c9b41b0945e8d3cdbc3b8c3a2e">00055</a> <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> <a class="code" href="classFixedTempoEstimator.html#a055689c9b41b0945e8d3cdbc3b8c3a2e" title="Get the plugin's required input domain.">getInputDomain</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>; } +<a name="l00056"></a>00056 +<a name="l00057"></a>00057 std::string <a class="code" href="classFixedTempoEstimator.html#ab818edcf1555177d10260e197e3a5e7a" title="Get the computer-usable name of the plugin.">getIdentifier</a>() <span class="keyword">const</span>; +<a name="l00058"></a>00058 std::string <a class="code" href="classFixedTempoEstimator.html#af9eb6fa8a98aa66b55e64e1795f9405f" title="Get a human-readable name or title of the plugin.">getName</a>() <span class="keyword">const</span>; +<a name="l00059"></a>00059 std::string <a class="code" href="classFixedTempoEstimator.html#a06b00853f00c2e78d490697fcd7d1920" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">getDescription</a>() <span class="keyword">const</span>; +<a name="l00060"></a>00060 std::string <a class="code" href="classFixedTempoEstimator.html#ae910d1b9250b11097fd6b51cd8285b68" title="Get the name of the author or vendor of the plugin in human-readable form.">getMaker</a>() <span class="keyword">const</span>; +<a name="l00061"></a>00061 <span class="keywordtype">int</span> <a class="code" href="classFixedTempoEstimator.html#ad002fddb3735c2dd7e31e6a9def9949f" title="Get the version number of the plugin.">getPluginVersion</a>() <span class="keyword">const</span>; +<a name="l00062"></a>00062 std::string <a class="code" href="classFixedTempoEstimator.html#a50c6b64530c84c0707ba3936c5022a48" title="Get the copyright statement or licensing summary for the plugin.">getCopyright</a>() <span class="keyword">const</span>; +<a name="l00063"></a>00063 +<a name="l00064"></a>00064 <span class="keywordtype">size_t</span> <a class="code" href="classFixedTempoEstimator.html#ad450bb7e7df559ae3d68dfbfb085676f" title="Get the preferred step size (window increment -- the distance in sample frames between the start fram...">getPreferredStepSize</a>() <span class="keyword">const</span>; +<a name="l00065"></a>00065 <span class="keywordtype">size_t</span> <a class="code" href="classFixedTempoEstimator.html#a68b8569b71504a0478caf990dbe30683" title="Get the preferred block size (window size -- the number of sample frames passed in each block to the ...">getPreferredBlockSize</a>() <span class="keyword">const</span>; +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> <a class="code" href="classFixedTempoEstimator.html#ae157465a4e07d180bab05b5c3a4d8987" title="Get the controllable parameters of this plugin.">getParameterDescriptors</a>() <span class="keyword">const</span>; +<a name="l00068"></a>00068 <span class="keywordtype">float</span> <a class="code" href="classFixedTempoEstimator.html#a2030b05fb1228b30ace16200780c9152" title="Get the value of a named parameter.">getParameter</a>(std::string <span class="keywordtype">id</span>) <span class="keyword">const</span>; +<a name="l00069"></a>00069 <span class="keywordtype">void</span> <a class="code" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75" title="Set a named parameter.">setParameter</a>(std::string <span class="keywordtype">id</span>, <span class="keywordtype">float</span> value); +<a name="l00070"></a>00070 +<a name="l00071"></a>00071 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> <a class="code" href="classFixedTempoEstimator.html#a83121c205a723fe6297e2bf8870622a4" title="Get the outputs of this plugin.">getOutputDescriptors</a>() <span class="keyword">const</span>; +<a name="l00072"></a>00072 +<a name="l00073"></a>00073 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="code" href="classFixedTempoEstimator.html#a1cf76b0e55cf4ed3da095cffcdeaec3c" title="Process a single block of input data.">process</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, +<a name="l00074"></a>00074 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">Vamp::RealTime</a> timestamp); +<a name="l00075"></a>00075 +<a name="l00076"></a>00076 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="code" href="classFixedTempoEstimator.html#a4965cf99be77fc4d1de51e11d83936b0" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">getRemainingFeatures</a>(); +<a name="l00077"></a>00077 +<a name="l00078"></a>00078 <span class="keyword">protected</span>: +<a name="l00079"></a><a class="code" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">00079</a> <span class="keyword">class </span><a class="code" href="classFixedTempoEstimator_1_1D.html">D</a>; +<a name="l00080"></a>00080 <a class="code" href="classFixedTempoEstimator_1_1D.html">D</a> *<a class="code" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">m_d</a>; +<a name="l00081"></a>00081 }; +<a name="l00082"></a>00082 +<a name="l00083"></a>00083 +<a name="l00084"></a>00084 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="FixedTempoEstimator_8h.html">FixedTempoEstimator.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PercussionOnsetDetector_8cpp.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PercussionOnsetDetector.cpp File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PercussionOnsetDetector_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PercussionOnsetDetector.cpp File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="PercussionOnsetDetector_8cpp_source.html">Go to the source code of this file.</a></p> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PercussionOnsetDetector_8cpp.html">PercussionOnsetDetector.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PercussionOnsetDetector_8cpp_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,379 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PercussionOnsetDetector.cpp Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PercussionOnsetDetector_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PercussionOnsetDetector.cpp</div> </div> +</div> +<div class="contents"> +<a href="PercussionOnsetDetector_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="PercussionOnsetDetector_8h.html">PercussionOnsetDetector.h</a>"</span> +<a name="l00038"></a>00038 +<a name="l00039"></a>00039 <span class="keyword">using</span> std::string; +<a name="l00040"></a>00040 <span class="keyword">using</span> std::vector; +<a name="l00041"></a>00041 <span class="keyword">using</span> std::cerr; +<a name="l00042"></a>00042 <span class="keyword">using</span> std::endl; +<a name="l00043"></a>00043 +<a name="l00044"></a>00044 <span class="preprocessor">#include <cmath></span> +<a name="l00045"></a>00045 +<a name="l00046"></a>00046 +<a name="l00047"></a><a class="code" href="classPercussionOnsetDetector.html#a9f700579805ee5105758d847baab3511">00047</a> <a class="code" href="classPercussionOnsetDetector.html#a9f700579805ee5105758d847baab3511">PercussionOnsetDetector::PercussionOnsetDetector</a>(<span class="keywordtype">float</span> inputSampleRate) : +<a name="l00048"></a>00048 Plugin(inputSampleRate), +<a name="l00049"></a>00049 m_stepSize(0), +<a name="l00050"></a>00050 m_blockSize(0), +<a name="l00051"></a>00051 m_threshold(3), +<a name="l00052"></a>00052 m_sensitivity(40), +<a name="l00053"></a>00053 m_priorMagnitudes(0), +<a name="l00054"></a>00054 m_dfMinus1(0), +<a name="l00055"></a>00055 m_dfMinus2(0) +<a name="l00056"></a>00056 { +<a name="l00057"></a>00057 } +<a name="l00058"></a>00058 +<a name="l00059"></a><a class="code" href="classPercussionOnsetDetector.html#a99f833667cf8185e879d735216c7642b">00059</a> <a class="code" href="classPercussionOnsetDetector.html#a99f833667cf8185e879d735216c7642b">PercussionOnsetDetector::~PercussionOnsetDetector</a>() +<a name="l00060"></a>00060 { +<a name="l00061"></a>00061 <span class="keyword">delete</span>[] <a class="code" href="classPercussionOnsetDetector.html#a30daa717267251a9d49afe57c328e989">m_priorMagnitudes</a>; +<a name="l00062"></a>00062 } +<a name="l00063"></a>00063 +<a name="l00064"></a>00064 <span class="keywordtype">string</span> +<a name="l00065"></a><a class="code" href="classPercussionOnsetDetector.html#a267c83a7533146c127e2c3be310e0154">00065</a> <a class="code" href="classPercussionOnsetDetector.html#a267c83a7533146c127e2c3be310e0154" title="Get the computer-usable name of the plugin.">PercussionOnsetDetector::getIdentifier</a>()<span class="keyword"> const</span> +<a name="l00066"></a>00066 <span class="keyword"></span>{ +<a name="l00067"></a>00067 <span class="keywordflow">return</span> <span class="stringliteral">"percussiononsets"</span>; +<a name="l00068"></a>00068 } +<a name="l00069"></a>00069 +<a name="l00070"></a>00070 <span class="keywordtype">string</span> +<a name="l00071"></a><a class="code" href="classPercussionOnsetDetector.html#aa98f1ad061a11af98c054011a8844e6f">00071</a> <a class="code" href="classPercussionOnsetDetector.html#aa98f1ad061a11af98c054011a8844e6f" title="Get a human-readable name or title of the plugin.">PercussionOnsetDetector::getName</a>()<span class="keyword"> const</span> +<a name="l00072"></a>00072 <span class="keyword"></span>{ +<a name="l00073"></a>00073 <span class="keywordflow">return</span> <span class="stringliteral">"Simple Percussion Onset Detector"</span>; +<a name="l00074"></a>00074 } +<a name="l00075"></a>00075 +<a name="l00076"></a>00076 <span class="keywordtype">string</span> +<a name="l00077"></a><a class="code" href="classPercussionOnsetDetector.html#a9061d189705802a48973a7ccab6360db">00077</a> <a class="code" href="classPercussionOnsetDetector.html#a9061d189705802a48973a7ccab6360db" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">PercussionOnsetDetector::getDescription</a>()<span class="keyword"> const</span> +<a name="l00078"></a>00078 <span class="keyword"></span>{ +<a name="l00079"></a>00079 <span class="keywordflow">return</span> <span class="stringliteral">"Detect percussive note onsets by identifying broadband energy rises"</span>; +<a name="l00080"></a>00080 } +<a name="l00081"></a>00081 +<a name="l00082"></a>00082 <span class="keywordtype">string</span> +<a name="l00083"></a><a class="code" href="classPercussionOnsetDetector.html#a63d63f2cb7ea8d8b09d58cc13b541375">00083</a> <a class="code" href="classPercussionOnsetDetector.html#a63d63f2cb7ea8d8b09d58cc13b541375" title="Get the name of the author or vendor of the plugin in human-readable form.">PercussionOnsetDetector::getMaker</a>()<span class="keyword"> const</span> +<a name="l00084"></a>00084 <span class="keyword"></span>{ +<a name="l00085"></a>00085 <span class="keywordflow">return</span> <span class="stringliteral">"Vamp SDK Example Plugins"</span>; +<a name="l00086"></a>00086 } +<a name="l00087"></a>00087 +<a name="l00088"></a>00088 <span class="keywordtype">int</span> +<a name="l00089"></a><a class="code" href="classPercussionOnsetDetector.html#ad6b818dbd81867ce7be71c99cae861be">00089</a> <a class="code" href="classPercussionOnsetDetector.html#ad6b818dbd81867ce7be71c99cae861be" title="Get the version number of the plugin.">PercussionOnsetDetector::getPluginVersion</a>()<span class="keyword"> const</span> +<a name="l00090"></a>00090 <span class="keyword"></span>{ +<a name="l00091"></a>00091 <span class="keywordflow">return</span> 2; +<a name="l00092"></a>00092 } +<a name="l00093"></a>00093 +<a name="l00094"></a>00094 <span class="keywordtype">string</span> +<a name="l00095"></a><a class="code" href="classPercussionOnsetDetector.html#a1a22ece271330c94cc08798a77416351">00095</a> <a class="code" href="classPercussionOnsetDetector.html#a1a22ece271330c94cc08798a77416351" title="Get the copyright statement or licensing summary for the plugin.">PercussionOnsetDetector::getCopyright</a>()<span class="keyword"> const</span> +<a name="l00096"></a>00096 <span class="keyword"></span>{ +<a name="l00097"></a>00097 <span class="keywordflow">return</span> <span class="stringliteral">"Code copyright 2006 Queen Mary, University of London, after Dan Barry et al 2005. Freely redistributable (BSD license)"</span>; +<a name="l00098"></a>00098 } +<a name="l00099"></a>00099 +<a name="l00100"></a>00100 <span class="keywordtype">size_t</span> +<a name="l00101"></a><a class="code" href="classPercussionOnsetDetector.html#a733824891e11c306a7a678534b89b968">00101</a> <a class="code" href="classPercussionOnsetDetector.html#a733824891e11c306a7a678534b89b968" title="Get the preferred step size (window increment -- the distance in sample frames between the start fram...">PercussionOnsetDetector::getPreferredStepSize</a>()<span class="keyword"> const</span> +<a name="l00102"></a>00102 <span class="keyword"></span>{ +<a name="l00103"></a>00103 <span class="keywordflow">return</span> 0; +<a name="l00104"></a>00104 } +<a name="l00105"></a>00105 +<a name="l00106"></a>00106 <span class="keywordtype">size_t</span> +<a name="l00107"></a><a class="code" href="classPercussionOnsetDetector.html#a410c0b47c6c849d7ed9b726b84402ad0">00107</a> <a class="code" href="classPercussionOnsetDetector.html#a410c0b47c6c849d7ed9b726b84402ad0" title="Get the preferred block size (window size -- the number of sample frames passed in each block to the ...">PercussionOnsetDetector::getPreferredBlockSize</a>()<span class="keyword"> const</span> +<a name="l00108"></a>00108 <span class="keyword"></span>{ +<a name="l00109"></a>00109 <span class="keywordflow">return</span> 1024; +<a name="l00110"></a>00110 } +<a name="l00111"></a>00111 +<a name="l00112"></a>00112 <span class="keywordtype">bool</span> +<a name="l00113"></a><a class="code" href="classPercussionOnsetDetector.html#a349c528260622308f3850bcda8a448ab">00113</a> <a class="code" href="classPercussionOnsetDetector.html#a349c528260622308f3850bcda8a448ab" title="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).">PercussionOnsetDetector::initialise</a>(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize) +<a name="l00114"></a>00114 { +<a name="l00115"></a>00115 <span class="keywordflow">if</span> (channels < <a class="code" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525" title="Get the minimum supported number of input channels.">getMinChannelCount</a>() || +<a name="l00116"></a>00116 channels > <a class="code" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e" title="Get the maximum supported number of input channels.">getMaxChannelCount</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>; +<a name="l00117"></a>00117 +<a name="l00118"></a>00118 <a class="code" href="classPercussionOnsetDetector.html#aabac0cf7e961482b075777e5f0686e6c">m_stepSize</a> = stepSize; +<a name="l00119"></a>00119 <a class="code" href="classPercussionOnsetDetector.html#a920de543dbcf70a2edd80b5b31313285">m_blockSize</a> = blockSize; +<a name="l00120"></a>00120 +<a name="l00121"></a>00121 <a class="code" href="classPercussionOnsetDetector.html#a30daa717267251a9d49afe57c328e989">m_priorMagnitudes</a> = <span class="keyword">new</span> <span class="keywordtype">float</span>[<a class="code" href="classPercussionOnsetDetector.html#a920de543dbcf70a2edd80b5b31313285">m_blockSize</a>/2]; +<a name="l00122"></a>00122 +<a name="l00123"></a>00123 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < <a class="code" href="classPercussionOnsetDetector.html#a920de543dbcf70a2edd80b5b31313285">m_blockSize</a>/2; ++i) { +<a name="l00124"></a>00124 <a class="code" href="classPercussionOnsetDetector.html#a30daa717267251a9d49afe57c328e989">m_priorMagnitudes</a>[i] = 0.f; +<a name="l00125"></a>00125 } +<a name="l00126"></a>00126 +<a name="l00127"></a>00127 <a class="code" href="classPercussionOnsetDetector.html#acd80162c65212be7fa91251263fb9c3d">m_dfMinus1</a> = 0.f; +<a name="l00128"></a>00128 <a class="code" href="classPercussionOnsetDetector.html#a6ad7d8353cc681ff42a63b127cca5779">m_dfMinus2</a> = 0.f; +<a name="l00129"></a>00129 +<a name="l00130"></a>00130 <span class="keywordflow">return</span> <span class="keyword">true</span>; +<a name="l00131"></a>00131 } +<a name="l00132"></a>00132 +<a name="l00133"></a>00133 <span class="keywordtype">void</span> +<a name="l00134"></a><a class="code" href="classPercussionOnsetDetector.html#a9b1075e992cd9599764ef3881fb91d1a">00134</a> <a class="code" href="classPercussionOnsetDetector.html#a9b1075e992cd9599764ef3881fb91d1a" title="Reset the plugin after use, to prepare it for another clean run.">PercussionOnsetDetector::reset</a>() +<a name="l00135"></a>00135 { +<a name="l00136"></a>00136 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < <a class="code" href="classPercussionOnsetDetector.html#a920de543dbcf70a2edd80b5b31313285">m_blockSize</a>/2; ++i) { +<a name="l00137"></a>00137 <a class="code" href="classPercussionOnsetDetector.html#a30daa717267251a9d49afe57c328e989">m_priorMagnitudes</a>[i] = 0.f; +<a name="l00138"></a>00138 } +<a name="l00139"></a>00139 +<a name="l00140"></a>00140 <a class="code" href="classPercussionOnsetDetector.html#acd80162c65212be7fa91251263fb9c3d">m_dfMinus1</a> = 0.f; +<a name="l00141"></a>00141 <a class="code" href="classPercussionOnsetDetector.html#a6ad7d8353cc681ff42a63b127cca5779">m_dfMinus2</a> = 0.f; +<a name="l00142"></a>00142 } +<a name="l00143"></a>00143 +<a name="l00144"></a>00144 <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">PercussionOnsetDetector::ParameterList</a> +<a name="l00145"></a><a class="code" href="classPercussionOnsetDetector.html#abceae88cc9762b0ea310d7aad71de815">00145</a> <a class="code" href="classPercussionOnsetDetector.html#abceae88cc9762b0ea310d7aad71de815" title="Get the controllable parameters of this plugin.">PercussionOnsetDetector::getParameterDescriptors</a>()<span class="keyword"> const</span> +<a name="l00146"></a>00146 <span class="keyword"></span>{ +<a name="l00147"></a>00147 <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> list; +<a name="l00148"></a>00148 +<a name="l00149"></a>00149 <a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> d; +<a name="l00150"></a>00150 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a116fd9f0dc94c2bc4bbc60b5443c598c" title="The name of the parameter, in computer-usable form.">identifier</a> = <span class="stringliteral">"threshold"</span>; +<a name="l00151"></a>00151 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a0ecebb94fb4ada4aad2640e20aa57084" title="The human-readable name of the parameter.">name</a> = <span class="stringliteral">"Energy rise threshold"</span>; +<a name="l00152"></a>00152 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a780ddad41e433d85c82f9ea4d959cbaf" title="A human-readable short text describing the parameter.">description</a> = <span class="stringliteral">"Energy rise within a frequency bin necessary to count toward broadband total"</span>; +<a name="l00153"></a>00153 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a3bc3df322e4c02e17e96bc6d44982d7b" title="The unit of the parameter, in human-readable form.">unit</a> = <span class="stringliteral">"dB"</span>; +<a name="l00154"></a>00154 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab3e4d84f5bc199eea8b642b27e425ec8" title="The minimum value of the parameter.">minValue</a> = 0; +<a name="l00155"></a>00155 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab934b20dd708228a0e3c2811a3e2cec4" title="The maximum value of the parameter.">maxValue</a> = 20; +<a name="l00156"></a>00156 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#aec4ef77451ec02193ecc4a0856673fbc" title="The default value of the parameter.">defaultValue</a> = 3; +<a name="l00157"></a>00157 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a7c556d58d552f737ee5a34efdf7f9425" title="True if the parameter values are quantized to a particular resolution.">isQuantized</a> = <span class="keyword">false</span>; +<a name="l00158"></a>00158 list.push_back(d); +<a name="l00159"></a>00159 +<a name="l00160"></a>00160 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a116fd9f0dc94c2bc4bbc60b5443c598c" title="The name of the parameter, in computer-usable form.">identifier</a> = <span class="stringliteral">"sensitivity"</span>; +<a name="l00161"></a>00161 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a0ecebb94fb4ada4aad2640e20aa57084" title="The human-readable name of the parameter.">name</a> = <span class="stringliteral">"Sensitivity"</span>; +<a name="l00162"></a>00162 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a780ddad41e433d85c82f9ea4d959cbaf" title="A human-readable short text describing the parameter.">description</a> = <span class="stringliteral">"Sensitivity of peak detector applied to broadband detection function"</span>; +<a name="l00163"></a>00163 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a3bc3df322e4c02e17e96bc6d44982d7b" title="The unit of the parameter, in human-readable form.">unit</a> = <span class="stringliteral">"%"</span>; +<a name="l00164"></a>00164 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab3e4d84f5bc199eea8b642b27e425ec8" title="The minimum value of the parameter.">minValue</a> = 0; +<a name="l00165"></a>00165 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab934b20dd708228a0e3c2811a3e2cec4" title="The maximum value of the parameter.">maxValue</a> = 100; +<a name="l00166"></a>00166 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#aec4ef77451ec02193ecc4a0856673fbc" title="The default value of the parameter.">defaultValue</a> = 40; +<a name="l00167"></a>00167 d.<a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a7c556d58d552f737ee5a34efdf7f9425" title="True if the parameter values are quantized to a particular resolution.">isQuantized</a> = <span class="keyword">false</span>; +<a name="l00168"></a>00168 list.push_back(d); +<a name="l00169"></a>00169 +<a name="l00170"></a>00170 <span class="keywordflow">return</span> list; +<a name="l00171"></a>00171 } +<a name="l00172"></a>00172 +<a name="l00173"></a>00173 <span class="keywordtype">float</span> +<a name="l00174"></a><a class="code" href="classPercussionOnsetDetector.html#a9b28da8315fcde46ce7644d6592ba527">00174</a> <a class="code" href="classPercussionOnsetDetector.html#a9b28da8315fcde46ce7644d6592ba527" title="Get the value of a named parameter.">PercussionOnsetDetector::getParameter</a>(std::string <span class="keywordtype">id</span>)<span class="keyword"> const</span> +<a name="l00175"></a>00175 <span class="keyword"></span>{ +<a name="l00176"></a>00176 <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == <span class="stringliteral">"threshold"</span>) <span class="keywordflow">return</span> <a class="code" href="classPercussionOnsetDetector.html#ab04119adad56d87f2e633de289aab507">m_threshold</a>; +<a name="l00177"></a>00177 <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == <span class="stringliteral">"sensitivity"</span>) <span class="keywordflow">return</span> <a class="code" href="classPercussionOnsetDetector.html#a4e9770f246ba3bc75e7fc2cb8f9010af">m_sensitivity</a>; +<a name="l00178"></a>00178 <span class="keywordflow">return</span> 0.f; +<a name="l00179"></a>00179 } +<a name="l00180"></a>00180 +<a name="l00181"></a>00181 <span class="keywordtype">void</span> +<a name="l00182"></a><a class="code" href="classPercussionOnsetDetector.html#aa097d72488e1211f05fc661ff5c6dc01">00182</a> <a class="code" href="classPercussionOnsetDetector.html#aa097d72488e1211f05fc661ff5c6dc01" title="Set a named parameter.">PercussionOnsetDetector::setParameter</a>(std::string <span class="keywordtype">id</span>, <span class="keywordtype">float</span> value) +<a name="l00183"></a>00183 { +<a name="l00184"></a>00184 <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == <span class="stringliteral">"threshold"</span>) { +<a name="l00185"></a>00185 <span class="keywordflow">if</span> (value < 0) value = 0; +<a name="l00186"></a>00186 <span class="keywordflow">if</span> (value > 20) value = 20; +<a name="l00187"></a>00187 <a class="code" href="classPercussionOnsetDetector.html#ab04119adad56d87f2e633de289aab507">m_threshold</a> = value; +<a name="l00188"></a>00188 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keywordtype">id</span> == <span class="stringliteral">"sensitivity"</span>) { +<a name="l00189"></a>00189 <span class="keywordflow">if</span> (value < 0) value = 0; +<a name="l00190"></a>00190 <span class="keywordflow">if</span> (value > 100) value = 100; +<a name="l00191"></a>00191 <a class="code" href="classPercussionOnsetDetector.html#a4e9770f246ba3bc75e7fc2cb8f9010af">m_sensitivity</a> = value; +<a name="l00192"></a>00192 } +<a name="l00193"></a>00193 } +<a name="l00194"></a>00194 +<a name="l00195"></a>00195 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">PercussionOnsetDetector::OutputList</a> +<a name="l00196"></a><a class="code" href="classPercussionOnsetDetector.html#aa4537aa0eb58a67d6e824d46924cf782">00196</a> <a class="code" href="classPercussionOnsetDetector.html#aa4537aa0eb58a67d6e824d46924cf782" title="Get the outputs of this plugin.">PercussionOnsetDetector::getOutputDescriptors</a>()<span class="keyword"> const</span> +<a name="l00197"></a>00197 <span class="keyword"></span>{ +<a name="l00198"></a>00198 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> list; +<a name="l00199"></a>00199 +<a name="l00200"></a>00200 <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> d; +<a name="l00201"></a>00201 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b" title="The name of the output, in computer-usable form.">identifier</a> = <span class="stringliteral">"onsets"</span>; +<a name="l00202"></a>00202 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87" title="The human-readable name of the output.">name</a> = <span class="stringliteral">"Onsets"</span>; +<a name="l00203"></a>00203 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1" title="A human-readable short text describing the output.">description</a> = <span class="stringliteral">"Percussive note onset locations"</span>; +<a name="l00204"></a>00204 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4" title="The unit of the output, in human-readable form.">unit</a> = <span class="stringliteral">""</span>; +<a name="l00205"></a>00205 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d" title="True if the output has the same number of values per sample for every output sample.">hasFixedBinCount</a> = <span class="keyword">true</span>; +<a name="l00206"></a>00206 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc" title="The number of values per result of the output.">binCount</a> = 0; +<a name="l00207"></a>00207 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae9ccb65f99f477096b65dd031f4c5e31" title="True if the results in each output bin fall within a fixed numeric range (minimum and maximum values)...">hasKnownExtents</a> = <span class="keyword">false</span>; +<a name="l00208"></a>00208 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1b4858928d23bfd7d5bc557c82a83fb4" title="True if the output values are quantized to a particular resolution.">isQuantized</a> = <span class="keyword">false</span>; +<a name="l00209"></a>00209 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d" title="Positioning in time of the output results.">sampleType</a> = <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448cadea995a737867f7b22b52f1c43c5432e" title="Results are unevenly spaced and have individual timestamps.">OutputDescriptor::VariableSampleRate</a>; +<a name="l00210"></a>00210 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#add0cbbdfa9c91764037c39365b1d42af" title="Sample rate of the output results, as samples per second.">sampleRate</a> = <a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a>; +<a name="l00211"></a>00211 list.push_back(d); +<a name="l00212"></a>00212 +<a name="l00213"></a>00213 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b" title="The name of the output, in computer-usable form.">identifier</a> = <span class="stringliteral">"detectionfunction"</span>; +<a name="l00214"></a>00214 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87" title="The human-readable name of the output.">name</a> = <span class="stringliteral">"Detection Function"</span>; +<a name="l00215"></a>00215 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1" title="A human-readable short text describing the output.">description</a> = <span class="stringliteral">"Broadband energy rise detection function"</span>; +<a name="l00216"></a>00216 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc" title="The number of values per result of the output.">binCount</a> = 1; +<a name="l00217"></a>00217 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1b4858928d23bfd7d5bc557c82a83fb4" title="True if the output values are quantized to a particular resolution.">isQuantized</a> = <span class="keyword">true</span>; +<a name="l00218"></a>00218 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a3bed37153067b625b95acb40b60dbf0b" title="Quantization resolution of the output values (e.g.">quantizeStep</a> = 1.0; +<a name="l00219"></a>00219 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d" title="Positioning in time of the output results.">sampleType</a> = <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca0459d5d0d2198d21e8bc90abe4fdccca" title="Results from each process() align with that call's block start.">OutputDescriptor::OneSamplePerStep</a>; +<a name="l00220"></a>00220 list.push_back(d); +<a name="l00221"></a>00221 +<a name="l00222"></a>00222 <span class="keywordflow">return</span> list; +<a name="l00223"></a>00223 } +<a name="l00224"></a>00224 +<a name="l00225"></a>00225 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">PercussionOnsetDetector::FeatureSet</a> +<a name="l00226"></a><a class="code" href="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614">00226</a> <a class="code" href="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614" title="Process a single block of input data.">PercussionOnsetDetector::process</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, +<a name="l00227"></a>00227 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">Vamp::RealTime</a> ts) +<a name="l00228"></a>00228 { +<a name="l00229"></a>00229 <span class="keywordflow">if</span> (<a class="code" href="classPercussionOnsetDetector.html#aabac0cf7e961482b075777e5f0686e6c">m_stepSize</a> == 0) { +<a name="l00230"></a>00230 cerr << <span class="stringliteral">"ERROR: PercussionOnsetDetector::process: "</span> +<a name="l00231"></a>00231 << <span class="stringliteral">"PercussionOnsetDetector has not been initialised"</span> +<a name="l00232"></a>00232 << endl; +<a name="l00233"></a>00233 <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>(); +<a name="l00234"></a>00234 } +<a name="l00235"></a>00235 +<a name="l00236"></a>00236 <span class="keywordtype">int</span> count = 0; +<a name="l00237"></a>00237 +<a name="l00238"></a>00238 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 1; i < <a class="code" href="classPercussionOnsetDetector.html#a920de543dbcf70a2edd80b5b31313285">m_blockSize</a>/2; ++i) { +<a name="l00239"></a>00239 +<a name="l00240"></a>00240 <span class="keywordtype">float</span> real = inputBuffers[0][i*2]; +<a name="l00241"></a>00241 <span class="keywordtype">float</span> imag = inputBuffers[0][i*2 + 1]; +<a name="l00242"></a>00242 +<a name="l00243"></a>00243 <span class="keywordtype">float</span> sqrmag = real * real + imag * imag; +<a name="l00244"></a>00244 +<a name="l00245"></a>00245 <span class="keywordflow">if</span> (<a class="code" href="classPercussionOnsetDetector.html#a30daa717267251a9d49afe57c328e989">m_priorMagnitudes</a>[i] > 0.f) { +<a name="l00246"></a>00246 <span class="keywordtype">float</span> diff = 10.f * log10f(sqrmag / <a class="code" href="classPercussionOnsetDetector.html#a30daa717267251a9d49afe57c328e989">m_priorMagnitudes</a>[i]); +<a name="l00247"></a>00247 +<a name="l00248"></a>00248 <span class="comment">// std::cout << "i=" << i << ", sqrmag=" << sqrmag << ", prior=" << m_priorMagnitudes[i] << ", diff=" << diff << ", threshold=" << m_threshold << " " << (diff >= m_threshold ? "[*]" : "") << std::endl;</span> +<a name="l00249"></a>00249 +<a name="l00250"></a>00250 <span class="keywordflow">if</span> (diff >= <a class="code" href="classPercussionOnsetDetector.html#ab04119adad56d87f2e633de289aab507">m_threshold</a>) ++count; +<a name="l00251"></a>00251 } +<a name="l00252"></a>00252 +<a name="l00253"></a>00253 <a class="code" href="classPercussionOnsetDetector.html#a30daa717267251a9d49afe57c328e989">m_priorMagnitudes</a>[i] = sqrmag; +<a name="l00254"></a>00254 } +<a name="l00255"></a>00255 +<a name="l00256"></a>00256 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> returnFeatures; +<a name="l00257"></a>00257 +<a name="l00258"></a>00258 <a class="code" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> detectionFunction; +<a name="l00259"></a>00259 detectionFunction.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b" title="True if an output feature has its own timestamp.">hasTimestamp</a> = <span class="keyword">false</span>; +<a name="l00260"></a>00260 detectionFunction.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>.push_back(count); +<a name="l00261"></a>00261 returnFeatures[1].push_back(detectionFunction); +<a name="l00262"></a>00262 +<a name="l00263"></a>00263 <span class="keywordflow">if</span> (<a class="code" href="classPercussionOnsetDetector.html#a6ad7d8353cc681ff42a63b127cca5779">m_dfMinus2</a> < <a class="code" href="classPercussionOnsetDetector.html#acd80162c65212be7fa91251263fb9c3d">m_dfMinus1</a> && +<a name="l00264"></a>00264 <a class="code" href="classPercussionOnsetDetector.html#acd80162c65212be7fa91251263fb9c3d">m_dfMinus1</a> >= count && +<a name="l00265"></a>00265 <a class="code" href="classPercussionOnsetDetector.html#acd80162c65212be7fa91251263fb9c3d">m_dfMinus1</a> > ((100 - <a class="code" href="classPercussionOnsetDetector.html#a4e9770f246ba3bc75e7fc2cb8f9010af">m_sensitivity</a>) * <a class="code" href="classPercussionOnsetDetector.html#a920de543dbcf70a2edd80b5b31313285">m_blockSize</a>) / 200) { +<a name="l00266"></a>00266 +<a name="l00267"></a>00267 <span class="comment">//std::cout << "result at " << ts << "! (count == " << count << ", prev == " << m_dfMinus1 << ")" << std::endl;</span> +<a name="l00268"></a>00268 +<a name="l00269"></a>00269 <a class="code" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> onset; +<a name="l00270"></a>00270 onset.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b" title="True if an output feature has its own timestamp.">hasTimestamp</a> = <span class="keyword">true</span>; +<a name="l00271"></a>00271 onset.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#acaa605f36839c07e76f4882f5e22d8d7" title="Timestamp of the output feature.">timestamp</a> = ts - <a class="code" href="structVamp_1_1RealTime.html#a939b4b1d1ca190db69a418883f16ce8a" title="Convert a sample frame at the given sample rate into a RealTime.">Vamp::RealTime::frame2RealTime</a> +<a name="l00272"></a>00272 (<a class="code" href="classPercussionOnsetDetector.html#aabac0cf7e961482b075777e5f0686e6c">m_stepSize</a>, <span class="keywordtype">int</span>(<a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a> + 0.5)); +<a name="l00273"></a>00273 returnFeatures[0].push_back(onset); +<a name="l00274"></a>00274 } +<a name="l00275"></a>00275 +<a name="l00276"></a>00276 <a class="code" href="classPercussionOnsetDetector.html#a6ad7d8353cc681ff42a63b127cca5779">m_dfMinus2</a> = <a class="code" href="classPercussionOnsetDetector.html#acd80162c65212be7fa91251263fb9c3d">m_dfMinus1</a>; +<a name="l00277"></a>00277 <a class="code" href="classPercussionOnsetDetector.html#acd80162c65212be7fa91251263fb9c3d">m_dfMinus1</a> = count; +<a name="l00278"></a>00278 +<a name="l00279"></a>00279 <span class="keywordflow">return</span> returnFeatures; +<a name="l00280"></a>00280 } +<a name="l00281"></a>00281 +<a name="l00282"></a>00282 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">PercussionOnsetDetector::FeatureSet</a> +<a name="l00283"></a><a class="code" href="classPercussionOnsetDetector.html#ad3d6767ed137783e84f842b4d4732ffa">00283</a> <a class="code" href="classPercussionOnsetDetector.html#ad3d6767ed137783e84f842b4d4732ffa" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">PercussionOnsetDetector::getRemainingFeatures</a>() +<a name="l00284"></a>00284 { +<a name="l00285"></a>00285 <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>(); +<a name="l00286"></a>00286 } +<a name="l00287"></a>00287 +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PercussionOnsetDetector_8cpp.html">PercussionOnsetDetector.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PercussionOnsetDetector_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,102 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PercussionOnsetDetector.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PercussionOnsetDetector_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> </div> + <div class="headertitle"> +<div class="title">PercussionOnsetDetector.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="PercussionOnsetDetector_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Example plugin that detects percussive events. <a href="classPercussionOnsetDetector.html#details">More...</a><br/></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PercussionOnsetDetector_8h.html">PercussionOnsetDetector.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PercussionOnsetDetector_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,178 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PercussionOnsetDetector.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PercussionOnsetDetector_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PercussionOnsetDetector.h</div> </div> +</div> +<div class="contents"> +<a href="PercussionOnsetDetector_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _PERCUSSION_ONSET_DETECTOR_PLUGIN_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _PERCUSSION_ONSET_DETECTOR_PLUGIN_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="vamp-sdk_2Plugin_8h.html">vamp-sdk/Plugin.h</a>"</span> +<a name="l00041"></a>00041 +<a name="l00046"></a><a class="code" href="classPercussionOnsetDetector.html">00046</a> <span class="keyword">class </span><a class="code" href="classPercussionOnsetDetector.html" title="Example plugin that detects percussive events.">PercussionOnsetDetector</a> : <span class="keyword">public</span> Vamp::<a class="code" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a> +<a name="l00047"></a>00047 { +<a name="l00048"></a>00048 <span class="keyword">public</span>: +<a name="l00049"></a>00049 <a class="code" href="classPercussionOnsetDetector.html#a9f700579805ee5105758d847baab3511">PercussionOnsetDetector</a>(<span class="keywordtype">float</span> inputSampleRate); +<a name="l00050"></a>00050 <span class="keyword">virtual</span> <a class="code" href="classPercussionOnsetDetector.html#a99f833667cf8185e879d735216c7642b">~PercussionOnsetDetector</a>(); +<a name="l00051"></a>00051 +<a name="l00052"></a>00052 <span class="keywordtype">bool</span> <a class="code" href="classPercussionOnsetDetector.html#a349c528260622308f3850bcda8a448ab" title="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).">initialise</a>(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize); +<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="classPercussionOnsetDetector.html#a9b1075e992cd9599764ef3881fb91d1a" title="Reset the plugin after use, to prepare it for another clean run.">reset</a>(); +<a name="l00054"></a>00054 +<a name="l00055"></a><a class="code" href="classPercussionOnsetDetector.html#a4f6954267696ee5bfa7dd1c4a6cfa92a">00055</a> <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> <a class="code" href="classPercussionOnsetDetector.html#a4f6954267696ee5bfa7dd1c4a6cfa92a" title="Get the plugin's required input domain.">getInputDomain</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>; } +<a name="l00056"></a>00056 +<a name="l00057"></a>00057 std::string <a class="code" href="classPercussionOnsetDetector.html#a267c83a7533146c127e2c3be310e0154" title="Get the computer-usable name of the plugin.">getIdentifier</a>() <span class="keyword">const</span>; +<a name="l00058"></a>00058 std::string <a class="code" href="classPercussionOnsetDetector.html#aa98f1ad061a11af98c054011a8844e6f" title="Get a human-readable name or title of the plugin.">getName</a>() <span class="keyword">const</span>; +<a name="l00059"></a>00059 std::string <a class="code" href="classPercussionOnsetDetector.html#a9061d189705802a48973a7ccab6360db" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">getDescription</a>() <span class="keyword">const</span>; +<a name="l00060"></a>00060 std::string <a class="code" href="classPercussionOnsetDetector.html#a63d63f2cb7ea8d8b09d58cc13b541375" title="Get the name of the author or vendor of the plugin in human-readable form.">getMaker</a>() <span class="keyword">const</span>; +<a name="l00061"></a>00061 <span class="keywordtype">int</span> <a class="code" href="classPercussionOnsetDetector.html#ad6b818dbd81867ce7be71c99cae861be" title="Get the version number of the plugin.">getPluginVersion</a>() <span class="keyword">const</span>; +<a name="l00062"></a>00062 std::string <a class="code" href="classPercussionOnsetDetector.html#a1a22ece271330c94cc08798a77416351" title="Get the copyright statement or licensing summary for the plugin.">getCopyright</a>() <span class="keyword">const</span>; +<a name="l00063"></a>00063 +<a name="l00064"></a>00064 <span class="keywordtype">size_t</span> <a class="code" href="classPercussionOnsetDetector.html#a733824891e11c306a7a678534b89b968" title="Get the preferred step size (window increment -- the distance in sample frames between the start fram...">getPreferredStepSize</a>() <span class="keyword">const</span>; +<a name="l00065"></a>00065 <span class="keywordtype">size_t</span> <a class="code" href="classPercussionOnsetDetector.html#a410c0b47c6c849d7ed9b726b84402ad0" title="Get the preferred block size (window size -- the number of sample frames passed in each block to the ...">getPreferredBlockSize</a>() <span class="keyword">const</span>; +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> <a class="code" href="classPercussionOnsetDetector.html#abceae88cc9762b0ea310d7aad71de815" title="Get the controllable parameters of this plugin.">getParameterDescriptors</a>() <span class="keyword">const</span>; +<a name="l00068"></a>00068 <span class="keywordtype">float</span> <a class="code" href="classPercussionOnsetDetector.html#a9b28da8315fcde46ce7644d6592ba527" title="Get the value of a named parameter.">getParameter</a>(std::string <span class="keywordtype">id</span>) <span class="keyword">const</span>; +<a name="l00069"></a>00069 <span class="keywordtype">void</span> <a class="code" href="classPercussionOnsetDetector.html#aa097d72488e1211f05fc661ff5c6dc01" title="Set a named parameter.">setParameter</a>(std::string <span class="keywordtype">id</span>, <span class="keywordtype">float</span> value); +<a name="l00070"></a>00070 +<a name="l00071"></a>00071 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> <a class="code" href="classPercussionOnsetDetector.html#aa4537aa0eb58a67d6e824d46924cf782" title="Get the outputs of this plugin.">getOutputDescriptors</a>() <span class="keyword">const</span>; +<a name="l00072"></a>00072 +<a name="l00073"></a>00073 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="code" href="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614" title="Process a single block of input data.">process</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, +<a name="l00074"></a>00074 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">Vamp::RealTime</a> timestamp); +<a name="l00075"></a>00075 +<a name="l00076"></a>00076 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="code" href="classPercussionOnsetDetector.html#ad3d6767ed137783e84f842b4d4732ffa" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">getRemainingFeatures</a>(); +<a name="l00077"></a>00077 +<a name="l00078"></a>00078 <span class="keyword">protected</span>: +<a name="l00079"></a><a class="code" href="classPercussionOnsetDetector.html#aabac0cf7e961482b075777e5f0686e6c">00079</a> <span class="keywordtype">size_t</span> <a class="code" href="classPercussionOnsetDetector.html#aabac0cf7e961482b075777e5f0686e6c">m_stepSize</a>; +<a name="l00080"></a><a class="code" href="classPercussionOnsetDetector.html#a920de543dbcf70a2edd80b5b31313285">00080</a> <span class="keywordtype">size_t</span> <a class="code" href="classPercussionOnsetDetector.html#a920de543dbcf70a2edd80b5b31313285">m_blockSize</a>; +<a name="l00081"></a>00081 +<a name="l00082"></a><a class="code" href="classPercussionOnsetDetector.html#ab04119adad56d87f2e633de289aab507">00082</a> <span class="keywordtype">float</span> <a class="code" href="classPercussionOnsetDetector.html#ab04119adad56d87f2e633de289aab507">m_threshold</a>; +<a name="l00083"></a><a class="code" href="classPercussionOnsetDetector.html#a4e9770f246ba3bc75e7fc2cb8f9010af">00083</a> <span class="keywordtype">float</span> <a class="code" href="classPercussionOnsetDetector.html#a4e9770f246ba3bc75e7fc2cb8f9010af">m_sensitivity</a>; +<a name="l00084"></a><a class="code" href="classPercussionOnsetDetector.html#a30daa717267251a9d49afe57c328e989">00084</a> <span class="keywordtype">float</span> *<a class="code" href="classPercussionOnsetDetector.html#a30daa717267251a9d49afe57c328e989">m_priorMagnitudes</a>; +<a name="l00085"></a><a class="code" href="classPercussionOnsetDetector.html#acd80162c65212be7fa91251263fb9c3d">00085</a> <span class="keywordtype">float</span> <a class="code" href="classPercussionOnsetDetector.html#acd80162c65212be7fa91251263fb9c3d">m_dfMinus1</a>; +<a name="l00086"></a><a class="code" href="classPercussionOnsetDetector.html#a6ad7d8353cc681ff42a63b127cca5779">00086</a> <span class="keywordtype">float</span> <a class="code" href="classPercussionOnsetDetector.html#a6ad7d8353cc681ff42a63b127cca5779">m_dfMinus2</a>; +<a name="l00087"></a>00087 }; +<a name="l00088"></a>00088 +<a name="l00089"></a>00089 +<a name="l00090"></a>00090 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PercussionOnsetDetector_8h.html">PercussionOnsetDetector.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginAdapter_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,108 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginAdapter.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginAdapter_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#namespaces">Namespaces</a> </div> + <div class="headertitle"> +<div class="title">PluginAdapter.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="PluginAdapter_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html">Vamp::PluginAdapterBase</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">PluginAdapter</a> and <a class="el" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a> provide a wrapper class that a plugin library can use to make its C++ <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> objects available through the <a class="el" href="namespaceVamp.html">Vamp</a> C API. <a href="classVamp_1_1PluginAdapterBase.html#details">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter< P ></a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">PluginAdapter</a> turns a <a class="el" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a> into a specific wrapper for a particular plugin implementation. <a href="classVamp_1_1PluginAdapter.html#details">More...</a><br/></td></tr> +<tr><td colspan="2"><h2><a name="namespaces"></a> +Namespaces</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp.html">Vamp</a></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginAdapter_8h.html">PluginAdapter.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginAdapter_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,185 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginAdapter.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginAdapter_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PluginAdapter.h</div> </div> +</div> +<div class="contents"> +<a href="PluginAdapter_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_PLUGIN_ADAPTER_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_PLUGIN_ADAPTER_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include <map></span> +<a name="l00041"></a>00041 <span class="preprocessor">#include <<a class="code" href="vamp_8h.html">vamp/vamp.h</a>></span> +<a name="l00042"></a>00042 +<a name="l00043"></a>00043 <span class="preprocessor">#include "Plugin.h"</span> +<a name="l00044"></a>00044 +<a name="l00045"></a>00045 <span class="preprocessor">#include "<a class="code" href="plugguard_8h.html">plugguard.h</a>"</span> +<a name="l00046"></a>00046 <a class="code" href="plugguard_8h.html#a1a2724ea453971288d3218e4eab3072c">_VAMP_SDK_PLUGSPACE_BEGIN</a>(PluginAdapter.h) +<a name="l00047"></a>00047 +<a name="l00048"></a>00048 namespace Vamp { +<a name="l00049"></a>00049 +<a name="l00065"></a><a class="code" href="classVamp_1_1PluginAdapterBase.html">00065</a> <span class="keyword">class </span><a class="code" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a> +<a name="l00066"></a>00066 { +<a name="l00067"></a>00067 <span class="keyword">public</span>: +<a name="l00068"></a>00068 <span class="keyword">virtual</span> ~<a class="code" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a>(); +<a name="l00069"></a>00069 +<a name="l00074"></a>00074 <span class="keyword">const</span> <a class="code" href="struct__VampPluginDescriptor.html">VampPluginDescriptor</a> *getDescriptor(); +<a name="l00075"></a>00075 +<a name="l00076"></a>00076 <span class="keyword">protected</span>: +<a name="l00077"></a>00077 <a class="code" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a>(); +<a name="l00078"></a>00078 +<a name="l00079"></a>00079 <span class="keyword">virtual</span> <a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> *createPlugin(<span class="keywordtype">float</span> inputSampleRate) = 0; +<a name="l00080"></a>00080 +<a name="l00081"></a><a class="code" href="classVamp_1_1PluginAdapterBase.html#a0e3594c54884efd5a7ef38030645745b">00081</a> <span class="keyword">class </span>Impl; +<a name="l00082"></a>00082 Impl *<a class="code" href="classVamp_1_1PluginAdapterBase.html#a0e3594c54884efd5a7ef38030645745b">m_impl</a>; +<a name="l00083"></a>00083 }; +<a name="l00084"></a>00084 +<a name="l00094"></a>00094 <span class="keyword">template</span> <<span class="keyword">typename</span> P> +<a name="l00095"></a><a class="code" href="classVamp_1_1PluginAdapter.html">00095</a> <span class="keyword">class </span><a class="code" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">PluginAdapter</a> : <span class="keyword">public</span> <a class="code" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a> +<a name="l00096"></a>00096 { +<a name="l00097"></a>00097 <span class="keyword">public</span>: +<a name="l00098"></a><a class="code" href="classVamp_1_1PluginAdapter.html#a16312efd629b7063d7b6d67889a2c15a">00098</a> <a class="code" href="classVamp_1_1PluginAdapter.html#a16312efd629b7063d7b6d67889a2c15a">PluginAdapter</a>() : <a class="code" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a>() { } +<a name="l00099"></a><a class="code" href="classVamp_1_1PluginAdapter.html#a9612c9df7d4844959a36921d43d4bd50">00099</a> <span class="keyword">virtual</span> <a class="code" href="classVamp_1_1PluginAdapter.html#a9612c9df7d4844959a36921d43d4bd50">~PluginAdapter</a>() { } +<a name="l00100"></a>00100 +<a name="l00101"></a>00101 <span class="keyword">protected</span>: +<a name="l00102"></a><a class="code" href="classVamp_1_1PluginAdapter.html#a3f387e7e37409e00d32477903b5b13d3">00102</a> <a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> *<a class="code" href="classVamp_1_1PluginAdapter.html#a3f387e7e37409e00d32477903b5b13d3">createPlugin</a>(<span class="keywordtype">float</span> inputSampleRate) { +<a name="l00103"></a>00103 P *p = <span class="keyword">new</span> P(inputSampleRate); +<a name="l00104"></a>00104 <a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> *plugin = <span class="keyword">dynamic_cast<</span><a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> *<span class="keyword">></span>(p); +<a name="l00105"></a>00105 <span class="keywordflow">if</span> (!plugin) { +<a name="l00106"></a>00106 std::cerr << <span class="stringliteral">"ERROR: PluginAdapter::createPlugin: "</span> +<a name="l00107"></a>00107 << <span class="stringliteral">"Template type is not a plugin!"</span> +<a name="l00108"></a>00108 << std::endl; +<a name="l00109"></a>00109 <span class="keyword">delete</span> p; +<a name="l00110"></a>00110 <span class="keywordflow">return</span> 0; +<a name="l00111"></a>00111 } +<a name="l00112"></a>00112 <span class="keywordflow">return</span> plugin; +<a name="l00113"></a>00113 } +<a name="l00114"></a>00114 }; +<a name="l00115"></a>00115 +<a name="l00116"></a>00116 } +<a name="l00117"></a>00117 +<a name="l00118"></a>00118 <a class="code" href="plugguard_8h.html#ac879bb1077ecc6132ea3581ef9033753">_VAMP_SDK_PLUGSPACE_END</a>(PluginAdapter.h) +<a name="l00119"></a>00119 +<a name="l00120"></a>00120 <span class="preprocessor">#endif</span> +<a name="l00121"></a>00121 <span class="preprocessor"></span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginAdapter_8h.html">PluginAdapter.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginBufferingAdapter_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,107 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginBufferingAdapter.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginBufferingAdapter_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#namespaces">Namespaces</a> </div> + <div class="headertitle"> +<div class="title">PluginBufferingAdapter.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="PluginBufferingAdapter_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that allows plugins to be used by a host supplying an audio stream in non-overlapping buffers of arbitrary size. <a href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#details">More...</a><br/></td></tr> +<tr><td colspan="2"><h2><a name="namespaces"></a> +Namespaces</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp.html">Vamp</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp_1_1HostExt.html">Vamp::HostExt</a></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginBufferingAdapter_8h.html">PluginBufferingAdapter.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginBufferingAdapter_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,186 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginBufferingAdapter.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginBufferingAdapter_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PluginBufferingAdapter.h</div> </div> +</div> +<div class="contents"> +<a href="PluginBufferingAdapter_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006-2009 Chris Cannam and QMUL.</span> +<a name="l00010"></a>00010 <span class="comment"> This file by Mark Levy and Chris Cannam, Copyright 2007-2008 QMUL.</span> +<a name="l00011"></a>00011 <span class="comment"> </span> +<a name="l00012"></a>00012 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00013"></a>00013 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00014"></a>00014 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00015"></a>00015 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00016"></a>00016 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00017"></a>00017 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00018"></a>00018 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00019"></a>00019 <span class="comment"></span> +<a name="l00020"></a>00020 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00021"></a>00021 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00022"></a>00022 <span class="comment"></span> +<a name="l00023"></a>00023 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00024"></a>00024 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00025"></a>00025 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00026"></a>00026 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00027"></a>00027 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00028"></a>00028 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00029"></a>00029 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00030"></a>00030 <span class="comment"></span> +<a name="l00031"></a>00031 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00032"></a>00032 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00033"></a>00033 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00034"></a>00034 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00035"></a>00035 <span class="comment"> authorization.</span> +<a name="l00036"></a>00036 <span class="comment">*/</span> +<a name="l00037"></a>00037 +<a name="l00038"></a>00038 <span class="preprocessor">#ifndef _VAMP_PLUGIN_BUFFERING_ADAPTER_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_PLUGIN_BUFFERING_ADAPTER_H_</span> +<a name="l00040"></a>00040 <span class="preprocessor"></span> +<a name="l00041"></a>00041 <span class="preprocessor">#include "<a class="code" href="hostguard_8h.html">hostguard.h</a>"</span> +<a name="l00042"></a>00042 <span class="preprocessor">#include "<a class="code" href="PluginWrapper_8h.html">PluginWrapper.h</a>"</span> +<a name="l00043"></a>00043 +<a name="l00044"></a>00044 <a class="code" href="hostguard_8h.html#aef42eae5f1b0b897d8dac58cd54afbcd">_VAMP_SDK_HOSTSPACE_BEGIN</a>(PluginBufferingAdapter.h) +<a name="l00045"></a>00045 +<a name="l00046"></a>00046 namespace Vamp { +<a name="l00047"></a>00047 +<a name="l00048"></a><a class="code" href="namespaceVamp_1_1HostExt.html">00048</a> <span class="keyword">namespace </span>HostExt { +<a name="l00049"></a>00049 +<a name="l00075"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">00075</a> <span class="keyword">class </span><a class="code" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a> : <span class="keyword">public</span> <a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a> +<a name="l00076"></a>00076 { +<a name="l00077"></a>00077 <span class="keyword">public</span>: +<a name="l00083"></a>00083 <a class="code" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a>(<a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> *plugin); +<a name="l00084"></a>00084 <span class="keyword">virtual</span> ~<a class="code" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a>(); +<a name="l00085"></a>00085 +<a name="l00095"></a>00095 <span class="keywordtype">size_t</span> getPreferredStepSize() <span class="keyword">const</span>; +<a name="l00096"></a>00096 +<a name="l00107"></a>00107 <span class="keywordtype">size_t</span> getPreferredBlockSize() <span class="keyword">const</span>; +<a name="l00108"></a>00108 +<a name="l00118"></a>00118 <span class="keywordtype">bool</span> initialise(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize); +<a name="l00119"></a>00119 +<a name="l00131"></a>00131 <span class="keywordtype">size_t</span> getPluginPreferredStepSize() <span class="keyword">const</span>; +<a name="l00132"></a>00132 +<a name="l00139"></a>00139 <span class="keywordtype">size_t</span> getPluginPreferredBlockSize() <span class="keyword">const</span>; +<a name="l00140"></a>00140 +<a name="l00148"></a>00148 <span class="keywordtype">void</span> setPluginStepSize(<span class="keywordtype">size_t</span> stepSize); +<a name="l00149"></a>00149 +<a name="l00157"></a>00157 <span class="keywordtype">void</span> setPluginBlockSize(<span class="keywordtype">size_t</span> blockSize); +<a name="l00158"></a>00158 +<a name="l00170"></a>00170 <span class="keywordtype">void</span> getActualStepAndBlockSizes(<span class="keywordtype">size_t</span> &stepSize, <span class="keywordtype">size_t</span> &blockSize); +<a name="l00171"></a>00171 +<a name="l00172"></a>00172 <span class="keywordtype">void</span> setParameter(std::string, <span class="keywordtype">float</span>); +<a name="l00173"></a>00173 <span class="keywordtype">void</span> selectProgram(std::string); +<a name="l00174"></a>00174 +<a name="l00175"></a>00175 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> getOutputDescriptors() <span class="keyword">const</span>; +<a name="l00176"></a>00176 +<a name="l00177"></a>00177 <span class="keywordtype">void</span> reset(); +<a name="l00178"></a>00178 +<a name="l00179"></a>00179 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> process(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> timestamp); +<a name="l00180"></a>00180 +<a name="l00181"></a>00181 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> getRemainingFeatures(); +<a name="l00182"></a>00182 +<a name="l00183"></a>00183 <span class="keyword">protected</span>: +<a name="l00184"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a51e10c9c63c0349fd74c6d604de5554e">00184</a> <span class="keyword">class </span>Impl; +<a name="l00185"></a>00185 Impl *<a class="code" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a51e10c9c63c0349fd74c6d604de5554e">m_impl</a>; +<a name="l00186"></a>00186 }; +<a name="l00187"></a>00187 +<a name="l00188"></a>00188 } +<a name="l00189"></a>00189 +<a name="l00190"></a>00190 } +<a name="l00191"></a>00191 +<a name="l00192"></a>00192 <a class="code" href="hostguard_8h.html#a0e6efdc2909bdb0cfab70e087d91b171">_VAMP_SDK_HOSTSPACE_END</a>(PluginBufferingAdapter.h) +<a name="l00193"></a>00193 +<a name="l00194"></a>00194 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginBufferingAdapter_8h.html">PluginBufferingAdapter.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginChannelAdapter_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,107 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginChannelAdapter.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginChannelAdapter_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#namespaces">Namespaces</a> </div> + <div class="headertitle"> +<div class="title">PluginChannelAdapter.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="PluginChannelAdapter_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html">Vamp::HostExt::PluginChannelAdapter</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that implements a policy for management of plugins that expect a different number of input channels from the number actually available in the source audio data. <a href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#details">More...</a><br/></td></tr> +<tr><td colspan="2"><h2><a name="namespaces"></a> +Namespaces</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp.html">Vamp</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp_1_1HostExt.html">Vamp::HostExt</a></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginChannelAdapter_8h.html">PluginChannelAdapter.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginChannelAdapter_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,164 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginChannelAdapter.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginChannelAdapter_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PluginChannelAdapter.h</div> </div> +</div> +<div class="contents"> +<a href="PluginChannelAdapter_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006-2009 Chris Cannam and QMUL.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_PLUGIN_CHANNEL_ADAPTER_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_PLUGIN_CHANNEL_ADAPTER_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="hostguard_8h.html">hostguard.h</a>"</span> +<a name="l00041"></a>00041 <span class="preprocessor">#include "<a class="code" href="PluginWrapper_8h.html">PluginWrapper.h</a>"</span> +<a name="l00042"></a>00042 +<a name="l00043"></a>00043 <a class="code" href="hostguard_8h.html#aef42eae5f1b0b897d8dac58cd54afbcd">_VAMP_SDK_HOSTSPACE_BEGIN</a>(PluginChannelAdapter.h) +<a name="l00044"></a>00044 +<a name="l00045"></a>00045 namespace Vamp { +<a name="l00046"></a>00046 +<a name="l00047"></a>00047 <span class="keyword">namespace </span>HostExt { +<a name="l00048"></a>00048 +<a name="l00112"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html">00112</a> <span class="keyword">class </span><a class="code" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> : <span class="keyword">public</span> <a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a> +<a name="l00113"></a>00113 { +<a name="l00114"></a>00114 <span class="keyword">public</span>: +<a name="l00120"></a>00120 <a class="code" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a>(<a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> *plugin); +<a name="l00121"></a>00121 <span class="keyword">virtual</span> ~<a class="code" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a>(); +<a name="l00122"></a>00122 +<a name="l00123"></a>00123 <span class="keywordtype">bool</span> initialise(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize); +<a name="l00124"></a>00124 +<a name="l00125"></a>00125 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> process(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> timestamp); +<a name="l00126"></a>00126 +<a name="l00136"></a>00136 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> processInterleaved(<span class="keyword">const</span> <span class="keywordtype">float</span> *inputBuffer, <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> timestamp); +<a name="l00137"></a>00137 +<a name="l00138"></a>00138 <span class="keyword">protected</span>: +<a name="l00139"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ae3a74a2e6c4cd33dce9f4248e73c6701">00139</a> <span class="keyword">class </span>Impl; +<a name="l00140"></a>00140 Impl *<a class="code" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ae3a74a2e6c4cd33dce9f4248e73c6701">m_impl</a>; +<a name="l00141"></a>00141 }; +<a name="l00142"></a>00142 +<a name="l00143"></a>00143 } +<a name="l00144"></a>00144 +<a name="l00145"></a>00145 } +<a name="l00146"></a>00146 +<a name="l00147"></a>00147 <a class="code" href="hostguard_8h.html#a0e6efdc2909bdb0cfab70e087d91b171">_VAMP_SDK_HOSTSPACE_END</a>(PluginChannelAdapter.h) +<a name="l00148"></a>00148 +<a name="l00149"></a>00149 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginChannelAdapter_8h.html">PluginChannelAdapter.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginHostAdapter_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,106 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginHostAdapter.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginHostAdapter_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#namespaces">Namespaces</a> </div> + <div class="headertitle"> +<div class="title">PluginHostAdapter.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="PluginHostAdapter_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri...">PluginHostAdapter</a> is a wrapper class that a <a class="el" href="namespaceVamp.html">Vamp</a> host can use to make the C-language VampPluginDescriptor object appear as a C++ <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> object. <a href="classVamp_1_1PluginHostAdapter.html#details">More...</a><br/></td></tr> +<tr><td colspan="2"><h2><a name="namespaces"></a> +Namespaces</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp.html">Vamp</a></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginHostAdapter_8h.html">PluginHostAdapter.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginHostAdapter_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,198 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginHostAdapter.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginHostAdapter_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PluginHostAdapter.h</div> </div> +</div> +<div class="contents"> +<a href="PluginHostAdapter_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_PLUGIN_HOST_ADAPTER_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_PLUGIN_HOST_ADAPTER_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="hostguard_8h.html">hostguard.h</a>"</span> +<a name="l00041"></a>00041 <span class="preprocessor">#include "Plugin.h"</span> +<a name="l00042"></a>00042 +<a name="l00043"></a>00043 <span class="preprocessor">#include <<a class="code" href="vamp_8h.html">vamp/vamp.h</a>></span> +<a name="l00044"></a>00044 +<a name="l00045"></a>00045 <span class="preprocessor">#include <vector></span> +<a name="l00046"></a>00046 +<a name="l00047"></a>00047 <a class="code" href="hostguard_8h.html#aef42eae5f1b0b897d8dac58cd54afbcd">_VAMP_SDK_HOSTSPACE_BEGIN</a>(PluginHostAdapter.h) +<a name="l00048"></a>00048 +<a name="l00049"></a>00049 namespace Vamp { +<a name="l00050"></a>00050 +<a name="l00068"></a><a class="code" href="classVamp_1_1PluginHostAdapter.html">00068</a> <span class="keyword">class </span><a class="code" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri...">PluginHostAdapter</a> : <span class="keyword">public</span> <a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> +<a name="l00069"></a>00069 { +<a name="l00070"></a>00070 <span class="keyword">public</span>: +<a name="l00071"></a>00071 <a class="code" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri...">PluginHostAdapter</a>(<span class="keyword">const</span> <a class="code" href="struct__VampPluginDescriptor.html">VampPluginDescriptor</a> *descriptor, +<a name="l00072"></a>00072 <span class="keywordtype">float</span> inputSampleRate); +<a name="l00073"></a>00073 <span class="keyword">virtual</span> ~<a class="code" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri...">PluginHostAdapter</a>(); +<a name="l00074"></a>00074 +<a name="l00075"></a>00075 <span class="keyword">static</span> std::vector<std::string> getPluginPath(); +<a name="l00076"></a>00076 +<a name="l00077"></a>00077 <span class="keywordtype">bool</span> initialise(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize); +<a name="l00078"></a>00078 <span class="keywordtype">void</span> reset(); +<a name="l00079"></a>00079 +<a name="l00080"></a>00080 <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> getInputDomain() <span class="keyword">const</span>; +<a name="l00081"></a>00081 +<a name="l00082"></a>00082 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> getVampApiVersion() <span class="keyword">const</span>; +<a name="l00083"></a>00083 std::string getIdentifier() <span class="keyword">const</span>; +<a name="l00084"></a>00084 std::string getName() <span class="keyword">const</span>; +<a name="l00085"></a>00085 std::string getDescription() <span class="keyword">const</span>; +<a name="l00086"></a>00086 std::string getMaker() <span class="keyword">const</span>; +<a name="l00087"></a>00087 <span class="keywordtype">int</span> getPluginVersion() <span class="keyword">const</span>; +<a name="l00088"></a>00088 std::string getCopyright() <span class="keyword">const</span>; +<a name="l00089"></a>00089 +<a name="l00090"></a>00090 <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> getParameterDescriptors() <span class="keyword">const</span>; +<a name="l00091"></a>00091 <span class="keywordtype">float</span> getParameter(std::string) <span class="keyword">const</span>; +<a name="l00092"></a>00092 <span class="keywordtype">void</span> setParameter(std::string, <span class="keywordtype">float</span>); +<a name="l00093"></a>00093 +<a name="l00094"></a>00094 <a class="code" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> getPrograms() <span class="keyword">const</span>; +<a name="l00095"></a>00095 std::string getCurrentProgram() <span class="keyword">const</span>; +<a name="l00096"></a>00096 <span class="keywordtype">void</span> selectProgram(std::string); +<a name="l00097"></a>00097 +<a name="l00098"></a>00098 <span class="keywordtype">size_t</span> getPreferredStepSize() <span class="keyword">const</span>; +<a name="l00099"></a>00099 <span class="keywordtype">size_t</span> getPreferredBlockSize() <span class="keyword">const</span>; +<a name="l00100"></a>00100 +<a name="l00101"></a>00101 <span class="keywordtype">size_t</span> getMinChannelCount() <span class="keyword">const</span>; +<a name="l00102"></a>00102 <span class="keywordtype">size_t</span> getMaxChannelCount() <span class="keyword">const</span>; +<a name="l00103"></a>00103 +<a name="l00104"></a>00104 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> getOutputDescriptors() <span class="keyword">const</span>; +<a name="l00105"></a>00105 +<a name="l00106"></a>00106 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> process(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> timestamp); +<a name="l00107"></a>00107 +<a name="l00108"></a>00108 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> getRemainingFeatures(); +<a name="l00109"></a>00109 +<a name="l00110"></a>00110 <span class="keyword">protected</span>: +<a name="l00111"></a>00111 <span class="keywordtype">void</span> convertFeatures(<a class="code" href="struct__VampFeatureList.html">VampFeatureList</a> *, <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> &); +<a name="l00112"></a>00112 +<a name="l00113"></a><a class="code" href="classVamp_1_1PluginHostAdapter.html#a0c9f252aca8ac298e30cadd0de032ec2">00113</a> <span class="keyword">const</span> <a class="code" href="struct__VampPluginDescriptor.html">VampPluginDescriptor</a> *<a class="code" href="classVamp_1_1PluginHostAdapter.html#a0c9f252aca8ac298e30cadd0de032ec2">m_descriptor</a>; +<a name="l00114"></a><a class="code" href="classVamp_1_1PluginHostAdapter.html#a02ebd03b226b4a467cad747ce77e79ee">00114</a> <a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a> <a class="code" href="classVamp_1_1PluginHostAdapter.html#a02ebd03b226b4a467cad747ce77e79ee">m_handle</a>; +<a name="l00115"></a>00115 }; +<a name="l00116"></a>00116 +<a name="l00117"></a>00117 } +<a name="l00118"></a>00118 +<a name="l00119"></a>00119 <a class="code" href="hostguard_8h.html#a0e6efdc2909bdb0cfab70e087d91b171">_VAMP_SDK_HOSTSPACE_END</a>(PluginHostAdapter.h) +<a name="l00120"></a>00120 +<a name="l00121"></a>00121 <span class="preprocessor">#endif</span> +<a name="l00122"></a>00122 <span class="preprocessor"></span> +<a name="l00123"></a>00123 +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginHostAdapter_8h.html">PluginHostAdapter.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginInputDomainAdapter_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,107 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginInputDomainAdapter.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginInputDomainAdapter_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#namespaces">Namespaces</a> </div> + <div class="headertitle"> +<div class="title">PluginInputDomainAdapter.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="PluginInputDomainAdapter_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that converts time-domain input into frequency-domain input for plugins that need it. <a href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#details">More...</a><br/></td></tr> +<tr><td colspan="2"><h2><a name="namespaces"></a> +Namespaces</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp.html">Vamp</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp_1_1HostExt.html">Vamp::HostExt</a></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginInputDomainAdapter_8h.html">PluginInputDomainAdapter.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginInputDomainAdapter_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,204 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginInputDomainAdapter.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginInputDomainAdapter_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PluginInputDomainAdapter.h</div> </div> +</div> +<div class="contents"> +<a href="PluginInputDomainAdapter_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006-2009 Chris Cannam and QMUL.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_PLUGIN_INPUT_DOMAIN_ADAPTER_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_PLUGIN_INPUT_DOMAIN_ADAPTER_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="hostguard_8h.html">hostguard.h</a>"</span> +<a name="l00041"></a>00041 <span class="preprocessor">#include "<a class="code" href="PluginWrapper_8h.html">PluginWrapper.h</a>"</span> +<a name="l00042"></a>00042 +<a name="l00043"></a>00043 <a class="code" href="hostguard_8h.html#aef42eae5f1b0b897d8dac58cd54afbcd">_VAMP_SDK_HOSTSPACE_BEGIN</a>(PluginInputDomainAdapter.h) +<a name="l00044"></a>00044 +<a name="l00045"></a>00045 namespace Vamp { +<a name="l00046"></a>00046 +<a name="l00047"></a>00047 <span class="keyword">namespace </span>HostExt { +<a name="l00048"></a>00048 +<a name="l00087"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">00087</a> <span class="keyword">class </span><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> : <span class="keyword">public</span> <a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a> +<a name="l00088"></a>00088 { +<a name="l00089"></a>00089 <span class="keyword">public</span>: +<a name="l00095"></a>00095 <a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a>(<a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> *plugin); +<a name="l00096"></a>00096 <span class="keyword">virtual</span> ~<a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a>(); +<a name="l00097"></a>00097 +<a name="l00098"></a>00098 <span class="keywordtype">bool</span> initialise(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize); +<a name="l00099"></a>00099 <span class="keywordtype">void</span> reset(); +<a name="l00100"></a>00100 +<a name="l00101"></a>00101 <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> getInputDomain() <span class="keyword">const</span>; +<a name="l00102"></a>00102 +<a name="l00103"></a>00103 <span class="keywordtype">size_t</span> getPreferredStepSize() <span class="keyword">const</span>; +<a name="l00104"></a>00104 <span class="keywordtype">size_t</span> getPreferredBlockSize() <span class="keyword">const</span>; +<a name="l00105"></a>00105 +<a name="l00106"></a>00106 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> process(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> timestamp); +<a name="l00107"></a>00107 +<a name="l00142"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577">00142</a> <span class="keyword">enum</span> <a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577" title="ProcessTimestampMethod determines how the PluginInputDomainAdapter handles timestamps for the data pa...">ProcessTimestampMethod</a> { +<a name="l00143"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577afcf39fe57ba29a908d4877c21de145dd">00143</a> <a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577afcf39fe57ba29a908d4877c21de145dd">ShiftTimestamp</a>, +<a name="l00144"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577a0838ff456d829e9096b5d968e6c55152">00144</a> <a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577a0838ff456d829e9096b5d968e6c55152">ShiftData</a>, +<a name="l00145"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577ab06e8c6824802978d0be4074a556b297">00145</a> NoShift +<a name="l00146"></a>00146 }; +<a name="l00147"></a>00147 +<a name="l00156"></a>00156 <span class="keywordtype">void</span> setProcessTimestampMethod(ProcessTimestampMethod); +<a name="l00157"></a>00157 +<a name="l00163"></a>00163 ProcessTimestampMethod getProcessTimestampMethod() <span class="keyword">const</span>; +<a name="l00164"></a>00164 +<a name="l00190"></a>00190 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> getTimestampAdjustment() <span class="keyword">const</span>; +<a name="l00191"></a>00191 +<a name="l00195"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dc">00195</a> <span class="keyword">enum</span> <a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dc" title="The set of supported window shapes.">WindowType</a> { +<a name="l00196"></a>00196 +<a name="l00197"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca99b08cf7a7f4a1b52a09044ea12c6324">00197</a> RectangularWindow = 0, +<a name="l00198"></a>00198 +<a name="l00199"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca77fd88a7d94fcd9c6c4aef30b86f077d">00199</a> BartlettWindow = 1, +<a name="l00200"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcaae5133bd639336a5c31378f4c2939d42">00200</a> TriangularWindow = 1, +<a name="l00201"></a>00201 +<a name="l00202"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca9d522bff8d5884a8ba57d5a8c7e113c8">00202</a> HammingWindow = 2, +<a name="l00203"></a>00203 +<a name="l00204"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcacad78947b6c8db20feb5ddf208ac1108">00204</a> HanningWindow = 3, +<a name="l00205"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcadc87b20cfb5f1ddd23ebc281e3e47916">00205</a> HannWindow = 3, +<a name="l00206"></a>00206 +<a name="l00207"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca2e298b1bee28272721953b2921891da6">00207</a> BlackmanWindow = 4, +<a name="l00208"></a>00208 +<a name="l00209"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcaa6a2f46966a46cc7abdf2df74270999e">00209</a> NuttallWindow = 7, +<a name="l00210"></a>00210 +<a name="l00211"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca7cbf5d8c58f33bcfa28e3a5863d6ac94">00211</a> BlackmanHarrisWindow = 8 +<a name="l00212"></a>00212 }; +<a name="l00213"></a>00213 +<a name="l00217"></a>00217 WindowType getWindowType() <span class="keyword">const</span>; +<a name="l00218"></a>00218 +<a name="l00222"></a>00222 <span class="keywordtype">void</span> setWindowType(WindowType type); +<a name="l00223"></a>00223 +<a name="l00224"></a>00224 +<a name="l00225"></a>00225 <span class="keyword">protected</span>: +<a name="l00226"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a9fa8a6b8a4e41b6e3f2fabc0d23678cc">00226</a> <span class="keyword">class </span>Impl; +<a name="l00227"></a>00227 Impl *<a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a9fa8a6b8a4e41b6e3f2fabc0d23678cc">m_impl</a>; +<a name="l00228"></a>00228 }; +<a name="l00229"></a>00229 +<a name="l00230"></a>00230 } +<a name="l00231"></a>00231 +<a name="l00232"></a>00232 } +<a name="l00233"></a>00233 +<a name="l00234"></a>00234 <a class="code" href="hostguard_8h.html#a0e6efdc2909bdb0cfab70e087d91b171">_VAMP_SDK_HOSTSPACE_END</a>(PluginInputDomainAdapter.h) +<a name="l00235"></a>00235 +<a name="l00236"></a>00236 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginInputDomainAdapter_8h.html">PluginInputDomainAdapter.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginLoader_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,107 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginLoader.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginLoader_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#namespaces">Namespaces</a> </div> + <div class="headertitle"> +<div class="title">PluginLoader.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="PluginLoader_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">Vamp::HostExt::PluginLoader</a> is a convenience class for discovering and loading <a class="el" href="namespaceVamp.html">Vamp</a> plugins using the typical plugin-path, library naming, and categorisation conventions described in the <a class="el" href="namespaceVamp.html">Vamp</a> SDK documentation. <a href="classVamp_1_1HostExt_1_1PluginLoader.html#details">More...</a><br/></td></tr> +<tr><td colspan="2"><h2><a name="namespaces"></a> +Namespaces</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp.html">Vamp</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp_1_1HostExt.html">Vamp::HostExt</a></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginLoader_8h.html">PluginLoader.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginLoader_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,199 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginLoader.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginLoader_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PluginLoader.h</div> </div> +</div> +<div class="contents"> +<a href="PluginLoader_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006-2009 Chris Cannam and QMUL.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_PLUGIN_LOADER_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_PLUGIN_LOADER_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include <vector></span> +<a name="l00041"></a>00041 <span class="preprocessor">#include <string></span> +<a name="l00042"></a>00042 <span class="preprocessor">#include <map></span> +<a name="l00043"></a>00043 +<a name="l00044"></a>00044 <span class="preprocessor">#include "<a class="code" href="hostguard_8h.html">hostguard.h</a>"</span> +<a name="l00045"></a>00045 <span class="preprocessor">#include "<a class="code" href="PluginWrapper_8h.html">PluginWrapper.h</a>"</span> +<a name="l00046"></a>00046 +<a name="l00047"></a>00047 <a class="code" href="hostguard_8h.html#aef42eae5f1b0b897d8dac58cd54afbcd">_VAMP_SDK_HOSTSPACE_BEGIN</a>(PluginLoader.h) +<a name="l00048"></a>00048 +<a name="l00049"></a>00049 namespace Vamp { +<a name="l00050"></a>00050 +<a name="l00051"></a>00051 <span class="keyword">class </span>Plugin; +<a name="l00052"></a>00052 +<a name="l00053"></a>00053 <span class="keyword">namespace </span>HostExt { +<a name="l00054"></a>00054 +<a name="l00072"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html">00072</a> <span class="keyword">class </span><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">PluginLoader</a> +<a name="l00073"></a>00073 { +<a name="l00074"></a>00074 <span class="keyword">public</span>: +<a name="l00079"></a>00079 <span class="keyword">static</span> <a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">PluginLoader</a> *getInstance(); +<a name="l00080"></a>00080 +<a name="l00101"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">00101</a> <span class="keyword">typedef</span> std::string <a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d" title="PluginKey is a string type that is used to identify a plugin uniquely within the scope of "the curren...">PluginKey</a>; +<a name="l00102"></a>00102 +<a name="l00107"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#a0d48b76e4f995110f53e0feeb23f733a">00107</a> <span class="keyword">typedef</span> std::vector<PluginKey> <a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#a0d48b76e4f995110f53e0feeb23f733a" title="PluginKeyList is a sequence of plugin keys, such as returned by listPlugins().">PluginKeyList</a>; +<a name="l00108"></a>00108 +<a name="l00119"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#ad6a39aa0c79d8d9209eb0b8dfe9d1364">00119</a> <span class="keyword">typedef</span> std::vector<std::string> <a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#ad6a39aa0c79d8d9209eb0b8dfe9d1364" title="PluginCategoryHierarchy is a sequence of general->specific category names, as may be associated with ...">PluginCategoryHierarchy</a>; +<a name="l00120"></a>00120 +<a name="l00125"></a>00125 <a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#a0d48b76e4f995110f53e0feeb23f733a" title="PluginKeyList is a sequence of plugin keys, such as returned by listPlugins().">PluginKeyList</a> listPlugins(); +<a name="l00126"></a>00126 +<a name="l00169"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494">00169</a> <span class="keyword">enum</span> <a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494" title="AdapterFlags contains a set of values that may be OR'd together to indicate in which circumstances Pl...">AdapterFlags</a> { +<a name="l00170"></a>00170 +<a name="l00171"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a763a9a0caf512d9671b90c05c2808a09">00171</a> ADAPT_INPUT_DOMAIN = 0x01, +<a name="l00172"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a54c43b85382d78e8ea8da192bce3a139">00172</a> ADAPT_CHANNEL_COUNT = 0x02, +<a name="l00173"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a5c0c389797922630a6b54ffd1eed21f1">00173</a> ADAPT_BUFFER_SIZE = 0x04, +<a name="l00174"></a>00174 +<a name="l00175"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a8220529e851ae30d37f413c40a389e08">00175</a> ADAPT_ALL_SAFE = 0x03, +<a name="l00176"></a>00176 +<a name="l00177"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a3b1e08415c0cbc96f7900eac955ad6d0">00177</a> ADAPT_ALL = 0xff +<a name="l00178"></a>00178 }; +<a name="l00179"></a>00179 +<a name="l00197"></a>00197 <a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> *loadPlugin(PluginKey key, +<a name="l00198"></a>00198 <span class="keywordtype">float</span> inputSampleRate, +<a name="l00199"></a>00199 <span class="keywordtype">int</span> adapterFlags = 0); +<a name="l00200"></a>00200 +<a name="l00206"></a>00206 PluginKey composePluginKey(std::string libraryName, +<a name="l00207"></a>00207 std::string identifier); +<a name="l00208"></a>00208 +<a name="l00218"></a>00218 PluginCategoryHierarchy getPluginCategory(PluginKey plugin); +<a name="l00219"></a>00219 +<a name="l00224"></a>00224 std::string getLibraryPathForPlugin(PluginKey plugin); +<a name="l00225"></a>00225 +<a name="l00226"></a>00226 <span class="keyword">protected</span>: +<a name="l00227"></a>00227 <a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">PluginLoader</a>(); +<a name="l00228"></a>00228 <span class="keyword">virtual</span> ~<a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">PluginLoader</a>(); +<a name="l00229"></a>00229 +<a name="l00230"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#ac12254d823f6d63cb8ce82a07bdcb072">00230</a> <span class="keyword">class </span>Impl; +<a name="l00231"></a>00231 Impl *<a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#ac12254d823f6d63cb8ce82a07bdcb072">m_impl</a>; +<a name="l00232"></a>00232 +<a name="l00233"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#af89caf5f838a586b117c417260b7a116">00233</a> <span class="keyword">static</span> <a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">PluginLoader</a> *<a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#af89caf5f838a586b117c417260b7a116">m_instance</a>; +<a name="l00234"></a>00234 }; +<a name="l00235"></a>00235 +<a name="l00236"></a>00236 } +<a name="l00237"></a>00237 +<a name="l00238"></a>00238 } +<a name="l00239"></a>00239 +<a name="l00240"></a>00240 <a class="code" href="hostguard_8h.html#a0e6efdc2909bdb0cfab70e087d91b171">_VAMP_SDK_HOSTSPACE_END</a>(PluginLoader.h) +<a name="l00241"></a>00241 +<a name="l00242"></a>00242 <span class="preprocessor">#endif</span> +<a name="l00243"></a>00243 <span class="preprocessor"></span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginLoader_8h.html">PluginLoader.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginSummarisingAdapter_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,107 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginSummarisingAdapter.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginSummarisingAdapter_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#namespaces">Namespaces</a> </div> + <div class="headertitle"> +<div class="title">PluginSummarisingAdapter.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="PluginSummarisingAdapter_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an...">PluginSummarisingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that provides summarisation methods such as mean and median averages of output features, for use in any context where an available plugin produces individual values but the result that is actually needed is some sort of aggregate. <a href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#details">More...</a><br/></td></tr> +<tr><td colspan="2"><h2><a name="namespaces"></a> +Namespaces</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp.html">Vamp</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp_1_1HostExt.html">Vamp::HostExt</a></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginSummarisingAdapter_8h.html">PluginSummarisingAdapter.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginSummarisingAdapter_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,197 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginSummarisingAdapter.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginSummarisingAdapter_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PluginSummarisingAdapter.h</div> </div> +</div> +<div class="contents"> +<a href="PluginSummarisingAdapter_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006-2009 Chris Cannam and QMUL.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_PLUGIN_SUMMARISING_ADAPTER_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_PLUGIN_SUMMARISING_ADAPTER_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="hostguard_8h.html">hostguard.h</a>"</span> +<a name="l00041"></a>00041 <span class="preprocessor">#include "<a class="code" href="PluginWrapper_8h.html">PluginWrapper.h</a>"</span> +<a name="l00042"></a>00042 +<a name="l00043"></a>00043 <span class="preprocessor">#include <set></span> +<a name="l00044"></a>00044 +<a name="l00045"></a>00045 <a class="code" href="hostguard_8h.html#aef42eae5f1b0b897d8dac58cd54afbcd">_VAMP_SDK_HOSTSPACE_BEGIN</a>(PluginSummarisingAdapter.h) +<a name="l00046"></a>00046 +<a name="l00047"></a>00047 namespace Vamp { +<a name="l00048"></a>00048 +<a name="l00049"></a>00049 <span class="keyword">namespace </span>HostExt { +<a name="l00050"></a>00050 +<a name="l00086"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">00086</a> <span class="keyword">class </span><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an...">PluginSummarisingAdapter</a> : <span class="keyword">public</span> <a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a> +<a name="l00087"></a>00087 { +<a name="l00088"></a>00088 <span class="keyword">public</span>: +<a name="l00094"></a>00094 <a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an...">PluginSummarisingAdapter</a>(<a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> *plugin); +<a name="l00095"></a>00095 <span class="keyword">virtual</span> ~<a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an...">PluginSummarisingAdapter</a>(); +<a name="l00096"></a>00096 +<a name="l00097"></a>00097 <span class="keywordtype">bool</span> initialise(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize); +<a name="l00098"></a>00098 +<a name="l00099"></a>00099 <span class="keywordtype">void</span> reset(); +<a name="l00100"></a>00100 +<a name="l00101"></a>00101 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> process(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> timestamp); +<a name="l00102"></a>00102 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> getRemainingFeatures(); +<a name="l00103"></a>00103 +<a name="l00104"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a74e7f93c745802a2409185b63922466b">00104</a> <span class="keyword">typedef</span> std::set<RealTime> <a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a74e7f93c745802a2409185b63922466b">SegmentBoundaries</a>; +<a name="l00105"></a>00105 +<a name="l00119"></a>00119 <span class="keywordtype">void</span> setSummarySegmentBoundaries(<span class="keyword">const</span> <a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a74e7f93c745802a2409185b63922466b">SegmentBoundaries</a> &); +<a name="l00120"></a>00120 +<a name="l00121"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705">00121</a> <span class="keyword">enum</span> <a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705">SummaryType</a> { +<a name="l00122"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a320b8a4cd0c3d492aeb17f7fc4ed930c">00122</a> Minimum = 0, +<a name="l00123"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705adefff4e5073aa298a96d99b92025b7f9">00123</a> Maximum = 1, +<a name="l00124"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705ae8a03f013397d08c85734e47524f5a75">00124</a> Mean = 2, +<a name="l00125"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705aadde1f9a5a6557f25223279433699195">00125</a> Median = 3, +<a name="l00126"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a1688d03811a2268daa062220f5be0614">00126</a> Mode = 4, +<a name="l00127"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a9496664a605b3aa706f909070d73060b">00127</a> Sum = 5, +<a name="l00128"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705ae965a9e5381745e6e3a75342d7c8e075">00128</a> Variance = 6, +<a name="l00129"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a9342cd2209e20b93843cd389d9511ec7">00129</a> StandardDeviation = 7, +<a name="l00130"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a2395772fa2e74b3f617e20c76d579ad6">00130</a> Count = 8, +<a name="l00131"></a>00131 +<a name="l00132"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705aeed3a16d665eb789053b82fdd386ee7c">00132</a> UnknownSummaryType = 999 +<a name="l00133"></a>00133 }; +<a name="l00134"></a>00134 +<a name="l00157"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76">00157</a> <span class="keyword">enum</span> <a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76" title="AveragingMethod indicates how the adapter should handle average-based summaries of features whose res...">AveragingMethod</a> { +<a name="l00158"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76ae8833d866dec593d29f1f4e3cd1e6e36">00158</a> SampleAverage = 0, +<a name="l00159"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76a6af6316c12e29bdbdff90c5fec764baa">00159</a> ContinuousTimeAverage = 1 +<a name="l00160"></a>00160 }; +<a name="l00161"></a>00161 +<a name="l00170"></a>00170 FeatureList getSummaryForOutput(<span class="keywordtype">int</span> output, +<a name="l00171"></a>00171 SummaryType type, +<a name="l00172"></a>00172 AveragingMethod method = SampleAverage); +<a name="l00173"></a>00173 +<a name="l00183"></a>00183 FeatureSet getSummaryForAllOutputs(SummaryType type, +<a name="l00184"></a>00184 AveragingMethod method = SampleAverage); +<a name="l00185"></a>00185 +<a name="l00186"></a>00186 <span class="keyword">protected</span>: +<a name="l00187"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af131140817d9f131650af98b6b8d7a94">00187</a> <span class="keyword">class </span>Impl; +<a name="l00188"></a>00188 Impl *<a class="code" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af131140817d9f131650af98b6b8d7a94">m_impl</a>; +<a name="l00189"></a>00189 }; +<a name="l00190"></a>00190 +<a name="l00191"></a>00191 } +<a name="l00192"></a>00192 +<a name="l00193"></a>00193 } +<a name="l00194"></a>00194 +<a name="l00195"></a>00195 <a class="code" href="hostguard_8h.html#a0e6efdc2909bdb0cfab70e087d91b171">_VAMP_SDK_HOSTSPACE_END</a>(PluginSummarisingAdapter.h) +<a name="l00196"></a>00196 +<a name="l00197"></a>00197 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginSummarisingAdapter_8h.html">PluginSummarisingAdapter.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginWrapper_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,107 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginWrapper.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginWrapper_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#namespaces">Namespaces</a> </div> + <div class="headertitle"> +<div class="title">PluginWrapper.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="PluginWrapper_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a> is a simple base class for adapter plugins. <a href="classVamp_1_1HostExt_1_1PluginWrapper.html#details">More...</a><br/></td></tr> +<tr><td colspan="2"><h2><a name="namespaces"></a> +Namespaces</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp.html">Vamp</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp_1_1HostExt.html">Vamp::HostExt</a></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginWrapper_8h.html">PluginWrapper.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PluginWrapper_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,199 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginWrapper.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PluginWrapper_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PluginWrapper.h</div> </div> +</div> +<div class="contents"> +<a href="PluginWrapper_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006-2009 Chris Cannam and QMUL.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_PLUGIN_WRAPPER_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_PLUGIN_WRAPPER_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="hostguard_8h.html">hostguard.h</a>"</span> +<a name="l00041"></a>00041 <span class="preprocessor">#include <<a class="code" href="vamp-hostsdk_2Plugin_8h.html">vamp-hostsdk/Plugin.h</a>></span> +<a name="l00042"></a>00042 +<a name="l00043"></a>00043 <a class="code" href="hostguard_8h.html#aef42eae5f1b0b897d8dac58cd54afbcd">_VAMP_SDK_HOSTSPACE_BEGIN</a>(PluginWrapper.h) +<a name="l00044"></a>00044 +<a name="l00045"></a>00045 namespace Vamp { +<a name="l00046"></a>00046 +<a name="l00047"></a>00047 <span class="keyword">namespace </span>HostExt { +<a name="l00048"></a>00048 +<a name="l00062"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html">00062</a> <span class="keyword">class </span><a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a> : <span class="keyword">public</span> <a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> +<a name="l00063"></a>00063 { +<a name="l00064"></a>00064 <span class="keyword">public</span>: +<a name="l00065"></a>00065 <span class="keyword">virtual</span> ~<a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a>(); +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 <span class="keywordtype">bool</span> initialise(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize); +<a name="l00068"></a>00068 <span class="keywordtype">void</span> reset(); +<a name="l00069"></a>00069 +<a name="l00070"></a>00070 <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> getInputDomain() <span class="keyword">const</span>; +<a name="l00071"></a>00071 +<a name="l00072"></a>00072 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> getVampApiVersion() <span class="keyword">const</span>; +<a name="l00073"></a>00073 std::string getIdentifier() <span class="keyword">const</span>; +<a name="l00074"></a>00074 std::string getName() <span class="keyword">const</span>; +<a name="l00075"></a>00075 std::string getDescription() <span class="keyword">const</span>; +<a name="l00076"></a>00076 std::string getMaker() <span class="keyword">const</span>; +<a name="l00077"></a>00077 <span class="keywordtype">int</span> getPluginVersion() <span class="keyword">const</span>; +<a name="l00078"></a>00078 std::string getCopyright() <span class="keyword">const</span>; +<a name="l00079"></a>00079 +<a name="l00080"></a>00080 <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> getParameterDescriptors() <span class="keyword">const</span>; +<a name="l00081"></a>00081 <span class="keywordtype">float</span> getParameter(std::string) <span class="keyword">const</span>; +<a name="l00082"></a>00082 <span class="keywordtype">void</span> setParameter(std::string, <span class="keywordtype">float</span>); +<a name="l00083"></a>00083 +<a name="l00084"></a>00084 <a class="code" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> getPrograms() <span class="keyword">const</span>; +<a name="l00085"></a>00085 std::string getCurrentProgram() <span class="keyword">const</span>; +<a name="l00086"></a>00086 <span class="keywordtype">void</span> selectProgram(std::string); +<a name="l00087"></a>00087 +<a name="l00088"></a>00088 <span class="keywordtype">size_t</span> getPreferredStepSize() <span class="keyword">const</span>; +<a name="l00089"></a>00089 <span class="keywordtype">size_t</span> getPreferredBlockSize() <span class="keyword">const</span>; +<a name="l00090"></a>00090 +<a name="l00091"></a>00091 <span class="keywordtype">size_t</span> getMinChannelCount() <span class="keyword">const</span>; +<a name="l00092"></a>00092 <span class="keywordtype">size_t</span> getMaxChannelCount() <span class="keyword">const</span>; +<a name="l00093"></a>00093 +<a name="l00094"></a>00094 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> getOutputDescriptors() <span class="keyword">const</span>; +<a name="l00095"></a>00095 +<a name="l00096"></a>00096 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> process(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> timestamp); +<a name="l00097"></a>00097 +<a name="l00098"></a>00098 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> getRemainingFeatures(); +<a name="l00099"></a>00099 +<a name="l00115"></a>00115 <span class="keyword">template</span> <<span class="keyword">typename</span> WrapperType> +<a name="l00116"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05">00116</a> WrapperType *<a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05" title="Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin...">getWrapper</a>() { +<a name="l00117"></a>00117 WrapperType *w = <span class="keyword">dynamic_cast<</span>WrapperType *<span class="keyword">></span>(<span class="keyword">this</span>); +<a name="l00118"></a>00118 <span class="keywordflow">if</span> (w) <span class="keywordflow">return</span> w; +<a name="l00119"></a>00119 <a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a> *pw = <span class="keyword">dynamic_cast<</span><a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a> *<span class="keyword">></span>(m_plugin); +<a name="l00120"></a>00120 <span class="keywordflow">if</span> (pw) <span class="keywordflow">return</span> pw-><a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05" title="Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin...">getWrapper</a><WrapperType>(); +<a name="l00121"></a>00121 <span class="keywordflow">return</span> 0; +<a name="l00122"></a>00122 } +<a name="l00123"></a>00123 +<a name="l00124"></a>00124 <span class="keyword">protected</span>: +<a name="l00125"></a>00125 <a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a>(<a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> *plugin); <span class="comment">// I take ownership of plugin</span> +<a name="l00126"></a><a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">00126</a> <a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> *<a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a>; +<a name="l00127"></a>00127 }; +<a name="l00128"></a>00128 +<a name="l00129"></a>00129 } +<a name="l00130"></a>00130 +<a name="l00131"></a>00131 } +<a name="l00132"></a>00132 +<a name="l00133"></a>00133 <a class="code" href="hostguard_8h.html#a0e6efdc2909bdb0cfab70e087d91b171">_VAMP_SDK_HOSTSPACE_END</a>(PluginWrapper.h) +<a name="l00134"></a>00134 +<a name="l00135"></a>00135 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PluginWrapper_8h.html">PluginWrapper.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PowerSpectrum_8cpp.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PowerSpectrum.cpp File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PowerSpectrum_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PowerSpectrum.cpp File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="PowerSpectrum_8cpp_source.html">Go to the source code of this file.</a></p> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PowerSpectrum_8cpp.html">PowerSpectrum.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PowerSpectrum_8cpp_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,262 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PowerSpectrum.cpp Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PowerSpectrum_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PowerSpectrum.cpp</div> </div> +</div> +<div class="contents"> +<a href="PowerSpectrum_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2008 QMUL.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="PowerSpectrum_8h.html">PowerSpectrum.h</a>"</span> +<a name="l00038"></a>00038 +<a name="l00039"></a>00039 <span class="keyword">using</span> std::string; +<a name="l00040"></a>00040 <span class="keyword">using</span> std::cerr; +<a name="l00041"></a>00041 <span class="keyword">using</span> std::endl; +<a name="l00042"></a>00042 +<a name="l00043"></a>00043 <span class="preprocessor">#include <math.h></span> +<a name="l00044"></a>00044 +<a name="l00045"></a><a class="code" href="classPowerSpectrum.html#aa2550486513a4abcf7b52869002947e7">00045</a> <a class="code" href="classPowerSpectrum.html#aa2550486513a4abcf7b52869002947e7">PowerSpectrum::PowerSpectrum</a>(<span class="keywordtype">float</span> inputSampleRate) : +<a name="l00046"></a>00046 Plugin(inputSampleRate), +<a name="l00047"></a>00047 m_blockSize(0) +<a name="l00048"></a>00048 { +<a name="l00049"></a>00049 } +<a name="l00050"></a>00050 +<a name="l00051"></a><a class="code" href="classPowerSpectrum.html#ae7081e159ad1da5da1721b3048075306">00051</a> <a class="code" href="classPowerSpectrum.html#ae7081e159ad1da5da1721b3048075306">PowerSpectrum::~PowerSpectrum</a>() +<a name="l00052"></a>00052 { +<a name="l00053"></a>00053 } +<a name="l00054"></a>00054 +<a name="l00055"></a>00055 <span class="keywordtype">string</span> +<a name="l00056"></a><a class="code" href="classPowerSpectrum.html#a9e9d8349461cbb88d7565a5e8c51b64e">00056</a> <a class="code" href="classPowerSpectrum.html#a9e9d8349461cbb88d7565a5e8c51b64e" title="Get the computer-usable name of the plugin.">PowerSpectrum::getIdentifier</a>()<span class="keyword"> const</span> +<a name="l00057"></a>00057 <span class="keyword"></span>{ +<a name="l00058"></a>00058 <span class="keywordflow">return</span> <span class="stringliteral">"powerspectrum"</span>; +<a name="l00059"></a>00059 } +<a name="l00060"></a>00060 +<a name="l00061"></a>00061 <span class="keywordtype">string</span> +<a name="l00062"></a><a class="code" href="classPowerSpectrum.html#ac9214f9cafeeed3fca549c90aef57623">00062</a> <a class="code" href="classPowerSpectrum.html#ac9214f9cafeeed3fca549c90aef57623" title="Get a human-readable name or title of the plugin.">PowerSpectrum::getName</a>()<span class="keyword"> const</span> +<a name="l00063"></a>00063 <span class="keyword"></span>{ +<a name="l00064"></a>00064 <span class="keywordflow">return</span> <span class="stringliteral">"Simple Power Spectrum"</span>; +<a name="l00065"></a>00065 } +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 <span class="keywordtype">string</span> +<a name="l00068"></a><a class="code" href="classPowerSpectrum.html#a7b48d56dc954f3af344f7e4dcd8993e5">00068</a> <a class="code" href="classPowerSpectrum.html#a7b48d56dc954f3af344f7e4dcd8993e5" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">PowerSpectrum::getDescription</a>()<span class="keyword"> const</span> +<a name="l00069"></a>00069 <span class="keyword"></span>{ +<a name="l00070"></a>00070 <span class="keywordflow">return</span> <span class="stringliteral">"Return the power spectrum of a signal"</span>; +<a name="l00071"></a>00071 } +<a name="l00072"></a>00072 +<a name="l00073"></a>00073 <span class="keywordtype">string</span> +<a name="l00074"></a><a class="code" href="classPowerSpectrum.html#a9f3e3f759e2b67c771a41f1c276984b2">00074</a> <a class="code" href="classPowerSpectrum.html#a9f3e3f759e2b67c771a41f1c276984b2" title="Get the name of the author or vendor of the plugin in human-readable form.">PowerSpectrum::getMaker</a>()<span class="keyword"> const</span> +<a name="l00075"></a>00075 <span class="keyword"></span>{ +<a name="l00076"></a>00076 <span class="keywordflow">return</span> <span class="stringliteral">"Vamp SDK Example Plugins"</span>; +<a name="l00077"></a>00077 } +<a name="l00078"></a>00078 +<a name="l00079"></a>00079 <span class="keywordtype">int</span> +<a name="l00080"></a><a class="code" href="classPowerSpectrum.html#ad23d27e4e82f10404a37b933f6a72c33">00080</a> <a class="code" href="classPowerSpectrum.html#ad23d27e4e82f10404a37b933f6a72c33" title="Get the version number of the plugin.">PowerSpectrum::getPluginVersion</a>()<span class="keyword"> const</span> +<a name="l00081"></a>00081 <span class="keyword"></span>{ +<a name="l00082"></a>00082 <span class="keywordflow">return</span> 1; +<a name="l00083"></a>00083 } +<a name="l00084"></a>00084 +<a name="l00085"></a>00085 <span class="keywordtype">string</span> +<a name="l00086"></a><a class="code" href="classPowerSpectrum.html#a708b4d335c57643d5ef2b2e1caf43bd9">00086</a> <a class="code" href="classPowerSpectrum.html#a708b4d335c57643d5ef2b2e1caf43bd9" title="Get the copyright statement or licensing summary for the plugin.">PowerSpectrum::getCopyright</a>()<span class="keyword"> const</span> +<a name="l00087"></a>00087 <span class="keyword"></span>{ +<a name="l00088"></a>00088 <span class="keywordflow">return</span> <span class="stringliteral">"Freely redistributable (BSD license)"</span>; +<a name="l00089"></a>00089 } +<a name="l00090"></a>00090 +<a name="l00091"></a>00091 <span class="keywordtype">bool</span> +<a name="l00092"></a><a class="code" href="classPowerSpectrum.html#ae2d046334c4bede5be72a0d97e4dfb29">00092</a> <a class="code" href="classPowerSpectrum.html#ae2d046334c4bede5be72a0d97e4dfb29" title="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).">PowerSpectrum::initialise</a>(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize) +<a name="l00093"></a>00093 { +<a name="l00094"></a>00094 <span class="keywordflow">if</span> (channels < <a class="code" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525" title="Get the minimum supported number of input channels.">getMinChannelCount</a>() || +<a name="l00095"></a>00095 channels > <a class="code" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e" title="Get the maximum supported number of input channels.">getMaxChannelCount</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>; +<a name="l00096"></a>00096 +<a name="l00097"></a>00097 <a class="code" href="classPowerSpectrum.html#a399e997c033f26b07edb7cc83cd5a6d8">m_blockSize</a> = blockSize; +<a name="l00098"></a>00098 +<a name="l00099"></a>00099 <span class="keywordflow">return</span> <span class="keyword">true</span>; +<a name="l00100"></a>00100 } +<a name="l00101"></a>00101 +<a name="l00102"></a>00102 <span class="keywordtype">void</span> +<a name="l00103"></a><a class="code" href="classPowerSpectrum.html#a091ba21e1697ea4208f42e8295c389d9">00103</a> <a class="code" href="classPowerSpectrum.html#a091ba21e1697ea4208f42e8295c389d9" title="Reset the plugin after use, to prepare it for another clean run.">PowerSpectrum::reset</a>() +<a name="l00104"></a>00104 { +<a name="l00105"></a>00105 } +<a name="l00106"></a>00106 +<a name="l00107"></a>00107 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">PowerSpectrum::OutputList</a> +<a name="l00108"></a><a class="code" href="classPowerSpectrum.html#a6aac5f93e3a8c033026d739fed427242">00108</a> <a class="code" href="classPowerSpectrum.html#a6aac5f93e3a8c033026d739fed427242" title="Get the outputs of this plugin.">PowerSpectrum::getOutputDescriptors</a>()<span class="keyword"> const</span> +<a name="l00109"></a>00109 <span class="keyword"></span>{ +<a name="l00110"></a>00110 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> list; +<a name="l00111"></a>00111 +<a name="l00112"></a>00112 <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> d; +<a name="l00113"></a>00113 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b" title="The name of the output, in computer-usable form.">identifier</a> = <span class="stringliteral">"powerspectrum"</span>; +<a name="l00114"></a>00114 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87" title="The human-readable name of the output.">name</a> = <span class="stringliteral">"Power Spectrum"</span>; +<a name="l00115"></a>00115 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1" title="A human-readable short text describing the output.">description</a> = <span class="stringliteral">"Power values of the frequency spectrum bins calculated from the input signal"</span>; +<a name="l00116"></a>00116 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4" title="The unit of the output, in human-readable form.">unit</a> = <span class="stringliteral">""</span>; +<a name="l00117"></a>00117 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d" title="True if the output has the same number of values per sample for every output sample.">hasFixedBinCount</a> = <span class="keyword">true</span>; +<a name="l00118"></a>00118 <span class="keywordflow">if</span> (<a class="code" href="classPowerSpectrum.html#a399e997c033f26b07edb7cc83cd5a6d8">m_blockSize</a> == 0) { +<a name="l00119"></a>00119 <span class="comment">// Just so as not to return "1". This is the bin count that</span> +<a name="l00120"></a>00120 <span class="comment">// would result from a block size of 1024, which is a likely</span> +<a name="l00121"></a>00121 <span class="comment">// default -- but the host should always set the block size</span> +<a name="l00122"></a>00122 <span class="comment">// before querying the bin count for certain.</span> +<a name="l00123"></a>00123 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc" title="The number of values per result of the output.">binCount</a> = 513; +<a name="l00124"></a>00124 } <span class="keywordflow">else</span> { +<a name="l00125"></a>00125 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc" title="The number of values per result of the output.">binCount</a> = <a class="code" href="classPowerSpectrum.html#a399e997c033f26b07edb7cc83cd5a6d8">m_blockSize</a> / 2 + 1; +<a name="l00126"></a>00126 } +<a name="l00127"></a>00127 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae9ccb65f99f477096b65dd031f4c5e31" title="True if the results in each output bin fall within a fixed numeric range (minimum and maximum values)...">hasKnownExtents</a> = <span class="keyword">false</span>; +<a name="l00128"></a>00128 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1b4858928d23bfd7d5bc557c82a83fb4" title="True if the output values are quantized to a particular resolution.">isQuantized</a> = <span class="keyword">false</span>; +<a name="l00129"></a>00129 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d" title="Positioning in time of the output results.">sampleType</a> = <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca0459d5d0d2198d21e8bc90abe4fdccca" title="Results from each process() align with that call's block start.">OutputDescriptor::OneSamplePerStep</a>; +<a name="l00130"></a>00130 list.push_back(d); +<a name="l00131"></a>00131 +<a name="l00132"></a>00132 <span class="keywordflow">return</span> list; +<a name="l00133"></a>00133 } +<a name="l00134"></a>00134 +<a name="l00135"></a>00135 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">PowerSpectrum::FeatureSet</a> +<a name="l00136"></a><a class="code" href="classPowerSpectrum.html#aa5664ffc2b37a16db471fae791c1f55f">00136</a> <a class="code" href="classPowerSpectrum.html#aa5664ffc2b37a16db471fae791c1f55f" title="Process a single block of input data.">PowerSpectrum::process</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">Vamp::RealTime</a> timestamp) +<a name="l00137"></a>00137 { +<a name="l00138"></a>00138 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> fs; +<a name="l00139"></a>00139 +<a name="l00140"></a>00140 <span class="keywordflow">if</span> (<a class="code" href="classPowerSpectrum.html#a399e997c033f26b07edb7cc83cd5a6d8">m_blockSize</a> == 0) { +<a name="l00141"></a>00141 cerr << <span class="stringliteral">"ERROR: PowerSpectrum::process: Not initialised"</span> << endl; +<a name="l00142"></a>00142 <span class="keywordflow">return</span> fs; +<a name="l00143"></a>00143 } +<a name="l00144"></a>00144 +<a name="l00145"></a>00145 <span class="keywordtype">size_t</span> n = <a class="code" href="classPowerSpectrum.html#a399e997c033f26b07edb7cc83cd5a6d8">m_blockSize</a> / 2 + 1; +<a name="l00146"></a>00146 <span class="keyword">const</span> <span class="keywordtype">float</span> *fbuf = inputBuffers[0]; +<a name="l00147"></a>00147 +<a name="l00148"></a>00148 <a class="code" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> feature; +<a name="l00149"></a>00149 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b" title="True if an output feature has its own timestamp.">hasTimestamp</a> = <span class="keyword">false</span>; +<a name="l00150"></a>00150 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>.reserve(n); <span class="comment">// optional</span> +<a name="l00151"></a>00151 +<a name="l00152"></a>00152 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < n; ++i) { +<a name="l00153"></a>00153 +<a name="l00154"></a>00154 <span class="keywordtype">double</span> real = fbuf[i * 2]; +<a name="l00155"></a>00155 <span class="keywordtype">double</span> imag = fbuf[i * 2 + 1]; +<a name="l00156"></a>00156 +<a name="l00157"></a>00157 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>.push_back(real * real + imag * imag); +<a name="l00158"></a>00158 } +<a name="l00159"></a>00159 +<a name="l00160"></a>00160 fs[0].push_back(feature); +<a name="l00161"></a>00161 +<a name="l00162"></a>00162 <span class="keywordflow">return</span> fs; +<a name="l00163"></a>00163 } +<a name="l00164"></a>00164 +<a name="l00165"></a>00165 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">PowerSpectrum::FeatureSet</a> +<a name="l00166"></a><a class="code" href="classPowerSpectrum.html#ac8a9661a785d38f4c5ce8ca2d53e69f9">00166</a> <a class="code" href="classPowerSpectrum.html#ac8a9661a785d38f4c5ce8ca2d53e69f9" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">PowerSpectrum::getRemainingFeatures</a>() +<a name="l00167"></a>00167 { +<a name="l00168"></a>00168 <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>(); +<a name="l00169"></a>00169 } +<a name="l00170"></a>00170 +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PowerSpectrum_8cpp.html">PowerSpectrum.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PowerSpectrum_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,102 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PowerSpectrum.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PowerSpectrum_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> </div> + <div class="headertitle"> +<div class="title">PowerSpectrum.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="PowerSpectrum_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Example plugin that returns a power spectrum calculated (trivially) from the frequency domain representation of each block of audio. <a href="classPowerSpectrum.html#details">More...</a><br/></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PowerSpectrum_8h.html">PowerSpectrum.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/PowerSpectrum_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,164 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PowerSpectrum.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('PowerSpectrum_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PowerSpectrum.h</div> </div> +</div> +<div class="contents"> +<a href="PowerSpectrum_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _POWER_SPECTRUM_PLUGIN_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _POWER_SPECTRUM_PLUGIN_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="vamp-sdk_2Plugin_8h.html">vamp-sdk/Plugin.h</a>"</span> +<a name="l00041"></a>00041 +<a name="l00050"></a><a class="code" href="classPowerSpectrum.html">00050</a> <span class="keyword">class </span><a class="code" href="classPowerSpectrum.html" title="Example plugin that returns a power spectrum calculated (trivially) from the frequency domain represe...">PowerSpectrum</a> : <span class="keyword">public</span> Vamp::<a class="code" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a> +<a name="l00051"></a>00051 { +<a name="l00052"></a>00052 <span class="keyword">public</span>: +<a name="l00053"></a>00053 <a class="code" href="classPowerSpectrum.html#aa2550486513a4abcf7b52869002947e7">PowerSpectrum</a>(<span class="keywordtype">float</span> inputSampleRate); +<a name="l00054"></a>00054 <span class="keyword">virtual</span> <a class="code" href="classPowerSpectrum.html#ae7081e159ad1da5da1721b3048075306">~PowerSpectrum</a>(); +<a name="l00055"></a>00055 +<a name="l00056"></a>00056 <span class="keywordtype">bool</span> <a class="code" href="classPowerSpectrum.html#ae2d046334c4bede5be72a0d97e4dfb29" title="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).">initialise</a>(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize); +<a name="l00057"></a>00057 <span class="keywordtype">void</span> <a class="code" href="classPowerSpectrum.html#a091ba21e1697ea4208f42e8295c389d9" title="Reset the plugin after use, to prepare it for another clean run.">reset</a>(); +<a name="l00058"></a>00058 +<a name="l00059"></a><a class="code" href="classPowerSpectrum.html#ae04e0e34847a93f3444d04c802ee56ef">00059</a> <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> <a class="code" href="classPowerSpectrum.html#ae04e0e34847a93f3444d04c802ee56ef" title="Get the plugin's required input domain.">getInputDomain</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>; } +<a name="l00060"></a>00060 +<a name="l00061"></a>00061 std::string <a class="code" href="classPowerSpectrum.html#a9e9d8349461cbb88d7565a5e8c51b64e" title="Get the computer-usable name of the plugin.">getIdentifier</a>() <span class="keyword">const</span>; +<a name="l00062"></a>00062 std::string <a class="code" href="classPowerSpectrum.html#ac9214f9cafeeed3fca549c90aef57623" title="Get a human-readable name or title of the plugin.">getName</a>() <span class="keyword">const</span>; +<a name="l00063"></a>00063 std::string <a class="code" href="classPowerSpectrum.html#a7b48d56dc954f3af344f7e4dcd8993e5" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">getDescription</a>() <span class="keyword">const</span>; +<a name="l00064"></a>00064 std::string <a class="code" href="classPowerSpectrum.html#a9f3e3f759e2b67c771a41f1c276984b2" title="Get the name of the author or vendor of the plugin in human-readable form.">getMaker</a>() <span class="keyword">const</span>; +<a name="l00065"></a>00065 <span class="keywordtype">int</span> <a class="code" href="classPowerSpectrum.html#ad23d27e4e82f10404a37b933f6a72c33" title="Get the version number of the plugin.">getPluginVersion</a>() <span class="keyword">const</span>; +<a name="l00066"></a>00066 std::string <a class="code" href="classPowerSpectrum.html#a708b4d335c57643d5ef2b2e1caf43bd9" title="Get the copyright statement or licensing summary for the plugin.">getCopyright</a>() <span class="keyword">const</span>; +<a name="l00067"></a>00067 +<a name="l00068"></a>00068 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> <a class="code" href="classPowerSpectrum.html#a6aac5f93e3a8c033026d739fed427242" title="Get the outputs of this plugin.">getOutputDescriptors</a>() <span class="keyword">const</span>; +<a name="l00069"></a>00069 +<a name="l00070"></a>00070 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="code" href="classPowerSpectrum.html#aa5664ffc2b37a16db471fae791c1f55f" title="Process a single block of input data.">process</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, +<a name="l00071"></a>00071 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">Vamp::RealTime</a> timestamp); +<a name="l00072"></a>00072 +<a name="l00073"></a>00073 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="code" href="classPowerSpectrum.html#ac8a9661a785d38f4c5ce8ca2d53e69f9" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">getRemainingFeatures</a>(); +<a name="l00074"></a>00074 +<a name="l00075"></a>00075 <span class="keyword">protected</span>: +<a name="l00076"></a><a class="code" href="classPowerSpectrum.html#a399e997c033f26b07edb7cc83cd5a6d8">00076</a> <span class="keywordtype">size_t</span> <a class="code" href="classPowerSpectrum.html#a399e997c033f26b07edb7cc83cd5a6d8">m_blockSize</a>; +<a name="l00077"></a>00077 }; +<a name="l00078"></a>00078 +<a name="l00079"></a>00079 +<a name="l00080"></a>00080 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="PowerSpectrum_8h.html">PowerSpectrum.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/SpectralCentroid_8cpp.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: SpectralCentroid.cpp File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('SpectralCentroid_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">SpectralCentroid.cpp File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="SpectralCentroid_8cpp_source.html">Go to the source code of this file.</a></p> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="SpectralCentroid_8cpp.html">SpectralCentroid.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/SpectralCentroid_8cpp_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,288 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: SpectralCentroid.cpp Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('SpectralCentroid_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">SpectralCentroid.cpp</div> </div> +</div> +<div class="contents"> +<a href="SpectralCentroid_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="SpectralCentroid_8h.html">SpectralCentroid.h</a>"</span> +<a name="l00038"></a>00038 +<a name="l00039"></a>00039 <span class="keyword">using</span> std::string; +<a name="l00040"></a>00040 <span class="keyword">using</span> std::vector; +<a name="l00041"></a>00041 <span class="keyword">using</span> std::cerr; +<a name="l00042"></a>00042 <span class="keyword">using</span> std::endl; +<a name="l00043"></a>00043 +<a name="l00044"></a>00044 <span class="preprocessor">#include <math.h></span> +<a name="l00045"></a>00045 +<a name="l00046"></a>00046 <span class="preprocessor">#ifdef __SUNPRO_CC</span> +<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#include <ieeefp.h></span> +<a name="l00048"></a>00048 <span class="preprocessor">#define isinf(x) (!finite(x))</span> +<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#endif</span> +<a name="l00050"></a>00050 <span class="preprocessor"></span> +<a name="l00051"></a>00051 <span class="preprocessor">#ifdef WIN32</span> +<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#define isnan(x) false</span> +<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor">#define isinf(x) false</span> +<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#endif</span> +<a name="l00055"></a>00055 <span class="preprocessor"></span> +<a name="l00056"></a><a class="code" href="classSpectralCentroid.html#a2cd801ad72f262eceb95ab0d22e7dbcd">00056</a> <a class="code" href="classSpectralCentroid.html#a2cd801ad72f262eceb95ab0d22e7dbcd">SpectralCentroid::SpectralCentroid</a>(<span class="keywordtype">float</span> inputSampleRate) : +<a name="l00057"></a>00057 Plugin(inputSampleRate), +<a name="l00058"></a>00058 m_stepSize(0), +<a name="l00059"></a>00059 m_blockSize(0) +<a name="l00060"></a>00060 { +<a name="l00061"></a>00061 } +<a name="l00062"></a>00062 +<a name="l00063"></a><a class="code" href="classSpectralCentroid.html#a483e0d6757bc3dcf61e8066f764f45c6">00063</a> <a class="code" href="classSpectralCentroid.html#a483e0d6757bc3dcf61e8066f764f45c6">SpectralCentroid::~SpectralCentroid</a>() +<a name="l00064"></a>00064 { +<a name="l00065"></a>00065 } +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 <span class="keywordtype">string</span> +<a name="l00068"></a><a class="code" href="classSpectralCentroid.html#a1b2c4c8440c024c4c635fcef5697949f">00068</a> <a class="code" href="classSpectralCentroid.html#a1b2c4c8440c024c4c635fcef5697949f" title="Get the computer-usable name of the plugin.">SpectralCentroid::getIdentifier</a>()<span class="keyword"> const</span> +<a name="l00069"></a>00069 <span class="keyword"></span>{ +<a name="l00070"></a>00070 <span class="keywordflow">return</span> <span class="stringliteral">"spectralcentroid"</span>; +<a name="l00071"></a>00071 } +<a name="l00072"></a>00072 +<a name="l00073"></a>00073 <span class="keywordtype">string</span> +<a name="l00074"></a><a class="code" href="classSpectralCentroid.html#ab7e6a620fea568af431be3cfd9dd5a41">00074</a> <a class="code" href="classSpectralCentroid.html#ab7e6a620fea568af431be3cfd9dd5a41" title="Get a human-readable name or title of the plugin.">SpectralCentroid::getName</a>()<span class="keyword"> const</span> +<a name="l00075"></a>00075 <span class="keyword"></span>{ +<a name="l00076"></a>00076 <span class="keywordflow">return</span> <span class="stringliteral">"Spectral Centroid"</span>; +<a name="l00077"></a>00077 } +<a name="l00078"></a>00078 +<a name="l00079"></a>00079 <span class="keywordtype">string</span> +<a name="l00080"></a><a class="code" href="classSpectralCentroid.html#a8fbb74a46283057d9a0b0e4718ee943c">00080</a> <a class="code" href="classSpectralCentroid.html#a8fbb74a46283057d9a0b0e4718ee943c" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">SpectralCentroid::getDescription</a>()<span class="keyword"> const</span> +<a name="l00081"></a>00081 <span class="keyword"></span>{ +<a name="l00082"></a>00082 <span class="keywordflow">return</span> <span class="stringliteral">"Calculate the centroid frequency of the spectrum of the input signal"</span>; +<a name="l00083"></a>00083 } +<a name="l00084"></a>00084 +<a name="l00085"></a>00085 <span class="keywordtype">string</span> +<a name="l00086"></a><a class="code" href="classSpectralCentroid.html#ac01ff858bf67e2e93ad5d24a6ba8c8c8">00086</a> <a class="code" href="classSpectralCentroid.html#ac01ff858bf67e2e93ad5d24a6ba8c8c8" title="Get the name of the author or vendor of the plugin in human-readable form.">SpectralCentroid::getMaker</a>()<span class="keyword"> const</span> +<a name="l00087"></a>00087 <span class="keyword"></span>{ +<a name="l00088"></a>00088 <span class="keywordflow">return</span> <span class="stringliteral">"Vamp SDK Example Plugins"</span>; +<a name="l00089"></a>00089 } +<a name="l00090"></a>00090 +<a name="l00091"></a>00091 <span class="keywordtype">int</span> +<a name="l00092"></a><a class="code" href="classSpectralCentroid.html#af64622e66bf678ac2b0b58aa832ca2b3">00092</a> <a class="code" href="classSpectralCentroid.html#af64622e66bf678ac2b0b58aa832ca2b3" title="Get the version number of the plugin.">SpectralCentroid::getPluginVersion</a>()<span class="keyword"> const</span> +<a name="l00093"></a>00093 <span class="keyword"></span>{ +<a name="l00094"></a>00094 <span class="keywordflow">return</span> 2; +<a name="l00095"></a>00095 } +<a name="l00096"></a>00096 +<a name="l00097"></a>00097 <span class="keywordtype">string</span> +<a name="l00098"></a><a class="code" href="classSpectralCentroid.html#a925747d513d598e0fa21ed0ed6520980">00098</a> <a class="code" href="classSpectralCentroid.html#a925747d513d598e0fa21ed0ed6520980" title="Get the copyright statement or licensing summary for the plugin.">SpectralCentroid::getCopyright</a>()<span class="keyword"> const</span> +<a name="l00099"></a>00099 <span class="keyword"></span>{ +<a name="l00100"></a>00100 <span class="keywordflow">return</span> <span class="stringliteral">"Freely redistributable (BSD license)"</span>; +<a name="l00101"></a>00101 } +<a name="l00102"></a>00102 +<a name="l00103"></a>00103 <span class="keywordtype">bool</span> +<a name="l00104"></a><a class="code" href="classSpectralCentroid.html#aab1ae16f5c68e2b319668f447908cedb">00104</a> <a class="code" href="classSpectralCentroid.html#aab1ae16f5c68e2b319668f447908cedb" title="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).">SpectralCentroid::initialise</a>(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize) +<a name="l00105"></a>00105 { +<a name="l00106"></a>00106 <span class="keywordflow">if</span> (channels < <a class="code" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525" title="Get the minimum supported number of input channels.">getMinChannelCount</a>() || +<a name="l00107"></a>00107 channels > <a class="code" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e" title="Get the maximum supported number of input channels.">getMaxChannelCount</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>; +<a name="l00108"></a>00108 +<a name="l00109"></a>00109 <a class="code" href="classSpectralCentroid.html#a49805a090ba58477da4adbefea4392a7">m_stepSize</a> = stepSize; +<a name="l00110"></a>00110 <a class="code" href="classSpectralCentroid.html#a262f583d71b442bb2d80023e7c85aa4e">m_blockSize</a> = blockSize; +<a name="l00111"></a>00111 +<a name="l00112"></a>00112 <span class="keywordflow">return</span> <span class="keyword">true</span>; +<a name="l00113"></a>00113 } +<a name="l00114"></a>00114 +<a name="l00115"></a>00115 <span class="keywordtype">void</span> +<a name="l00116"></a><a class="code" href="classSpectralCentroid.html#a9b5f5581691ff8f46bb7674d8d74395c">00116</a> <a class="code" href="classSpectralCentroid.html#a9b5f5581691ff8f46bb7674d8d74395c" title="Reset the plugin after use, to prepare it for another clean run.">SpectralCentroid::reset</a>() +<a name="l00117"></a>00117 { +<a name="l00118"></a>00118 } +<a name="l00119"></a>00119 +<a name="l00120"></a>00120 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">SpectralCentroid::OutputList</a> +<a name="l00121"></a><a class="code" href="classSpectralCentroid.html#a894ca9740927102bb80b56b5e9e95877">00121</a> <a class="code" href="classSpectralCentroid.html#a894ca9740927102bb80b56b5e9e95877" title="Get the outputs of this plugin.">SpectralCentroid::getOutputDescriptors</a>()<span class="keyword"> const</span> +<a name="l00122"></a>00122 <span class="keyword"></span>{ +<a name="l00123"></a>00123 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> list; +<a name="l00124"></a>00124 +<a name="l00125"></a>00125 <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> d; +<a name="l00126"></a>00126 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b" title="The name of the output, in computer-usable form.">identifier</a> = <span class="stringliteral">"logcentroid"</span>; +<a name="l00127"></a>00127 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87" title="The human-readable name of the output.">name</a> = <span class="stringliteral">"Log Frequency Centroid"</span>; +<a name="l00128"></a>00128 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1" title="A human-readable short text describing the output.">description</a> = <span class="stringliteral">"Centroid of the log weighted frequency spectrum"</span>; +<a name="l00129"></a>00129 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4" title="The unit of the output, in human-readable form.">unit</a> = <span class="stringliteral">"Hz"</span>; +<a name="l00130"></a>00130 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d" title="True if the output has the same number of values per sample for every output sample.">hasFixedBinCount</a> = <span class="keyword">true</span>; +<a name="l00131"></a>00131 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc" title="The number of values per result of the output.">binCount</a> = 1; +<a name="l00132"></a>00132 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae9ccb65f99f477096b65dd031f4c5e31" title="True if the results in each output bin fall within a fixed numeric range (minimum and maximum values)...">hasKnownExtents</a> = <span class="keyword">false</span>; +<a name="l00133"></a>00133 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1b4858928d23bfd7d5bc557c82a83fb4" title="True if the output values are quantized to a particular resolution.">isQuantized</a> = <span class="keyword">false</span>; +<a name="l00134"></a>00134 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d" title="Positioning in time of the output results.">sampleType</a> = <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca0459d5d0d2198d21e8bc90abe4fdccca" title="Results from each process() align with that call's block start.">OutputDescriptor::OneSamplePerStep</a>; +<a name="l00135"></a>00135 list.push_back(d); +<a name="l00136"></a>00136 +<a name="l00137"></a>00137 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b" title="The name of the output, in computer-usable form.">identifier</a> = <span class="stringliteral">"linearcentroid"</span>; +<a name="l00138"></a>00138 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87" title="The human-readable name of the output.">name</a> = <span class="stringliteral">"Linear Frequency Centroid"</span>; +<a name="l00139"></a>00139 d.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1" title="A human-readable short text describing the output.">description</a> = <span class="stringliteral">"Centroid of the linear frequency spectrum"</span>; +<a name="l00140"></a>00140 list.push_back(d); +<a name="l00141"></a>00141 +<a name="l00142"></a>00142 <span class="keywordflow">return</span> list; +<a name="l00143"></a>00143 } +<a name="l00144"></a>00144 +<a name="l00145"></a>00145 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">SpectralCentroid::FeatureSet</a> +<a name="l00146"></a><a class="code" href="classSpectralCentroid.html#aca96c70e7e75c9e4a7db38485018914c">00146</a> <a class="code" href="classSpectralCentroid.html#aca96c70e7e75c9e4a7db38485018914c" title="Process a single block of input data.">SpectralCentroid::process</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">Vamp::RealTime</a> timestamp) +<a name="l00147"></a>00147 { +<a name="l00148"></a>00148 <span class="keywordflow">if</span> (<a class="code" href="classSpectralCentroid.html#a49805a090ba58477da4adbefea4392a7">m_stepSize</a> == 0) { +<a name="l00149"></a>00149 cerr << <span class="stringliteral">"ERROR: SpectralCentroid::process: "</span> +<a name="l00150"></a>00150 << <span class="stringliteral">"SpectralCentroid has not been initialised"</span> +<a name="l00151"></a>00151 << endl; +<a name="l00152"></a>00152 <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>(); +<a name="l00153"></a>00153 } +<a name="l00154"></a>00154 +<a name="l00155"></a>00155 <span class="keywordtype">double</span> numLin = 0.0, numLog = 0.0, denom = 0.0; +<a name="l00156"></a>00156 +<a name="l00157"></a>00157 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 1; i <= <a class="code" href="classSpectralCentroid.html#a262f583d71b442bb2d80023e7c85aa4e">m_blockSize</a>/2; ++i) { +<a name="l00158"></a>00158 <span class="keywordtype">double</span> freq = (double(i) * <a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a>) / <a class="code" href="classSpectralCentroid.html#a262f583d71b442bb2d80023e7c85aa4e">m_blockSize</a>; +<a name="l00159"></a>00159 <span class="keywordtype">double</span> real = inputBuffers[0][i*2]; +<a name="l00160"></a>00160 <span class="keywordtype">double</span> imag = inputBuffers[0][i*2 + 1]; +<a name="l00161"></a>00161 <span class="keywordtype">double</span> scalemag = sqrt(real * real + imag * imag) / (<a class="code" href="classSpectralCentroid.html#a262f583d71b442bb2d80023e7c85aa4e">m_blockSize</a>/2); +<a name="l00162"></a>00162 numLin += freq * scalemag; +<a name="l00163"></a>00163 numLog += log10f(freq) * scalemag; +<a name="l00164"></a>00164 denom += scalemag; +<a name="l00165"></a>00165 } +<a name="l00166"></a>00166 +<a name="l00167"></a>00167 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> returnFeatures; +<a name="l00168"></a>00168 +<a name="l00169"></a>00169 <span class="keywordflow">if</span> (denom != 0.0) { +<a name="l00170"></a>00170 <span class="keywordtype">float</span> centroidLin = float(numLin / denom); +<a name="l00171"></a>00171 <span class="keywordtype">float</span> centroidLog = powf(10, <span class="keywordtype">float</span>(numLog / denom)); +<a name="l00172"></a>00172 +<a name="l00173"></a>00173 <a class="code" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> feature; +<a name="l00174"></a>00174 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b" title="True if an output feature has its own timestamp.">hasTimestamp</a> = <span class="keyword">false</span>; +<a name="l00175"></a>00175 +<a name="l00176"></a>00176 <span class="keywordflow">if</span> (!isnan(centroidLog) && !isinf(centroidLog)) { +<a name="l00177"></a>00177 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>.push_back(centroidLog); +<a name="l00178"></a>00178 } +<a name="l00179"></a>00179 returnFeatures[0].push_back(feature); +<a name="l00180"></a>00180 +<a name="l00181"></a>00181 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>.clear(); +<a name="l00182"></a>00182 <span class="keywordflow">if</span> (!isnan(centroidLin) && !isinf(centroidLin)) { +<a name="l00183"></a>00183 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>.push_back(centroidLin); +<a name="l00184"></a>00184 } +<a name="l00185"></a>00185 returnFeatures[1].push_back(feature); +<a name="l00186"></a>00186 } +<a name="l00187"></a>00187 +<a name="l00188"></a>00188 <span class="keywordflow">return</span> returnFeatures; +<a name="l00189"></a>00189 } +<a name="l00190"></a>00190 +<a name="l00191"></a>00191 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">SpectralCentroid::FeatureSet</a> +<a name="l00192"></a><a class="code" href="classSpectralCentroid.html#a83ba39f0870a2f86837605a958dfab1a">00192</a> <a class="code" href="classSpectralCentroid.html#a83ba39f0870a2f86837605a958dfab1a" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">SpectralCentroid::getRemainingFeatures</a>() +<a name="l00193"></a>00193 { +<a name="l00194"></a>00194 <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>(); +<a name="l00195"></a>00195 } +<a name="l00196"></a>00196 +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="SpectralCentroid_8cpp.html">SpectralCentroid.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/SpectralCentroid_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,102 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: SpectralCentroid.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('SpectralCentroid_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> </div> + <div class="headertitle"> +<div class="title">SpectralCentroid.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="SpectralCentroid_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Example plugin that calculates the centre of gravity of the frequency domain representation of each block of audio. <a href="classSpectralCentroid.html#details">More...</a><br/></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="SpectralCentroid_8h.html">SpectralCentroid.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/SpectralCentroid_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,165 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: SpectralCentroid.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('SpectralCentroid_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">SpectralCentroid.h</div> </div> +</div> +<div class="contents"> +<a href="SpectralCentroid_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _SPECTRAL_CENTROID_PLUGIN_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _SPECTRAL_CENTROID_PLUGIN_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="vamp-sdk_2Plugin_8h.html">vamp-sdk/Plugin.h</a>"</span> +<a name="l00041"></a>00041 +<a name="l00047"></a><a class="code" href="classSpectralCentroid.html">00047</a> <span class="keyword">class </span><a class="code" href="classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation of each b...">SpectralCentroid</a> : <span class="keyword">public</span> Vamp::<a class="code" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a> +<a name="l00048"></a>00048 { +<a name="l00049"></a>00049 <span class="keyword">public</span>: +<a name="l00050"></a>00050 <a class="code" href="classSpectralCentroid.html#a2cd801ad72f262eceb95ab0d22e7dbcd">SpectralCentroid</a>(<span class="keywordtype">float</span> inputSampleRate); +<a name="l00051"></a>00051 <span class="keyword">virtual</span> <a class="code" href="classSpectralCentroid.html#a483e0d6757bc3dcf61e8066f764f45c6">~SpectralCentroid</a>(); +<a name="l00052"></a>00052 +<a name="l00053"></a>00053 <span class="keywordtype">bool</span> <a class="code" href="classSpectralCentroid.html#aab1ae16f5c68e2b319668f447908cedb" title="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).">initialise</a>(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize); +<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classSpectralCentroid.html#a9b5f5581691ff8f46bb7674d8d74395c" title="Reset the plugin after use, to prepare it for another clean run.">reset</a>(); +<a name="l00055"></a>00055 +<a name="l00056"></a><a class="code" href="classSpectralCentroid.html#a0ec2cb74c1c5f6e57d0bd9dcf7c8f469">00056</a> <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> <a class="code" href="classSpectralCentroid.html#a0ec2cb74c1c5f6e57d0bd9dcf7c8f469" title="Get the plugin's required input domain.">getInputDomain</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>; } +<a name="l00057"></a>00057 +<a name="l00058"></a>00058 std::string <a class="code" href="classSpectralCentroid.html#a1b2c4c8440c024c4c635fcef5697949f" title="Get the computer-usable name of the plugin.">getIdentifier</a>() <span class="keyword">const</span>; +<a name="l00059"></a>00059 std::string <a class="code" href="classSpectralCentroid.html#ab7e6a620fea568af431be3cfd9dd5a41" title="Get a human-readable name or title of the plugin.">getName</a>() <span class="keyword">const</span>; +<a name="l00060"></a>00060 std::string <a class="code" href="classSpectralCentroid.html#a8fbb74a46283057d9a0b0e4718ee943c" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">getDescription</a>() <span class="keyword">const</span>; +<a name="l00061"></a>00061 std::string <a class="code" href="classSpectralCentroid.html#ac01ff858bf67e2e93ad5d24a6ba8c8c8" title="Get the name of the author or vendor of the plugin in human-readable form.">getMaker</a>() <span class="keyword">const</span>; +<a name="l00062"></a>00062 <span class="keywordtype">int</span> <a class="code" href="classSpectralCentroid.html#af64622e66bf678ac2b0b58aa832ca2b3" title="Get the version number of the plugin.">getPluginVersion</a>() <span class="keyword">const</span>; +<a name="l00063"></a>00063 std::string <a class="code" href="classSpectralCentroid.html#a925747d513d598e0fa21ed0ed6520980" title="Get the copyright statement or licensing summary for the plugin.">getCopyright</a>() <span class="keyword">const</span>; +<a name="l00064"></a>00064 +<a name="l00065"></a>00065 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> <a class="code" href="classSpectralCentroid.html#a894ca9740927102bb80b56b5e9e95877" title="Get the outputs of this plugin.">getOutputDescriptors</a>() <span class="keyword">const</span>; +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="code" href="classSpectralCentroid.html#aca96c70e7e75c9e4a7db38485018914c" title="Process a single block of input data.">process</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, +<a name="l00068"></a>00068 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">Vamp::RealTime</a> timestamp); +<a name="l00069"></a>00069 +<a name="l00070"></a>00070 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="code" href="classSpectralCentroid.html#a83ba39f0870a2f86837605a958dfab1a" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">getRemainingFeatures</a>(); +<a name="l00071"></a>00071 +<a name="l00072"></a>00072 <span class="keyword">protected</span>: +<a name="l00073"></a><a class="code" href="classSpectralCentroid.html#a49805a090ba58477da4adbefea4392a7">00073</a> <span class="keywordtype">size_t</span> <a class="code" href="classSpectralCentroid.html#a49805a090ba58477da4adbefea4392a7">m_stepSize</a>; +<a name="l00074"></a><a class="code" href="classSpectralCentroid.html#a262f583d71b442bb2d80023e7c85aa4e">00074</a> <span class="keywordtype">size_t</span> <a class="code" href="classSpectralCentroid.html#a262f583d71b442bb2d80023e7c85aa4e">m_blockSize</a>; +<a name="l00075"></a>00075 }; +<a name="l00076"></a>00076 +<a name="l00077"></a>00077 +<a name="l00078"></a>00078 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="SpectralCentroid_8h.html">SpectralCentroid.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/ZeroCrossing_8cpp.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: ZeroCrossing.cpp File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('ZeroCrossing_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">ZeroCrossing.cpp File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="ZeroCrossing_8cpp_source.html">Go to the source code of this file.</a></p> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="ZeroCrossing_8cpp.html">ZeroCrossing.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/ZeroCrossing_8cpp_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,287 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: ZeroCrossing.cpp Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('ZeroCrossing_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">ZeroCrossing.cpp</div> </div> +</div> +<div class="contents"> +<a href="ZeroCrossing_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="ZeroCrossing_8h.html">ZeroCrossing.h</a>"</span> +<a name="l00038"></a>00038 +<a name="l00039"></a>00039 <span class="keyword">using</span> std::string; +<a name="l00040"></a>00040 <span class="keyword">using</span> std::vector; +<a name="l00041"></a>00041 <span class="keyword">using</span> std::cerr; +<a name="l00042"></a>00042 <span class="keyword">using</span> std::endl; +<a name="l00043"></a>00043 +<a name="l00044"></a>00044 <span class="preprocessor">#include <cmath></span> +<a name="l00045"></a>00045 +<a name="l00046"></a><a class="code" href="classZeroCrossing.html#a9855153a54bdc9ba75cc1a705a149473">00046</a> <a class="code" href="classZeroCrossing.html#a9855153a54bdc9ba75cc1a705a149473">ZeroCrossing::ZeroCrossing</a>(<span class="keywordtype">float</span> inputSampleRate) : +<a name="l00047"></a>00047 Plugin(inputSampleRate), +<a name="l00048"></a>00048 m_stepSize(0), +<a name="l00049"></a>00049 m_previousSample(0.0f) +<a name="l00050"></a>00050 { +<a name="l00051"></a>00051 } +<a name="l00052"></a>00052 +<a name="l00053"></a><a class="code" href="classZeroCrossing.html#af1de0da862e6e2443581e4e16044675b">00053</a> <a class="code" href="classZeroCrossing.html#af1de0da862e6e2443581e4e16044675b">ZeroCrossing::~ZeroCrossing</a>() +<a name="l00054"></a>00054 { +<a name="l00055"></a>00055 } +<a name="l00056"></a>00056 +<a name="l00057"></a>00057 <span class="keywordtype">string</span> +<a name="l00058"></a><a class="code" href="classZeroCrossing.html#af2baf9e19fcdd11cfe97ace56d4f5c1a">00058</a> <a class="code" href="classZeroCrossing.html#af2baf9e19fcdd11cfe97ace56d4f5c1a" title="Get the computer-usable name of the plugin.">ZeroCrossing::getIdentifier</a>()<span class="keyword"> const</span> +<a name="l00059"></a>00059 <span class="keyword"></span>{ +<a name="l00060"></a>00060 <span class="keywordflow">return</span> <span class="stringliteral">"zerocrossing"</span>; +<a name="l00061"></a>00061 } +<a name="l00062"></a>00062 +<a name="l00063"></a>00063 <span class="keywordtype">string</span> +<a name="l00064"></a><a class="code" href="classZeroCrossing.html#afa96f7ce6e7d9f03768f48c6a9d88498">00064</a> <a class="code" href="classZeroCrossing.html#afa96f7ce6e7d9f03768f48c6a9d88498" title="Get a human-readable name or title of the plugin.">ZeroCrossing::getName</a>()<span class="keyword"> const</span> +<a name="l00065"></a>00065 <span class="keyword"></span>{ +<a name="l00066"></a>00066 <span class="keywordflow">return</span> <span class="stringliteral">"Zero Crossings"</span>; +<a name="l00067"></a>00067 } +<a name="l00068"></a>00068 +<a name="l00069"></a>00069 <span class="keywordtype">string</span> +<a name="l00070"></a><a class="code" href="classZeroCrossing.html#a710bb0b013157adaeef2a9e6867b4478">00070</a> <a class="code" href="classZeroCrossing.html#a710bb0b013157adaeef2a9e6867b4478" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">ZeroCrossing::getDescription</a>()<span class="keyword"> const</span> +<a name="l00071"></a>00071 <span class="keyword"></span>{ +<a name="l00072"></a>00072 <span class="keywordflow">return</span> <span class="stringliteral">"Detect and count zero crossing points"</span>; +<a name="l00073"></a>00073 } +<a name="l00074"></a>00074 +<a name="l00075"></a>00075 <span class="keywordtype">string</span> +<a name="l00076"></a><a class="code" href="classZeroCrossing.html#ac68561634a3c329a029c2fd3deaeae2a">00076</a> <a class="code" href="classZeroCrossing.html#ac68561634a3c329a029c2fd3deaeae2a" title="Get the name of the author or vendor of the plugin in human-readable form.">ZeroCrossing::getMaker</a>()<span class="keyword"> const</span> +<a name="l00077"></a>00077 <span class="keyword"></span>{ +<a name="l00078"></a>00078 <span class="keywordflow">return</span> <span class="stringliteral">"Vamp SDK Example Plugins"</span>; +<a name="l00079"></a>00079 } +<a name="l00080"></a>00080 +<a name="l00081"></a>00081 <span class="keywordtype">int</span> +<a name="l00082"></a><a class="code" href="classZeroCrossing.html#ad685f6c2f443f07a1634550c335571eb">00082</a> <a class="code" href="classZeroCrossing.html#ad685f6c2f443f07a1634550c335571eb" title="Get the version number of the plugin.">ZeroCrossing::getPluginVersion</a>()<span class="keyword"> const</span> +<a name="l00083"></a>00083 <span class="keyword"></span>{ +<a name="l00084"></a>00084 <span class="keywordflow">return</span> 2; +<a name="l00085"></a>00085 } +<a name="l00086"></a>00086 +<a name="l00087"></a>00087 <span class="keywordtype">string</span> +<a name="l00088"></a><a class="code" href="classZeroCrossing.html#af9c41b92aa8ff8bddaebf75569ff789c">00088</a> <a class="code" href="classZeroCrossing.html#af9c41b92aa8ff8bddaebf75569ff789c" title="Get the copyright statement or licensing summary for the plugin.">ZeroCrossing::getCopyright</a>()<span class="keyword"> const</span> +<a name="l00089"></a>00089 <span class="keyword"></span>{ +<a name="l00090"></a>00090 <span class="keywordflow">return</span> <span class="stringliteral">"Freely redistributable (BSD license)"</span>; +<a name="l00091"></a>00091 } +<a name="l00092"></a>00092 +<a name="l00093"></a>00093 <span class="keywordtype">bool</span> +<a name="l00094"></a><a class="code" href="classZeroCrossing.html#af21bbcc87a6eb7875dfab7d86222dccc">00094</a> <a class="code" href="classZeroCrossing.html#af21bbcc87a6eb7875dfab7d86222dccc" title="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).">ZeroCrossing::initialise</a>(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize) +<a name="l00095"></a>00095 { +<a name="l00096"></a>00096 <span class="keywordflow">if</span> (channels < <a class="code" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525" title="Get the minimum supported number of input channels.">getMinChannelCount</a>() || +<a name="l00097"></a>00097 channels > <a class="code" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e" title="Get the maximum supported number of input channels.">getMaxChannelCount</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>; +<a name="l00098"></a>00098 +<a name="l00099"></a>00099 <a class="code" href="classZeroCrossing.html#a584f100b87c78f9af9da040d79567d52">m_stepSize</a> = std::min(stepSize, blockSize); +<a name="l00100"></a>00100 +<a name="l00101"></a>00101 <span class="keywordflow">return</span> <span class="keyword">true</span>; +<a name="l00102"></a>00102 } +<a name="l00103"></a>00103 +<a name="l00104"></a>00104 <span class="keywordtype">void</span> +<a name="l00105"></a><a class="code" href="classZeroCrossing.html#a9ae6c4a31ea027dceb1e97ead807e228">00105</a> <a class="code" href="classZeroCrossing.html#a9ae6c4a31ea027dceb1e97ead807e228" title="Reset the plugin after use, to prepare it for another clean run.">ZeroCrossing::reset</a>() +<a name="l00106"></a>00106 { +<a name="l00107"></a>00107 <a class="code" href="classZeroCrossing.html#a0f2d9f2cab0a8a30344e1f2c0ebb8ee8">m_previousSample</a> = 0.0f; +<a name="l00108"></a>00108 } +<a name="l00109"></a>00109 +<a name="l00110"></a>00110 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">ZeroCrossing::OutputList</a> +<a name="l00111"></a><a class="code" href="classZeroCrossing.html#ac9d590a6feb1fc9a37d7892aefe2b688">00111</a> <a class="code" href="classZeroCrossing.html#ac9d590a6feb1fc9a37d7892aefe2b688" title="Get the outputs of this plugin.">ZeroCrossing::getOutputDescriptors</a>()<span class="keyword"> const</span> +<a name="l00112"></a>00112 <span class="keyword"></span>{ +<a name="l00113"></a>00113 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> list; +<a name="l00114"></a>00114 +<a name="l00115"></a>00115 <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> zc; +<a name="l00116"></a>00116 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b" title="The name of the output, in computer-usable form.">identifier</a> = <span class="stringliteral">"counts"</span>; +<a name="l00117"></a>00117 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87" title="The human-readable name of the output.">name</a> = <span class="stringliteral">"Zero Crossing Counts"</span>; +<a name="l00118"></a>00118 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1" title="A human-readable short text describing the output.">description</a> = <span class="stringliteral">"The number of zero crossing points per processing block"</span>; +<a name="l00119"></a>00119 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4" title="The unit of the output, in human-readable form.">unit</a> = <span class="stringliteral">"crossings"</span>; +<a name="l00120"></a>00120 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d" title="True if the output has the same number of values per sample for every output sample.">hasFixedBinCount</a> = <span class="keyword">true</span>; +<a name="l00121"></a>00121 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc" title="The number of values per result of the output.">binCount</a> = 1; +<a name="l00122"></a>00122 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae9ccb65f99f477096b65dd031f4c5e31" title="True if the results in each output bin fall within a fixed numeric range (minimum and maximum values)...">hasKnownExtents</a> = <span class="keyword">false</span>; +<a name="l00123"></a>00123 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1b4858928d23bfd7d5bc557c82a83fb4" title="True if the output values are quantized to a particular resolution.">isQuantized</a> = <span class="keyword">true</span>; +<a name="l00124"></a>00124 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a3bed37153067b625b95acb40b60dbf0b" title="Quantization resolution of the output values (e.g.">quantizeStep</a> = 1.0; +<a name="l00125"></a>00125 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d" title="Positioning in time of the output results.">sampleType</a> = <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca0459d5d0d2198d21e8bc90abe4fdccca" title="Results from each process() align with that call's block start.">OutputDescriptor::OneSamplePerStep</a>; +<a name="l00126"></a>00126 list.push_back(zc); +<a name="l00127"></a>00127 +<a name="l00128"></a>00128 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b" title="The name of the output, in computer-usable form.">identifier</a> = <span class="stringliteral">"zerocrossings"</span>; +<a name="l00129"></a>00129 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87" title="The human-readable name of the output.">name</a> = <span class="stringliteral">"Zero Crossings"</span>; +<a name="l00130"></a>00130 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1" title="A human-readable short text describing the output.">description</a> = <span class="stringliteral">"The locations of zero crossing points"</span>; +<a name="l00131"></a>00131 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4" title="The unit of the output, in human-readable form.">unit</a> = <span class="stringliteral">""</span>; +<a name="l00132"></a>00132 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d" title="True if the output has the same number of values per sample for every output sample.">hasFixedBinCount</a> = <span class="keyword">true</span>; +<a name="l00133"></a>00133 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc" title="The number of values per result of the output.">binCount</a> = 0; +<a name="l00134"></a>00134 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d" title="Positioning in time of the output results.">sampleType</a> = <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448cadea995a737867f7b22b52f1c43c5432e" title="Results are unevenly spaced and have individual timestamps.">OutputDescriptor::VariableSampleRate</a>; +<a name="l00135"></a>00135 zc.<a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#add0cbbdfa9c91764037c39365b1d42af" title="Sample rate of the output results, as samples per second.">sampleRate</a> = <a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a>; +<a name="l00136"></a>00136 list.push_back(zc); +<a name="l00137"></a>00137 +<a name="l00138"></a>00138 <span class="keywordflow">return</span> list; +<a name="l00139"></a>00139 } +<a name="l00140"></a>00140 +<a name="l00141"></a>00141 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">ZeroCrossing::FeatureSet</a> +<a name="l00142"></a><a class="code" href="classZeroCrossing.html#abf4aaa6fd8cc03de63f4e1e8942633da">00142</a> <a class="code" href="classZeroCrossing.html#abf4aaa6fd8cc03de63f4e1e8942633da" title="Process a single block of input data.">ZeroCrossing::process</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, +<a name="l00143"></a>00143 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">Vamp::RealTime</a> timestamp) +<a name="l00144"></a>00144 { +<a name="l00145"></a>00145 <span class="keywordflow">if</span> (<a class="code" href="classZeroCrossing.html#a584f100b87c78f9af9da040d79567d52">m_stepSize</a> == 0) { +<a name="l00146"></a>00146 cerr << <span class="stringliteral">"ERROR: ZeroCrossing::process: "</span> +<a name="l00147"></a>00147 << <span class="stringliteral">"ZeroCrossing has not been initialised"</span> +<a name="l00148"></a>00148 << endl; +<a name="l00149"></a>00149 <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>(); +<a name="l00150"></a>00150 } +<a name="l00151"></a>00151 +<a name="l00152"></a>00152 <span class="keywordtype">float</span> prev = <a class="code" href="classZeroCrossing.html#a0f2d9f2cab0a8a30344e1f2c0ebb8ee8">m_previousSample</a>; +<a name="l00153"></a>00153 <span class="keywordtype">size_t</span> count = 0; +<a name="l00154"></a>00154 +<a name="l00155"></a>00155 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> returnFeatures; +<a name="l00156"></a>00156 +<a name="l00157"></a>00157 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < <a class="code" href="classZeroCrossing.html#a584f100b87c78f9af9da040d79567d52">m_stepSize</a>; ++i) { +<a name="l00158"></a>00158 +<a name="l00159"></a>00159 <span class="keywordtype">float</span> sample = inputBuffers[0][i]; +<a name="l00160"></a>00160 <span class="keywordtype">bool</span> crossing = <span class="keyword">false</span>; +<a name="l00161"></a>00161 +<a name="l00162"></a>00162 <span class="keywordflow">if</span> (sample <= 0.0) { +<a name="l00163"></a>00163 <span class="keywordflow">if</span> (prev > 0.0) crossing = <span class="keyword">true</span>; +<a name="l00164"></a>00164 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (sample > 0.0) { +<a name="l00165"></a>00165 <span class="keywordflow">if</span> (prev <= 0.0) crossing = <span class="keyword">true</span>; +<a name="l00166"></a>00166 } +<a name="l00167"></a>00167 +<a name="l00168"></a>00168 <span class="keywordflow">if</span> (crossing) { +<a name="l00169"></a>00169 ++count; +<a name="l00170"></a>00170 <a class="code" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> feature; +<a name="l00171"></a>00171 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b" title="True if an output feature has its own timestamp.">hasTimestamp</a> = <span class="keyword">true</span>; +<a name="l00172"></a>00172 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#acaa605f36839c07e76f4882f5e22d8d7" title="Timestamp of the output feature.">timestamp</a> = timestamp + +<a name="l00173"></a>00173 <a class="code" href="structVamp_1_1RealTime.html#a939b4b1d1ca190db69a418883f16ce8a" title="Convert a sample frame at the given sample rate into a RealTime.">Vamp::RealTime::frame2RealTime</a>(i, (<span class="keywordtype">size_t</span>)<a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a>); +<a name="l00174"></a>00174 returnFeatures[1].push_back(feature); +<a name="l00175"></a>00175 } +<a name="l00176"></a>00176 +<a name="l00177"></a>00177 prev = sample; +<a name="l00178"></a>00178 } +<a name="l00179"></a>00179 +<a name="l00180"></a>00180 <a class="code" href="classZeroCrossing.html#a0f2d9f2cab0a8a30344e1f2c0ebb8ee8">m_previousSample</a> = prev; +<a name="l00181"></a>00181 +<a name="l00182"></a>00182 <a class="code" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> feature; +<a name="l00183"></a>00183 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b" title="True if an output feature has its own timestamp.">hasTimestamp</a> = <span class="keyword">false</span>; +<a name="l00184"></a>00184 feature.<a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>.push_back(<span class="keywordtype">float</span>(count)); +<a name="l00185"></a>00185 +<a name="l00186"></a>00186 returnFeatures[0].push_back(feature); +<a name="l00187"></a>00187 <span class="keywordflow">return</span> returnFeatures; +<a name="l00188"></a>00188 } +<a name="l00189"></a>00189 +<a name="l00190"></a>00190 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">ZeroCrossing::FeatureSet</a> +<a name="l00191"></a><a class="code" href="classZeroCrossing.html#a70996d1b7166e303903daf92a9a37ad8">00191</a> <a class="code" href="classZeroCrossing.html#a70996d1b7166e303903daf92a9a37ad8" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">ZeroCrossing::getRemainingFeatures</a>() +<a name="l00192"></a>00192 { +<a name="l00193"></a>00193 <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>(); +<a name="l00194"></a>00194 } +<a name="l00195"></a>00195 +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="ZeroCrossing_8cpp.html">ZeroCrossing.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/ZeroCrossing_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,102 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: ZeroCrossing.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('ZeroCrossing_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> </div> + <div class="headertitle"> +<div class="title">ZeroCrossing.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="ZeroCrossing_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Example plugin that calculates the positions and density of zero-crossing points in an audio waveform. <a href="classZeroCrossing.html#details">More...</a><br/></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="ZeroCrossing_8h.html">ZeroCrossing.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/ZeroCrossing_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,165 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: ZeroCrossing.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('ZeroCrossing_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">ZeroCrossing.h</div> </div> +</div> +<div class="contents"> +<a href="ZeroCrossing_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _ZERO_CROSSING_PLUGIN_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _ZERO_CROSSING_PLUGIN_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="vamp-sdk_2Plugin_8h.html">vamp-sdk/Plugin.h</a>"</span> +<a name="l00041"></a>00041 +<a name="l00047"></a><a class="code" href="classZeroCrossing.html">00047</a> <span class="keyword">class </span><a class="code" href="classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero-crossing points in an audio waveform...">ZeroCrossing</a> : <span class="keyword">public</span> Vamp::<a class="code" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a> +<a name="l00048"></a>00048 { +<a name="l00049"></a>00049 <span class="keyword">public</span>: +<a name="l00050"></a>00050 <a class="code" href="classZeroCrossing.html#a9855153a54bdc9ba75cc1a705a149473">ZeroCrossing</a>(<span class="keywordtype">float</span> inputSampleRate); +<a name="l00051"></a>00051 <span class="keyword">virtual</span> <a class="code" href="classZeroCrossing.html#af1de0da862e6e2443581e4e16044675b">~ZeroCrossing</a>(); +<a name="l00052"></a>00052 +<a name="l00053"></a>00053 <span class="keywordtype">bool</span> <a class="code" href="classZeroCrossing.html#af21bbcc87a6eb7875dfab7d86222dccc" title="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).">initialise</a>(<span class="keywordtype">size_t</span> channels, <span class="keywordtype">size_t</span> stepSize, <span class="keywordtype">size_t</span> blockSize); +<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="classZeroCrossing.html#a9ae6c4a31ea027dceb1e97ead807e228" title="Reset the plugin after use, to prepare it for another clean run.">reset</a>(); +<a name="l00055"></a>00055 +<a name="l00056"></a><a class="code" href="classZeroCrossing.html#aafe2ce6ebd353a14c40db7e8e60f4051">00056</a> <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> <a class="code" href="classZeroCrossing.html#aafe2ce6ebd353a14c40db7e8e60f4051" title="Get the plugin's required input domain.">getInputDomain</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>; } +<a name="l00057"></a>00057 +<a name="l00058"></a>00058 std::string <a class="code" href="classZeroCrossing.html#af2baf9e19fcdd11cfe97ace56d4f5c1a" title="Get the computer-usable name of the plugin.">getIdentifier</a>() <span class="keyword">const</span>; +<a name="l00059"></a>00059 std::string <a class="code" href="classZeroCrossing.html#afa96f7ce6e7d9f03768f48c6a9d88498" title="Get a human-readable name or title of the plugin.">getName</a>() <span class="keyword">const</span>; +<a name="l00060"></a>00060 std::string <a class="code" href="classZeroCrossing.html#a710bb0b013157adaeef2a9e6867b4478" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">getDescription</a>() <span class="keyword">const</span>; +<a name="l00061"></a>00061 std::string <a class="code" href="classZeroCrossing.html#ac68561634a3c329a029c2fd3deaeae2a" title="Get the name of the author or vendor of the plugin in human-readable form.">getMaker</a>() <span class="keyword">const</span>; +<a name="l00062"></a>00062 <span class="keywordtype">int</span> <a class="code" href="classZeroCrossing.html#ad685f6c2f443f07a1634550c335571eb" title="Get the version number of the plugin.">getPluginVersion</a>() <span class="keyword">const</span>; +<a name="l00063"></a>00063 std::string <a class="code" href="classZeroCrossing.html#af9c41b92aa8ff8bddaebf75569ff789c" title="Get the copyright statement or licensing summary for the plugin.">getCopyright</a>() <span class="keyword">const</span>; +<a name="l00064"></a>00064 +<a name="l00065"></a>00065 <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> <a class="code" href="classZeroCrossing.html#ac9d590a6feb1fc9a37d7892aefe2b688" title="Get the outputs of this plugin.">getOutputDescriptors</a>() <span class="keyword">const</span>; +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="code" href="classZeroCrossing.html#abf4aaa6fd8cc03de63f4e1e8942633da" title="Process a single block of input data.">process</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, +<a name="l00068"></a>00068 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">Vamp::RealTime</a> timestamp); +<a name="l00069"></a>00069 +<a name="l00070"></a>00070 <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> <a class="code" href="classZeroCrossing.html#a70996d1b7166e303903daf92a9a37ad8" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">getRemainingFeatures</a>(); +<a name="l00071"></a>00071 +<a name="l00072"></a>00072 <span class="keyword">protected</span>: +<a name="l00073"></a><a class="code" href="classZeroCrossing.html#a584f100b87c78f9af9da040d79567d52">00073</a> <span class="keywordtype">size_t</span> <a class="code" href="classZeroCrossing.html#a584f100b87c78f9af9da040d79567d52">m_stepSize</a>; +<a name="l00074"></a><a class="code" href="classZeroCrossing.html#a0f2d9f2cab0a8a30344e1f2c0ebb8ee8">00074</a> <span class="keywordtype">float</span> <a class="code" href="classZeroCrossing.html#a0f2d9f2cab0a8a30344e1f2c0ebb8ee8">m_previousSample</a>; +<a name="l00075"></a>00075 }; +<a name="l00076"></a>00076 +<a name="l00077"></a>00077 +<a name="l00078"></a>00078 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="ZeroCrossing_8h.html">ZeroCrossing.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/annotated.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,123 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('annotated.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Class List</div> </div> +</div> +<div class="contents"> +<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><table> + <tr><td class="indexkey"><a class="el" href="struct__VampFeature.html">_VampFeature</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="struct__VampFeatureList.html">_VampFeatureList</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="union__VampFeatureUnion.html">_VampFeatureUnion</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="struct__VampFeatureV2.html">_VampFeatureV2</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a></td><td class="indexvalue">C language API for <a class="el" href="namespaceVamp.html">Vamp</a> plugins </td></tr> + <tr><td class="indexkey"><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td class="indexvalue">Example plugin implementing the SuperCollider amplitude follower function </td></tr> + <tr><td class="indexkey"><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Vamp::Plugin::Feature</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td class="indexvalue">Example plugin that estimates the tempo of a short fixed-tempo sample </td></tr> + <tr><td class="indexkey"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">Vamp::PluginBase::ParameterDescriptor</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td class="indexvalue">Example plugin that detects percussive events </td></tr> + <tr><td class="indexkey"><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td class="indexvalue"><a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> is a base class for plugin instance classes that provide feature extraction from audio or related data </td></tr> + <tr><td class="indexkey"><a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter< P ></a></td><td class="indexvalue"><a class="el" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">PluginAdapter</a> turns a <a class="el" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a> into a specific wrapper for a particular plugin implementation </td></tr> + <tr><td class="indexkey"><a class="el" href="classVamp_1_1PluginAdapterBase.html">Vamp::PluginAdapterBase</a></td><td class="indexvalue"><a class="el" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">PluginAdapter</a> and <a class="el" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a> provide a wrapper class that a plugin library can use to make its C++ <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> objects available through the <a class="el" href="namespaceVamp.html">Vamp</a> C API </td></tr> + <tr><td class="indexkey"><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td class="indexvalue">A base class for plugins with optional configurable parameters, programs, etc </td></tr> + <tr><td class="indexkey"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td class="indexvalue"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that allows plugins to be used by a host supplying an audio stream in non-overlapping buffers of arbitrary size </td></tr> + <tr><td class="indexkey"><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html">Vamp::HostExt::PluginChannelAdapter</a></td><td class="indexvalue"><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that implements a policy for management of plugins that expect a different number of input channels from the number actually available in the source audio data </td></tr> + <tr><td class="indexkey"><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td class="indexvalue"><a class="el" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri...">PluginHostAdapter</a> is a wrapper class that a <a class="el" href="namespaceVamp.html">Vamp</a> host can use to make the C-language VampPluginDescriptor object appear as a C++ <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> object </td></tr> + <tr><td class="indexkey"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td class="indexvalue"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that converts time-domain input into frequency-domain input for plugins that need it </td></tr> + <tr><td class="indexkey"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td class="indexvalue"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">Vamp::HostExt::PluginLoader</a> is a convenience class for discovering and loading <a class="el" href="namespaceVamp.html">Vamp</a> plugins using the typical plugin-path, library naming, and categorisation conventions described in the <a class="el" href="namespaceVamp.html">Vamp</a> SDK documentation </td></tr> + <tr><td class="indexkey"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td class="indexvalue"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an...">PluginSummarisingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that provides summarisation methods such as mean and median averages of output features, for use in any context where an available plugin produces individual values but the result that is actually needed is some sort of aggregate </td></tr> + <tr><td class="indexkey"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td class="indexvalue"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a> is a simple base class for adapter plugins </td></tr> + <tr><td class="indexkey"><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td class="indexvalue">Example plugin that returns a power spectrum calculated (trivially) from the frequency domain representation of each block of audio </td></tr> + <tr><td class="indexkey"><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td class="indexvalue"><a class="el" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> represents time values to nanosecond precision with accurate arithmetic and frame-rate conversion functions </td></tr> + <tr><td class="indexkey"><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td class="indexvalue">Example plugin that calculates the centre of gravity of the frequency domain representation of each block of audio </td></tr> + <tr><td class="indexkey"><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td class="indexvalue">Example plugin that calculates the positions and density of zero-crossing points in an audio waveform </td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classAmplitudeFollower-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classAmplitudeFollower.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">AmplitudeFollower Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#a29eaeffc353da2614ae508abcd0ab63f">AmplitudeFollower</a>(float inputSampleRate)</td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#a0c197fc90f30d91cb4403115c83c9134">getCopyright</a>() const </td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#a6f0f2fea1fdb4b51e688edfe859d5062">getDescription</a>() const </td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#afe7576af95c8fcc7f5bad42eec9f9f29">getIdentifier</a>() const </td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#afc07a389b5f922b944b0350fd232d2eb">getInputDomain</a>() const </td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#a44fc43838f203f58bc2ce6e3cb2b03dd">getMaker</a>() const </td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">getMinChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#a7cfed00bc9d96ba6c709b69ab6a40594">getName</a>() const </td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#a043e3c3db77d76267cd8069e1485bf26">getOutputDescriptors</a>() const </td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#ab278c4b6f2ca23248dc94ad775273f39">getParameter</a>(std::string paramid) const </td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#a9df01323a09e117bc12354ebe9244edf">getParameterDescriptors</a>() const </td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#a8a5d7a834eb996d517c51f84b2a72250">getPluginVersion</a>() const </td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">getPreferredBlockSize</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">getPreferredStepSize</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#a368606f643b88e0df0823d85e36f030c">getRemainingFeatures</a>()</td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#aeb727e44ee8ad1aceb90964d20f8d90d">initialise</a>(size_t channels, size_t stepSize, size_t blockSize)</td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> enum name</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#a1cb205b08cfe2ce94a4af05b18f72876">m_clampcoef</a></td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#ac95e8d2f334821c6c92c706bae29695a">m_previn</a></td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#aceecd3b3879f32eb4a2e597c32c41cfc">m_relaxcoef</a></td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#a959c2647fd3c5feea2591e3618774027">m_stepSize</a></td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a>(float inputSampleRate)</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#a48d0f95cac31ffd190cff89b50a2a5bd">process</a>(const float *const *inputBuffers, Vamp::RealTime timestamp)</td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#acebd835e80e84669df078fbd7591d8f7">reset</a>()</td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a>(std::string)</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#ae1fc37ece4d20e40f3066a3361a99340">setParameter</a>(std::string paramid, float newval)</td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classAmplitudeFollower.html#aa78f98539ad3a1b08691a99b32035b2d">~AmplitudeFollower</a>()</td><td><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a>()</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a>()</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classAmplitudeFollower.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1044 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: AmplitudeFollower Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classAmplitudeFollower.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">AmplitudeFollower Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="AmplitudeFollower" --><!-- doxytag: inherits="Vamp::Plugin" --> +<p>Example plugin implementing the SuperCollider amplitude follower function. + <a href="classAmplitudeFollower.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="AmplitudeFollower_8h_source.html">AmplitudeFollower.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for AmplitudeFollower:</div> +<div class="dyncontent"> +<div class="center"><img src="classAmplitudeFollower__inherit__graph.png" border="0" usemap="#AmplitudeFollower_inherit__map" alt="Inheritance graph"/></div> +<map name="AmplitudeFollower_inherit__map" id="AmplitudeFollower_inherit__map"> +<area shape="rect" id="node2" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="21,81,112,106"/><area shape="rect" id="node4" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="7,6,125,31"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classAmplitudeFollower-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, +<a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> + }</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< int, <br class="typebreak"/> +<a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#a29eaeffc353da2614ae508abcd0ab63f">AmplitudeFollower</a> (float inputSampleRate)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">An implementation of SuperCollider's amplitude-follower algorithm as a simple <a class="el" href="namespaceVamp.html">Vamp</a> plugin. <a href="#a29eaeffc353da2614ae508abcd0ab63f"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#aa78f98539ad3a1b08691a99b32035b2d">~AmplitudeFollower</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#aeb727e44ee8ad1aceb90964d20f8d90d">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr> +<tr><td class="mdescLeft"> </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="#aeb727e44ee8ad1aceb90964d20f8d90d"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#acebd835e80e84669df078fbd7591d8f7">reset</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#acebd835e80e84669df078fbd7591d8f7"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#afc07a389b5f922b944b0350fd232d2eb">getInputDomain</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the plugin's required input domain. <a href="#afc07a389b5f922b944b0350fd232d2eb"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#afe7576af95c8fcc7f5bad42eec9f9f29">getIdentifier</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#afe7576af95c8fcc7f5bad42eec9f9f29"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#a7cfed00bc9d96ba6c709b69ab6a40594">getName</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#a7cfed00bc9d96ba6c709b69ab6a40594"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#a6f0f2fea1fdb4b51e688edfe859d5062">getDescription</a> () const </td></tr> +<tr><td class="mdescLeft"> </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="#a6f0f2fea1fdb4b51e688edfe859d5062"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#a44fc43838f203f58bc2ce6e3cb2b03dd">getMaker</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#a44fc43838f203f58bc2ce6e3cb2b03dd"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#a8a5d7a834eb996d517c51f84b2a72250">getPluginVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the version number of the plugin. <a href="#a8a5d7a834eb996d517c51f84b2a72250"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#a0c197fc90f30d91cb4403115c83c9134">getCopyright</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#a0c197fc90f30d91cb4403115c83c9134"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#a043e3c3db77d76267cd8069e1485bf26">getOutputDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the outputs of this plugin. <a href="#a043e3c3db77d76267cd8069e1485bf26"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#a9df01323a09e117bc12354ebe9244edf">getParameterDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#a9df01323a09e117bc12354ebe9244edf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#ab278c4b6f2ca23248dc94ad775273f39">getParameter</a> (std::string paramid) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a named parameter. <a href="#ab278c4b6f2ca23248dc94ad775273f39"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#ae1fc37ece4d20e40f3066a3361a99340">setParameter</a> (std::string paramid, float newval)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a named parameter. <a href="#ae1fc37ece4d20e40f3066a3361a99340"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#a48d0f95cac31ffd190cff89b50a2a5bd">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> timestamp)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Process a single block of input data. <a href="#a48d0f95cac31ffd190cff89b50a2a5bd"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#a368606f643b88e0df0823d85e36f030c">getRemainingFeatures</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#a368606f643b88e0df0823d85e36f030c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">getPreferredBlockSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). <a href="#aa529adf83f87a603954eb31407602aac"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">getPreferredStepSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#a514c716c22f81c055f19b56c3f882567"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">getMinChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a267b42e866df3cf0d190893e8096f525"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr> +<tr><td class="mdescLeft"> </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 from audio o...">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="#abe13b3997a69fbcc09e2213faa352f91"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a8fd2c48291c64b790f0efb8948508dcf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the program settings available in this plugin. <a href="#abb307c60bdb981d5f5af50c3c4ae84af"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current program. <a href="#a24e77eccf1bdfbbca3c79bb25e8799b3"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a> (std::string)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Select a program. <a href="#aadd3a547ef140bae200473a9518e3353"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#a959c2647fd3c5feea2591e3618774027">m_stepSize</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#ac95e8d2f334821c6c92c706bae29695a">m_previn</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#a1cb205b08cfe2ce94a4af05b18f72876">m_clampcoef</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classAmplitudeFollower.html#aceecd3b3879f32eb4a2e597c32c41cfc">m_relaxcoef</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p>Example plugin implementing the SuperCollider amplitude follower function. </p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8h_source.html#l00047">47</a> of file <a class="el" href="AmplitudeFollower_8h_source.html">AmplitudeFollower.h</a>.</p> +</div><hr/><h2>Member Typedef Documentation</h2> +<a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="AmplitudeFollower::OutputList" ref="a30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>> <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="AmplitudeFollower::FeatureList" ref="a0730bc72c87fa02eb8d2854b233f7be1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>> <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="AmplitudeFollower::FeatureSet" ref="a448fb57dc245d47923ec9eeaf9856c5f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::map<int, <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>> <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="AmplitudeFollower::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>> <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="AmplitudeFollower::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<std::string> <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<hr/><h2>Member Enumeration Documentation</h2> +<a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="AmplitudeFollower::InputDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<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> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a29eaeffc353da2614ae508abcd0ab63f"></a><!-- doxytag: member="AmplitudeFollower::AmplitudeFollower" ref="a29eaeffc353da2614ae508abcd0ab63f" args="(float inputSampleRate)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">AmplitudeFollower::AmplitudeFollower </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"><em>inputSampleRate</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>An implementation of SuperCollider's amplitude-follower algorithm as a simple <a class="el" href="namespaceVamp.html">Vamp</a> plugin. </p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00055">55</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="aa78f98539ad3a1b08691a99b32035b2d"></a><!-- doxytag: member="AmplitudeFollower::~AmplitudeFollower" ref="aa78f98539ad3a1b08691a99b32035b2d" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">AmplitudeFollower::~AmplitudeFollower </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00064">64</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="aeb727e44ee8ad1aceb90964d20f8d90d"></a><!-- doxytag: member="AmplitudeFollower::initialise" ref="aeb727e44ee8ad1aceb90964d20f8d90d" args="(size_t channels, size_t stepSize, size_t blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool AmplitudeFollower::initialise </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>inputChannels</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>stepSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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). </p> +<p>The input sample rate should have been already specified at construction time.</p> +<p>Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">105</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00204">Vamp::Plugin::getMaxChannelCount()</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00199">Vamp::Plugin::getMinChannelCount()</a>, <a class="el" href="AmplitudeFollower_8h_source.html#l00079">m_clampcoef</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00436">Vamp::Plugin::m_inputSampleRate</a>, <a class="el" href="AmplitudeFollower_8h_source.html#l00080">m_relaxcoef</a>, and <a class="el" href="AmplitudeFollower_8h_source.html#l00077">m_stepSize</a>.</p> + +</div> +</div> +<a class="anchor" id="acebd835e80e84669df078fbd7591d8f7"></a><!-- doxytag: member="AmplitudeFollower::reset" ref="acebd835e80e84669df078fbd7591d8f7" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void AmplitudeFollower::reset </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Reset the plugin after use, to prepare it for another clean run. </p> +<p>Not called for the first initialisation (i.e. initialise must also do a reset). </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00122">122</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +<p>References <a class="el" href="AmplitudeFollower_8h_source.html#l00078">m_previn</a>.</p> + +</div> +</div> +<a class="anchor" id="afc07a389b5f922b944b0350fd232d2eb"></a><!-- doxytag: member="AmplitudeFollower::getInputDomain" ref="afc07a389b5f922b944b0350fd232d2eb" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> AmplitudeFollower::getInputDomain </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the plugin's required input domain. </p> +<p>If this is TimeDomain, the samples provided to the <a class="el" href="classAmplitudeFollower.html#a48d0f95cac31ffd190cff89b50a2a5bd" 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> +<p>If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classAmplitudeFollower.html#a48d0f95cac31ffd190cff89b50a2a5bd" 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. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8h_source.html#l00056">56</a> of file <a class="el" href="AmplitudeFollower_8h_source.html">AmplitudeFollower.h</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00152">Vamp::Plugin::TimeDomain</a>.</p> + +</div> +</div> +<a class="anchor" id="afe7576af95c8fcc7f5bad42eec9f9f29"></a><!-- doxytag: member="AmplitudeFollower::getIdentifier" ref="afe7576af95c8fcc7f5bad42eec9f9f29" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string AmplitudeFollower::getIdentifier </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the computer-usable name of the plugin. </p> +<p>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> +<p>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> +<p>Example: "zero_crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00069">69</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a7cfed00bc9d96ba6c709b69ab6a40594"></a><!-- doxytag: member="AmplitudeFollower::getName" ref="a7cfed00bc9d96ba6c709b69ab6a40594" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string AmplitudeFollower::getName </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a human-readable name or title of the plugin. </p> +<p>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> +<p>Example: "Zero Crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00075">75</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a6f0f2fea1fdb4b51e688edfe859d5062"></a><!-- doxytag: member="AmplitudeFollower::getDescription" ref="a6f0f2fea1fdb4b51e688edfe859d5062" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string AmplitudeFollower::getDescription </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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". </p> +<p>May be empty if the name has said it all already.</p> +<p>Example: "Detect and count zero crossing points" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00081">81</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a44fc43838f203f58bc2ce6e3cb2b03dd"></a><!-- doxytag: member="AmplitudeFollower::getMaker" ref="a44fc43838f203f58bc2ce6e3cb2b03dd" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string AmplitudeFollower::getMaker </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the name of the author or vendor of the plugin in human-readable form. </p> +<p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00087">87</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a8a5d7a834eb996d517c51f84b2a72250"></a><!-- doxytag: member="AmplitudeFollower::getPluginVersion" ref="a8a5d7a834eb996d517c51f84b2a72250" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int AmplitudeFollower::getPluginVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the version number of the plugin. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00093">93</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a0c197fc90f30d91cb4403115c83c9134"></a><!-- doxytag: member="AmplitudeFollower::getCopyright" ref="a0c197fc90f30d91cb4403115c83c9134" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string AmplitudeFollower::getCopyright </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the copyright statement or licensing summary for the plugin. </p> +<p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00099">99</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a043e3c3db77d76267cd8069e1485bf26"></a><!-- doxytag: member="AmplitudeFollower::getOutputDescriptors" ref="a043e3c3db77d76267cd8069e1485bf26" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">AmplitudeFollower::OutputList</a> AmplitudeFollower::getOutputDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the outputs of this plugin. </p> +<p>An output's index in this list is used as its numeric index when looking it up in the FeatureSet returned from the <a class="el" href="classAmplitudeFollower.html#a48d0f95cac31ffd190cff89b50a2a5bd" title="Process a single block of input data.">process()</a> call. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00128">128</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00247">Vamp::Plugin::OutputDescriptor::binCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00227">Vamp::Plugin::OutputDescriptor::description</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00239">Vamp::Plugin::OutputDescriptor::hasFixedBinCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00260">Vamp::Plugin::OutputDescriptor::hasKnownExtents</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00214">Vamp::Plugin::OutputDescriptor::identifier</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00278">Vamp::Plugin::OutputDescriptor::isQuantized</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00220">Vamp::Plugin::OutputDescriptor::name</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00290">Vamp::Plugin::OutputDescriptor::OneSamplePerStep</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00302">Vamp::Plugin::OutputDescriptor::sampleType</a>, and <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00232">Vamp::Plugin::OutputDescriptor::unit</a>.</p> + +</div> +</div> +<a class="anchor" id="a9df01323a09e117bc12354ebe9244edf"></a><!-- doxytag: member="AmplitudeFollower::getParameterDescriptors" ref="a9df01323a09e117bc12354ebe9244edf" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">AmplitudeFollower::ParameterList</a> AmplitudeFollower::getParameterDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the controllable parameters of this plugin. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00148">148</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00171">Vamp::PluginBase::ParameterDescriptor::defaultValue</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00148">Vamp::PluginBase::ParameterDescriptor::description</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00137">Vamp::PluginBase::ParameterDescriptor::identifier</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00177">Vamp::PluginBase::ParameterDescriptor::isQuantized</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00163">Vamp::PluginBase::ParameterDescriptor::maxValue</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00158">Vamp::PluginBase::ParameterDescriptor::minValue</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00142">Vamp::PluginBase::ParameterDescriptor::name</a>, and <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00153">Vamp::PluginBase::ParameterDescriptor::unit</a>.</p> + +</div> +</div> +<a class="anchor" id="ab278c4b6f2ca23248dc94ad775273f39"></a><!-- doxytag: member="AmplitudeFollower::getParameter" ref="ab278c4b6f2ca23248dc94ad775273f39" args="(std::string paramid) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float AmplitudeFollower::getParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the value of a named parameter. </p> +<p>The argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00188">188</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +<p>References <a class="el" href="AmplitudeFollower_8h_source.html#l00079">m_clampcoef</a>, and <a class="el" href="AmplitudeFollower_8h_source.html#l00080">m_relaxcoef</a>.</p> + +</div> +</div> +<a class="anchor" id="ae1fc37ece4d20e40f3066a3361a99340"></a><!-- doxytag: member="AmplitudeFollower::setParameter" ref="ae1fc37ece4d20e40f3066a3361a99340" args="(std::string paramid, float newval)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void AmplitudeFollower::setParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set a named parameter. </p> +<p>The first argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00179">179</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +<p>References <a class="el" href="AmplitudeFollower_8h_source.html#l00079">m_clampcoef</a>, and <a class="el" href="AmplitudeFollower_8h_source.html#l00080">m_relaxcoef</a>.</p> + +</div> +</div> +<a class="anchor" id="a48d0f95cac31ffd190cff89b50a2a5bd"></a><!-- doxytag: member="AmplitudeFollower::process" ref="a48d0f95cac31ffd190cff89b50a2a5bd" args="(const float *const *inputBuffers, Vamp::RealTime timestamp)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">AmplitudeFollower::FeatureSet</a> AmplitudeFollower::process </td> + <td>(</td> + <td class="paramtype">const float *const * </td> + <td class="paramname"><em>inputBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> </td> + <td class="paramname"><em>timestamp</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Process a single block of input data. </p> +<p>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> +<p>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> +<p>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.) </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00200">200</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00344">Vamp::Plugin::Feature::hasTimestamp</a>, <a class="el" href="AmplitudeFollower_8h_source.html#l00079">m_clampcoef</a>, <a class="el" href="AmplitudeFollower_8h_source.html#l00078">m_previn</a>, <a class="el" href="AmplitudeFollower_8h_source.html#l00080">m_relaxcoef</a>, <a class="el" href="AmplitudeFollower_8h_source.html#l00077">m_stepSize</a>, and <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00374">Vamp::Plugin::Feature::values</a>.</p> + +</div> +</div> +<a class="anchor" id="a368606f643b88e0df0823d85e36f030c"></a><!-- doxytag: member="AmplitudeFollower::getRemainingFeatures" ref="a368606f643b88e0df0823d85e36f030c" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">AmplitudeFollower::FeatureSet</a> AmplitudeFollower::getRemainingFeatures </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8cpp_source.html#l00243">243</a> of file <a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="aa529adf83f87a603954eb31407602aac"></a><!-- doxytag: member="AmplitudeFollower::getPreferredBlockSize" ref="aa529adf83f87a603954eb31407602aac" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getPreferredBlockSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). </p> +<p>This should be called before <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a>.</p> +<p>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#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a> call. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a21e45180b19873f9ab69fe7a4e184a03">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#ad5e0ea8042bdec4dd18428991117e07a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#a68b8569b71504a0478caf990dbe30683">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a410c0b47c6c849d7ed9b726b84402ad0">PercussionOnsetDetector</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a514c716c22f81c055f19b56c3f882567"></a><!-- doxytag: member="AmplitudeFollower::getPreferredStepSize" ref="a514c716c22f81c055f19b56c3f882567" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getPreferredStepSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. </p> +<p>This should be called before <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a>.</p> +<p>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#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a> call. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ad979af9f1cbf2eeb16f4eaedb4a4f565">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a859ad5d59402691daed3cf1af1899ebe">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#ad450bb7e7df559ae3d68dfbfb085676f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a733824891e11c306a7a678534b89b968">PercussionOnsetDetector</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a267b42e866df3cf0d190893e8096f525"></a><!-- doxytag: member="AmplitudeFollower::getMinChannelCount" ref="a267b42e866df3cf0d190893e8096f525" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the minimum supported number of input channels. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a67d1198c0e58d3f0076d0eda599ff28d">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="AmplitudeFollower::getMaxChannelCount" ref="a2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the maximum supported number of input channels. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a25091905e97e39d515d8ffc1a9f2b9e0">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="AmplitudeFollower::getType" ref="abe13b3997a69fbcc09e2213faa352f91" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::Plugin::getType </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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 from audio o...">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>. </p> +<p>Do not reimplement this function in your subclass. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="AmplitudeFollower::getVampApiVersion" ref="a8fd2c48291c64b790f0efb8948508dcf" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a98aadddc8403eb46c9d8c5a9d1fdd19e">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="abb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="AmplitudeFollower::getPrograms" ref="abb307c60bdb981d5f5af50c3c4ae84af" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the program settings available in this plugin. </p> +<p>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> +<p>The programs must have unique names. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ae0cde5cd625418c1bc470b91f75daafc">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="AmplitudeFollower::getCurrentProgram" ref="a24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the current program. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a34859eff8ca8d862af39be9636ec1867">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="aadd3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="AmplitudeFollower::selectProgram" ref="aadd3a547ef140bae200473a9518e3353" args="(std::string)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void Vamp::PluginBase::selectProgram </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td><code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Select a program. </p> +<p>(If the given program name is not one of the available programs, do nothing.) </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a959c2647fd3c5feea2591e3618774027"></a><!-- doxytag: member="AmplitudeFollower::m_stepSize" ref="a959c2647fd3c5feea2591e3618774027" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t <a class="el" href="classAmplitudeFollower.html#a959c2647fd3c5feea2591e3618774027">AmplitudeFollower::m_stepSize</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8h_source.html#l00077">77</a> of file <a class="el" href="AmplitudeFollower_8h_source.html">AmplitudeFollower.h</a>.</p> + +<p>Referenced by <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">initialise()</a>, and <a class="el" href="AmplitudeFollower_8cpp_source.html#l00200">process()</a>.</p> + +</div> +</div> +<a class="anchor" id="ac95e8d2f334821c6c92c706bae29695a"></a><!-- doxytag: member="AmplitudeFollower::m_previn" ref="ac95e8d2f334821c6c92c706bae29695a" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classAmplitudeFollower.html#ac95e8d2f334821c6c92c706bae29695a">AmplitudeFollower::m_previn</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8h_source.html#l00078">78</a> of file <a class="el" href="AmplitudeFollower_8h_source.html">AmplitudeFollower.h</a>.</p> + +<p>Referenced by <a class="el" href="AmplitudeFollower_8cpp_source.html#l00200">process()</a>, and <a class="el" href="AmplitudeFollower_8cpp_source.html#l00122">reset()</a>.</p> + +</div> +</div> +<a class="anchor" id="a1cb205b08cfe2ce94a4af05b18f72876"></a><!-- doxytag: member="AmplitudeFollower::m_clampcoef" ref="a1cb205b08cfe2ce94a4af05b18f72876" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classAmplitudeFollower.html#a1cb205b08cfe2ce94a4af05b18f72876">AmplitudeFollower::m_clampcoef</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8h_source.html#l00079">79</a> of file <a class="el" href="AmplitudeFollower_8h_source.html">AmplitudeFollower.h</a>.</p> + +<p>Referenced by <a class="el" href="AmplitudeFollower_8cpp_source.html#l00188">getParameter()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00200">process()</a>, and <a class="el" href="AmplitudeFollower_8cpp_source.html#l00179">setParameter()</a>.</p> + +</div> +</div> +<a class="anchor" id="aceecd3b3879f32eb4a2e597c32c41cfc"></a><!-- doxytag: member="AmplitudeFollower::m_relaxcoef" ref="aceecd3b3879f32eb4a2e597c32c41cfc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classAmplitudeFollower.html#aceecd3b3879f32eb4a2e597c32c41cfc">AmplitudeFollower::m_relaxcoef</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="AmplitudeFollower_8h_source.html#l00080">80</a> of file <a class="el" href="AmplitudeFollower_8h_source.html">AmplitudeFollower.h</a>.</p> + +<p>Referenced by <a class="el" href="AmplitudeFollower_8cpp_source.html#l00188">getParameter()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00200">process()</a>, and <a class="el" href="AmplitudeFollower_8cpp_source.html#l00179">setParameter()</a>.</p> + +</div> +</div> +<a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="AmplitudeFollower::m_inputSampleRate" ref="a59b9dd82a4f4eb946cd0474cc81abc23" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00375">FixedTempoEstimator::D::calculate()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00252">FixedTempoEstimator::D::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00363">FixedTempoEstimator::D::lag2tempo()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00146">SpectralCentroid::process()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">ZeroCrossing::process()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00369">FixedTempoEstimator::D::tempo2lag()</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="AmplitudeFollower_8h_source.html">AmplitudeFollower.h</a></li> +<li><a class="el" href="AmplitudeFollower_8cpp_source.html">AmplitudeFollower.cpp</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classAmplitudeFollower__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,4 @@ +<map id="G" name="G"> +<area shape="rect" id="node2" href="$classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="21,81,112,106"/> +<area shape="rect" id="node4" href="$classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="7,6,125,31"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classAmplitudeFollower__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +378861f0015413e8059212a2b0322a82 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classFixedTempoEstimator-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classFixedTempoEstimator.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">FixedTempoEstimator Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#a3967c189f054f864639837c2519bd64d">FixedTempoEstimator</a>(float inputSampleRate)</td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#a50c6b64530c84c0707ba3936c5022a48">getCopyright</a>() const </td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#a06b00853f00c2e78d490697fcd7d1920">getDescription</a>() const </td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#ab818edcf1555177d10260e197e3a5e7a">getIdentifier</a>() const </td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#a055689c9b41b0945e8d3cdbc3b8c3a2e">getInputDomain</a>() const </td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#ae910d1b9250b11097fd6b51cd8285b68">getMaker</a>() const </td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">getMinChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#af9eb6fa8a98aa66b55e64e1795f9405f">getName</a>() const </td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#a83121c205a723fe6297e2bf8870622a4">getOutputDescriptors</a>() const </td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#a2030b05fb1228b30ace16200780c9152">getParameter</a>(std::string id) const </td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#ae157465a4e07d180bab05b5c3a4d8987">getParameterDescriptors</a>() const </td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#ad002fddb3735c2dd7e31e6a9def9949f">getPluginVersion</a>() const </td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#a68b8569b71504a0478caf990dbe30683">getPreferredBlockSize</a>() const </td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#ad450bb7e7df559ae3d68dfbfb085676f">getPreferredStepSize</a>() const </td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#a4965cf99be77fc4d1de51e11d83936b0">getRemainingFeatures</a>()</td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#aa7500a4ffbc4653baaf5101defdb37f5">initialise</a>(size_t channels, size_t stepSize, size_t blockSize)</td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> enum name</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">m_d</a></td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a>(float inputSampleRate)</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#a1cf76b0e55cf4ed3da095cffcdeaec3c">process</a>(const float *const *inputBuffers, Vamp::RealTime timestamp)</td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#ac41708397255400c6682fee6c1b3d45f">reset</a>()</td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a>(std::string)</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75">setParameter</a>(std::string id, float value)</td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator.html#a0302c4bfdc163a3d34478cde93c96a53">~FixedTempoEstimator</a>()</td><td><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a>()</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a>()</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classFixedTempoEstimator.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,997 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: FixedTempoEstimator Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classFixedTempoEstimator.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">FixedTempoEstimator Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="FixedTempoEstimator" --><!-- doxytag: inherits="Vamp::Plugin" --> +<p>Example plugin that estimates the tempo of a short fixed-tempo sample. + <a href="classFixedTempoEstimator.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="FixedTempoEstimator_8h_source.html">FixedTempoEstimator.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for FixedTempoEstimator:</div> +<div class="dyncontent"> +<div class="center"><img src="classFixedTempoEstimator__inherit__graph.png" border="0" usemap="#FixedTempoEstimator_inherit__map" alt="Inheritance graph"/></div> +<map name="FixedTempoEstimator_inherit__map" id="FixedTempoEstimator_inherit__map"> +<area shape="rect" id="node2" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="27,81,119,106"/><area shape="rect" id="node4" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="14,6,132,31"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classFixedTempoEstimator-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html">D</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, +<a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> + }</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< int, <br class="typebreak"/> +<a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#a3967c189f054f864639837c2519bd64d">FixedTempoEstimator</a> (float inputSampleRate)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#a0302c4bfdc163a3d34478cde93c96a53">~FixedTempoEstimator</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#aa7500a4ffbc4653baaf5101defdb37f5">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr> +<tr><td class="mdescLeft"> </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="#aa7500a4ffbc4653baaf5101defdb37f5"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#ac41708397255400c6682fee6c1b3d45f">reset</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#ac41708397255400c6682fee6c1b3d45f"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#a055689c9b41b0945e8d3cdbc3b8c3a2e">getInputDomain</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the plugin's required input domain. <a href="#a055689c9b41b0945e8d3cdbc3b8c3a2e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#ab818edcf1555177d10260e197e3a5e7a">getIdentifier</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#ab818edcf1555177d10260e197e3a5e7a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#af9eb6fa8a98aa66b55e64e1795f9405f">getName</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#af9eb6fa8a98aa66b55e64e1795f9405f"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#a06b00853f00c2e78d490697fcd7d1920">getDescription</a> () const </td></tr> +<tr><td class="mdescLeft"> </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="#a06b00853f00c2e78d490697fcd7d1920"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#ae910d1b9250b11097fd6b51cd8285b68">getMaker</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#ae910d1b9250b11097fd6b51cd8285b68"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#ad002fddb3735c2dd7e31e6a9def9949f">getPluginVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the version number of the plugin. <a href="#ad002fddb3735c2dd7e31e6a9def9949f"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#a50c6b64530c84c0707ba3936c5022a48">getCopyright</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#a50c6b64530c84c0707ba3936c5022a48"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#ad450bb7e7df559ae3d68dfbfb085676f">getPreferredStepSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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#a1cf76b0e55cf4ed3da095cffcdeaec3c" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#ad450bb7e7df559ae3d68dfbfb085676f"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#a68b8569b71504a0478caf990dbe30683">getPreferredBlockSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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#a1cf76b0e55cf4ed3da095cffcdeaec3c" title="Process a single block of input data.">process()</a> function). <a href="#a68b8569b71504a0478caf990dbe30683"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#ae157465a4e07d180bab05b5c3a4d8987">getParameterDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#ae157465a4e07d180bab05b5c3a4d8987"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#a2030b05fb1228b30ace16200780c9152">getParameter</a> (std::string id) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a named parameter. <a href="#a2030b05fb1228b30ace16200780c9152"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75">setParameter</a> (std::string id, float value)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a named parameter. <a href="#a8a5a413025384cf451c64d2c2ce13a75"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#a83121c205a723fe6297e2bf8870622a4">getOutputDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the outputs of this plugin. <a href="#a83121c205a723fe6297e2bf8870622a4"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#a1cf76b0e55cf4ed3da095cffcdeaec3c">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> timestamp)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Process a single block of input data. <a href="#a1cf76b0e55cf4ed3da095cffcdeaec3c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#a4965cf99be77fc4d1de51e11d83936b0">getRemainingFeatures</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#a4965cf99be77fc4d1de51e11d83936b0"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">getMinChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a267b42e866df3cf0d190893e8096f525"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr> +<tr><td class="mdescLeft"> </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 from audio o...">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="#abe13b3997a69fbcc09e2213faa352f91"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a8fd2c48291c64b790f0efb8948508dcf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the program settings available in this plugin. <a href="#abb307c60bdb981d5f5af50c3c4ae84af"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current program. <a href="#a24e77eccf1bdfbbca3c79bb25e8799b3"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a> (std::string)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Select a program. <a href="#aadd3a547ef140bae200473a9518e3353"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classFixedTempoEstimator_1_1D.html">D</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">m_d</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p>Example plugin that estimates the tempo of a short fixed-tempo sample. </p> + +<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> +</div><hr/><h2>Member Typedef Documentation</h2> +<a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="FixedTempoEstimator::OutputList" ref="a30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>> <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="FixedTempoEstimator::FeatureList" ref="a0730bc72c87fa02eb8d2854b233f7be1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>> <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="FixedTempoEstimator::FeatureSet" ref="a448fb57dc245d47923ec9eeaf9856c5f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::map<int, <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>> <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="FixedTempoEstimator::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>> <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="FixedTempoEstimator::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<std::string> <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<hr/><h2>Member Enumeration Documentation</h2> +<a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="FixedTempoEstimator::InputDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<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> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a3967c189f054f864639837c2519bd64d"></a><!-- doxytag: member="FixedTempoEstimator::FixedTempoEstimator" ref="a3967c189f054f864639837c2519bd64d" args="(float inputSampleRate)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">FixedTempoEstimator::FixedTempoEstimator </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"><em>inputSampleRate</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00617">617</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a0302c4bfdc163a3d34478cde93c96a53"></a><!-- doxytag: member="FixedTempoEstimator::~FixedTempoEstimator" ref="a0302c4bfdc163a3d34478cde93c96a53" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">FixedTempoEstimator::~FixedTempoEstimator </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00623">623</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="FixedTempoEstimator_8h_source.html#l00079">m_d</a>.</p> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="aa7500a4ffbc4653baaf5101defdb37f5"></a><!-- doxytag: member="FixedTempoEstimator::initialise" ref="aa7500a4ffbc4653baaf5101defdb37f5" args="(size_t channels, size_t stepSize, size_t blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool FixedTempoEstimator::initialise </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>inputChannels</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>stepSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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). </p> +<p>The input sample rate should have been already specified at construction time.</p> +<p>Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">677</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<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#l00252">FixedTempoEstimator::D::initialise()</a>, and <a class="el" href="FixedTempoEstimator_8h_source.html#l00079">m_d</a>.</p> + +</div> +</div> +<a class="anchor" id="ac41708397255400c6682fee6c1b3d45f"></a><!-- doxytag: member="FixedTempoEstimator::reset" ref="ac41708397255400c6682fee6c1b3d45f" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void FixedTempoEstimator::reset </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Reset the plugin after use, to prepare it for another clean run. </p> +<p>Not called for the first initialisation (i.e. initialise must also do a reset). </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00686">686</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="FixedTempoEstimator_8h_source.html#l00079">m_d</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00276">FixedTempoEstimator::D::reset()</a>.</p> + +</div> +</div> +<a class="anchor" id="a055689c9b41b0945e8d3cdbc3b8c3a2e"></a><!-- doxytag: member="FixedTempoEstimator::getInputDomain" ref="a055689c9b41b0945e8d3cdbc3b8c3a2e" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> FixedTempoEstimator::getInputDomain </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the plugin's required input domain. </p> +<p>If this is TimeDomain, the samples provided to the <a class="el" href="classFixedTempoEstimator.html#a1cf76b0e55cf4ed3da095cffcdeaec3c" 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> +<p>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#a1cf76b0e55cf4ed3da095cffcdeaec3c" 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. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> + +<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> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00152">Vamp::Plugin::FrequencyDomain</a>.</p> + +</div> +</div> +<a class="anchor" id="ab818edcf1555177d10260e197e3a5e7a"></a><!-- doxytag: member="FixedTempoEstimator::getIdentifier" ref="ab818edcf1555177d10260e197e3a5e7a" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string FixedTempoEstimator::getIdentifier </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the computer-usable name of the plugin. </p> +<p>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> +<p>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> +<p>Example: "zero_crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00629">629</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="af9eb6fa8a98aa66b55e64e1795f9405f"></a><!-- doxytag: member="FixedTempoEstimator::getName" ref="af9eb6fa8a98aa66b55e64e1795f9405f" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string FixedTempoEstimator::getName </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a human-readable name or title of the plugin. </p> +<p>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> +<p>Example: "Zero Crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00635">635</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a06b00853f00c2e78d490697fcd7d1920"></a><!-- doxytag: member="FixedTempoEstimator::getDescription" ref="a06b00853f00c2e78d490697fcd7d1920" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string FixedTempoEstimator::getDescription </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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". </p> +<p>May be empty if the name has said it all already.</p> +<p>Example: "Detect and count zero crossing points" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00641">641</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="ae910d1b9250b11097fd6b51cd8285b68"></a><!-- doxytag: member="FixedTempoEstimator::getMaker" ref="ae910d1b9250b11097fd6b51cd8285b68" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string FixedTempoEstimator::getMaker </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the name of the author or vendor of the plugin in human-readable form. </p> +<p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00647">647</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="ad002fddb3735c2dd7e31e6a9def9949f"></a><!-- doxytag: member="FixedTempoEstimator::getPluginVersion" ref="ad002fddb3735c2dd7e31e6a9def9949f" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int FixedTempoEstimator::getPluginVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the version number of the plugin. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00653">653</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a50c6b64530c84c0707ba3936c5022a48"></a><!-- doxytag: member="FixedTempoEstimator::getCopyright" ref="a50c6b64530c84c0707ba3936c5022a48" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string FixedTempoEstimator::getCopyright </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the copyright statement or licensing summary for the plugin. </p> +<p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00659">659</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="ad450bb7e7df559ae3d68dfbfb085676f"></a><!-- doxytag: member="FixedTempoEstimator::getPreferredStepSize" ref="ad450bb7e7df559ae3d68dfbfb085676f" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t FixedTempoEstimator::getPreferredStepSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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#a1cf76b0e55cf4ed3da095cffcdeaec3c" title="Process a single block of input data.">process()</a> function) for the plugin. </p> +<p>This should be called before <a class="el" href="classFixedTempoEstimator.html#aa7500a4ffbc4653baaf5101defdb37f5" title="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).">initialise()</a>.</p> +<p>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#aa7500a4ffbc4653baaf5101defdb37f5" title="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).">initialise()</a> call. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00665">665</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00057">FixedTempoEstimator::D::getPreferredStepSize()</a>, and <a class="el" href="FixedTempoEstimator_8h_source.html#l00079">m_d</a>.</p> + +</div> +</div> +<a class="anchor" id="a68b8569b71504a0478caf990dbe30683"></a><!-- doxytag: member="FixedTempoEstimator::getPreferredBlockSize" ref="a68b8569b71504a0478caf990dbe30683" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t FixedTempoEstimator::getPreferredBlockSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classFixedTempoEstimator.html#a1cf76b0e55cf4ed3da095cffcdeaec3c" title="Process a single block of input data.">process()</a> function). </p> +<p>This should be called before <a class="el" href="classFixedTempoEstimator.html#aa7500a4ffbc4653baaf5101defdb37f5" title="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).">initialise()</a>.</p> +<p>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#aa7500a4ffbc4653baaf5101defdb37f5" title="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).">initialise()</a> call. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00671">671</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00058">FixedTempoEstimator::D::getPreferredBlockSize()</a>, and <a class="el" href="FixedTempoEstimator_8h_source.html#l00079">m_d</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="ae157465a4e07d180bab05b5c3a4d8987"></a><!-- doxytag: member="FixedTempoEstimator::getParameterDescriptors" ref="ae157465a4e07d180bab05b5c3a4d8987" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">FixedTempoEstimator::ParameterList</a> FixedTempoEstimator::getParameterDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the controllable parameters of this plugin. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00692">692</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00125">FixedTempoEstimator::D::getParameterDescriptors()</a>, and <a class="el" href="FixedTempoEstimator_8h_source.html#l00079">m_d</a>.</p> + +</div> +</div> +<a class="anchor" id="a2030b05fb1228b30ace16200780c9152"></a><!-- doxytag: member="FixedTempoEstimator::getParameter" ref="a2030b05fb1228b30ace16200780c9152" args="(std::string id) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float FixedTempoEstimator::getParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the value of a named parameter. </p> +<p>The argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00698">698</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00159">FixedTempoEstimator::D::getParameter()</a>, and <a class="el" href="FixedTempoEstimator_8h_source.html#l00079">m_d</a>.</p> + +</div> +</div> +<a class="anchor" id="a8a5a413025384cf451c64d2c2ce13a75"></a><!-- doxytag: member="FixedTempoEstimator::setParameter" ref="a8a5a413025384cf451c64d2c2ce13a75" args="(std::string id, float value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void FixedTempoEstimator::setParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set a named parameter. </p> +<p>The first argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00704">704</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="FixedTempoEstimator_8h_source.html#l00079">m_d</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00172">FixedTempoEstimator::D::setParameter()</a>.</p> + +</div> +</div> +<a class="anchor" id="a83121c205a723fe6297e2bf8870622a4"></a><!-- doxytag: member="FixedTempoEstimator::getOutputDescriptors" ref="a83121c205a723fe6297e2bf8870622a4" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">FixedTempoEstimator::OutputList</a> FixedTempoEstimator::getOutputDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the outputs of this plugin. </p> +<p>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#a1cf76b0e55cf4ed3da095cffcdeaec3c" title="Process a single block of input data.">process()</a> call. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00710">710</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, and <a class="el" href="FixedTempoEstimator_8h_source.html#l00079">m_d</a>.</p> + +</div> +</div> +<a class="anchor" id="a1cf76b0e55cf4ed3da095cffcdeaec3c"></a><!-- doxytag: member="FixedTempoEstimator::process" ref="a1cf76b0e55cf4ed3da095cffcdeaec3c" args="(const float *const *inputBuffers, Vamp::RealTime timestamp)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FixedTempoEstimator::FeatureSet</a> FixedTempoEstimator::process </td> + <td>(</td> + <td class="paramtype">const float *const * </td> + <td class="paramname"><em>inputBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> </td> + <td class="paramname"><em>timestamp</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Process a single block of input data. </p> +<p>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> +<p>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> +<p>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.) </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00716">716</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="FixedTempoEstimator_8h_source.html#l00079">m_d</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00303">FixedTempoEstimator::D::process()</a>.</p> + +</div> +</div> +<a class="anchor" id="a4965cf99be77fc4d1de51e11d83936b0"></a><!-- doxytag: member="FixedTempoEstimator::getRemainingFeatures" ref="a4965cf99be77fc4d1de51e11d83936b0" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FixedTempoEstimator::FeatureSet</a> FixedTempoEstimator::getRemainingFeatures </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00722">722</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00352">FixedTempoEstimator::D::getRemainingFeatures()</a>, and <a class="el" href="FixedTempoEstimator_8h_source.html#l00079">m_d</a>.</p> + +</div> +</div> +<a class="anchor" id="a267b42e866df3cf0d190893e8096f525"></a><!-- doxytag: member="FixedTempoEstimator::getMinChannelCount" ref="a267b42e866df3cf0d190893e8096f525" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the minimum supported number of input channels. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a67d1198c0e58d3f0076d0eda599ff28d">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="FixedTempoEstimator::getMaxChannelCount" ref="a2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the maximum supported number of input channels. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a25091905e97e39d515d8ffc1a9f2b9e0">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="FixedTempoEstimator::getType" ref="abe13b3997a69fbcc09e2213faa352f91" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::Plugin::getType </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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 from audio o...">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>. </p> +<p>Do not reimplement this function in your subclass. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="FixedTempoEstimator::getVampApiVersion" ref="a8fd2c48291c64b790f0efb8948508dcf" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a98aadddc8403eb46c9d8c5a9d1fdd19e">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="abb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="FixedTempoEstimator::getPrograms" ref="abb307c60bdb981d5f5af50c3c4ae84af" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the program settings available in this plugin. </p> +<p>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> +<p>The programs must have unique names. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ae0cde5cd625418c1bc470b91f75daafc">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="FixedTempoEstimator::getCurrentProgram" ref="a24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the current program. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a34859eff8ca8d862af39be9636ec1867">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="aadd3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="FixedTempoEstimator::selectProgram" ref="aadd3a547ef140bae200473a9518e3353" args="(std::string)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void Vamp::PluginBase::selectProgram </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td><code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Select a program. </p> +<p>(If the given program name is not one of the available programs, do nothing.) </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a5e1c9abaf33e9f48eb7d3b48f8af3308"></a><!-- doxytag: member="FixedTempoEstimator::m_d" ref="a5e1c9abaf33e9f48eb7d3b48f8af3308" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classFixedTempoEstimator_1_1D.html">D</a>* <a class="el" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">FixedTempoEstimator::m_d</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00710">getOutputDescriptors()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00698">getParameter()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00692">getParameterDescriptors()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00671">getPreferredBlockSize()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00665">getPreferredStepSize()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00722">getRemainingFeatures()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00716">process()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00686">reset()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00704">setParameter()</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00623">~FixedTempoEstimator()</a>.</p> + +</div> +</div> +<a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="FixedTempoEstimator::m_inputSampleRate" ref="a59b9dd82a4f4eb946cd0474cc81abc23" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00375">FixedTempoEstimator::D::calculate()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <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="FixedTempoEstimator_8cpp_source.html#l00252">FixedTempoEstimator::D::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00363">FixedTempoEstimator::D::lag2tempo()</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>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00369">FixedTempoEstimator::D::tempo2lag()</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="FixedTempoEstimator_8h_source.html">FixedTempoEstimator.h</a></li> +<li><a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classFixedTempoEstimator_1_1D-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,124 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classFixedTempoEstimator_1_1D.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">FixedTempoEstimator::D Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a20389ba1515f6ce4181d3f41e5c4f347">assembleFeatures</a>()</td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a4f2cbc11fba5bc8af3fd2a0078156091">calculate</a>()</td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a104a9b64d47eca678844584f69ca0b9d">D</a>(float inputSampleRate)</td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a7ce98af800f36045a0dae4b1dbed943f">getOutputDescriptors</a>() const </td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a968ef2e555c81e4a3bde89d19fafb31a">getParameter</a>(string id) const </td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a06fcf80a9a22c4b90abbc88eb592621a">getParameterDescriptors</a>() const </td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#ac02826f981736fc2aa5d835fa14e174d">getPreferredBlockSize</a>() const </td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#add749be18355ab1ae5c1ccbacfd2e192">getPreferredStepSize</a>() const </td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a7f9c3603bb3374d6936885010dbdd82b">getRemainingFeatures</a>()</td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#af0fcad4493650728babb7e341963c91d">initialise</a>(size_t channels, size_t stepSize, size_t blockSize)</td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a0a7cb0705938097ab23a6f9187e6bae5">lag2tempo</a>(int)</td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a0b9bf37e600f0564b9f305f73a9517c8">m_blockSize</a></td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a8e2312120e87ad9a48fedeebbaefa396">m_df</a></td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#ae739e006f2d10ef2b13677770b23e663">m_dfsize</a></td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#ab255006072672653e645fc315eea6167">m_fr</a></td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a072a0fc30b3912a54858eefdd47f4d4f">m_inputSampleRate</a></td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#abacd5ff19c301020efb99c03136b849a">m_lasttime</a></td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a33e8d045b222addc6173b50df2553ba8">m_maxbpm</a></td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#aca506973452865d436e07462eabdebad">m_maxdflen</a></td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a768fdbb62e4b21a39897963fdbd486ed">m_minbpm</a></td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#ab73af7f1943b76388de04cbb4696a983">m_n</a></td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#aa59cf1cb5640a910c70884579e5d99ad">m_priorMagnitudes</a></td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a7a8c8658ecfeec98962078df89fcd538">m_r</a></td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a3a3a0b4a4c259087f02d0046241674d0">m_start</a></td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a837da9722c63fe3c66c738255990c45f">m_stepSize</a></td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a698446aad2c0f737732a392fb86a612c">m_t</a></td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a7fac74fc9fc54f436408705d1e125e20">process</a>(const float *const *, RealTime)</td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#af5ac8147bfe79371d00aba8a19c2f8fd">reset</a>()</td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a6cafa64d4cc8aa3556bc0ce6b0c49bc4">setParameter</a>(string id, float value)</td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#ac6a75212293fc855de6ed0c6581a0fb9">tempo2lag</a>(float)</td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td><code> [private]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classFixedTempoEstimator_1_1D.html#a78a63ac8bbf342cb0405747871adf4cc">~D</a>()</td><td><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></td><td></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classFixedTempoEstimator_1_1D.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,738 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: FixedTempoEstimator::D Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classFixedTempoEstimator_1_1D.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pri-methods">Private Member Functions</a> | +<a href="#pri-attribs">Private Attributes</a> </div> + <div class="headertitle"> +<div class="title">FixedTempoEstimator::D Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="FixedTempoEstimator::D" --> +<p><a href="classFixedTempoEstimator_1_1D-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a104a9b64d47eca678844584f69ca0b9d">D</a> (float inputSampleRate)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a78a63ac8bbf342cb0405747871adf4cc">~D</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#add749be18355ab1ae5c1ccbacfd2e192">getPreferredStepSize</a> () const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#ac02826f981736fc2aa5d835fa14e174d">getPreferredBlockSize</a> () const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a06fcf80a9a22c4b90abbc88eb592621a">getParameterDescriptors</a> () const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a968ef2e555c81e4a3bde89d19fafb31a">getParameter</a> (string id) const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a6cafa64d4cc8aa3556bc0ce6b0c49bc4">setParameter</a> (string id, float value)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a7ce98af800f36045a0dae4b1dbed943f">getOutputDescriptors</a> () const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#af0fcad4493650728babb7e341963c91d">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#af5ac8147bfe79371d00aba8a19c2f8fd">reset</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a7fac74fc9fc54f436408705d1e125e20">process</a> (const float *const *, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a>)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a7f9c3603bb3374d6936885010dbdd82b">getRemainingFeatures</a> ()</td></tr> +<tr><td colspan="2"><h2><a name="pri-methods"></a> +Private Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a4f2cbc11fba5bc8af3fd2a0078156091">calculate</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a20389ba1515f6ce4181d3f41e5c4f347">assembleFeatures</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a0a7cb0705938097ab23a6f9187e6bae5">lag2tempo</a> (int)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#ac6a75212293fc855de6ed0c6581a0fb9">tempo2lag</a> (float)</td></tr> +<tr><td colspan="2"><h2><a name="pri-attribs"></a> +Private Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a072a0fc30b3912a54858eefdd47f4d4f">m_inputSampleRate</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a837da9722c63fe3c66c738255990c45f">m_stepSize</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a0b9bf37e600f0564b9f305f73a9517c8">m_blockSize</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a768fdbb62e4b21a39897963fdbd486ed">m_minbpm</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a33e8d045b222addc6173b50df2553ba8">m_maxbpm</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#aca506973452865d436e07462eabdebad">m_maxdflen</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#aa59cf1cb5640a910c70884579e5d99ad">m_priorMagnitudes</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#ae739e006f2d10ef2b13677770b23e663">m_dfsize</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a8e2312120e87ad9a48fedeebbaefa396">m_df</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a7a8c8658ecfeec98962078df89fcd538">m_r</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#ab255006072672653e645fc315eea6167">m_fr</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a698446aad2c0f737732a392fb86a612c">m_t</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#ab73af7f1943b76388de04cbb4696a983">m_n</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#a3a3a0b4a4c259087f02d0046241674d0">m_start</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFixedTempoEstimator_1_1D.html#abacd5ff19c301020efb99c03136b849a">m_lasttime</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"> +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00050">50</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> +</div><hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a104a9b64d47eca678844584f69ca0b9d"></a><!-- doxytag: member="FixedTempoEstimator::D::D" ref="a104a9b64d47eca678844584f69ca0b9d" args="(float inputSampleRate)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">FixedTempoEstimator::D::D </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"><em>inputSampleRate</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00099">99</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a78a63ac8bbf342cb0405747871adf4cc"></a><!-- doxytag: member="FixedTempoEstimator::D::~D" ref="a78a63ac8bbf342cb0405747871adf4cc" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">FixedTempoEstimator::D::~D </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00115">115</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="add749be18355ab1ae5c1ccbacfd2e192"></a><!-- doxytag: member="FixedTempoEstimator::D::getPreferredStepSize" ref="add749be18355ab1ae5c1ccbacfd2e192" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t FixedTempoEstimator::D::getPreferredStepSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00057">57</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00665">FixedTempoEstimator::getPreferredStepSize()</a>.</p> + +</div> +</div> +<a class="anchor" id="ac02826f981736fc2aa5d835fa14e174d"></a><!-- doxytag: member="FixedTempoEstimator::D::getPreferredBlockSize" ref="ac02826f981736fc2aa5d835fa14e174d" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t FixedTempoEstimator::D::getPreferredBlockSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00058">58</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00671">FixedTempoEstimator::getPreferredBlockSize()</a>.</p> + +</div> +</div> +<a class="anchor" id="a06fcf80a9a22c4b90abbc88eb592621a"></a><!-- doxytag: member="FixedTempoEstimator::D::getParameterDescriptors" ref="a06fcf80a9a22c4b90abbc88eb592621a" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">FixedTempoEstimator::ParameterList</a> FixedTempoEstimator::D::getParameterDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00125">125</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00171">Vamp::PluginBase::ParameterDescriptor::defaultValue</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00148">Vamp::PluginBase::ParameterDescriptor::description</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00137">Vamp::PluginBase::ParameterDescriptor::identifier</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00177">Vamp::PluginBase::ParameterDescriptor::isQuantized</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00163">Vamp::PluginBase::ParameterDescriptor::maxValue</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00158">Vamp::PluginBase::ParameterDescriptor::minValue</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00142">Vamp::PluginBase::ParameterDescriptor::name</a>, and <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00153">Vamp::PluginBase::ParameterDescriptor::unit</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00692">FixedTempoEstimator::getParameterDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="a968ef2e555c81e4a3bde89d19fafb31a"></a><!-- doxytag: member="FixedTempoEstimator::D::getParameter" ref="a968ef2e555c81e4a3bde89d19fafb31a" args="(string id) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float FixedTempoEstimator::D::getParameter </td> + <td>(</td> + <td class="paramtype">string </td> + <td class="paramname"><em>id</em></td><td>)</td> + <td> const</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00159">159</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00698">FixedTempoEstimator::getParameter()</a>.</p> + +</div> +</div> +<a class="anchor" id="a6cafa64d4cc8aa3556bc0ce6b0c49bc4"></a><!-- doxytag: member="FixedTempoEstimator::D::setParameter" ref="a6cafa64d4cc8aa3556bc0ce6b0c49bc4" args="(string id, float value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void FixedTempoEstimator::D::setParameter </td> + <td>(</td> + <td class="paramtype">string </td> + <td class="paramname"><em>id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"><em>value</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00172">172</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00704">FixedTempoEstimator::setParameter()</a>.</p> + +</div> +</div> +<a class="anchor" id="a7ce98af800f36045a0dae4b1dbed943f"></a><!-- doxytag: member="FixedTempoEstimator::D::getOutputDescriptors" ref="a7ce98af800f36045a0dae4b1dbed943f" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">FixedTempoEstimator::OutputList</a> FixedTempoEstimator::D::getOutputDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">190</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00247">Vamp::Plugin::OutputDescriptor::binCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00227">Vamp::Plugin::OutputDescriptor::description</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00293">Vamp::Plugin::OutputDescriptor::FixedSampleRate</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00671">FixedTempoEstimator::getPreferredBlockSize()</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00320">Vamp::Plugin::OutputDescriptor::hasDuration</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00239">Vamp::Plugin::OutputDescriptor::hasFixedBinCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00260">Vamp::Plugin::OutputDescriptor::hasKnownExtents</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00214">Vamp::Plugin::OutputDescriptor::identifier</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00278">Vamp::Plugin::OutputDescriptor::isQuantized</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00436">Vamp::Plugin::m_inputSampleRate</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00272">Vamp::Plugin::OutputDescriptor::maxValue</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00266">Vamp::Plugin::OutputDescriptor::minValue</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00220">Vamp::Plugin::OutputDescriptor::name</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00285">Vamp::Plugin::OutputDescriptor::quantizeStep</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00314">Vamp::Plugin::OutputDescriptor::sampleRate</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00302">Vamp::Plugin::OutputDescriptor::sampleType</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00232">Vamp::Plugin::OutputDescriptor::unit</a>, and <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00296">Vamp::Plugin::OutputDescriptor::VariableSampleRate</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00710">FixedTempoEstimator::getOutputDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="af0fcad4493650728babb7e341963c91d"></a><!-- doxytag: member="FixedTempoEstimator::D::initialise" ref="af0fcad4493650728babb7e341963c91d" args="(size_t channels, size_t stepSize, size_t blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool FixedTempoEstimator::D::initialise </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>channels</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>stepSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00252">252</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00436">Vamp::Plugin::m_inputSampleRate</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>.</p> + +</div> +</div> +<a class="anchor" id="af5ac8147bfe79371d00aba8a19c2f8fd"></a><!-- doxytag: member="FixedTempoEstimator::D::reset" ref="af5ac8147bfe79371d00aba8a19c2f8fd" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void FixedTempoEstimator::D::reset </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00276">276</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00686">FixedTempoEstimator::reset()</a>.</p> + +</div> +</div> +<a class="anchor" id="a7fac74fc9fc54f436408705d1e125e20"></a><!-- doxytag: member="FixedTempoEstimator::D::process" ref="a7fac74fc9fc54f436408705d1e125e20" args="(const float *const *, RealTime)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FixedTempoEstimator::FeatureSet</a> FixedTempoEstimator::D::process </td> + <td>(</td> + <td class="paramtype">const float *const * </td> + <td class="paramname"><em>inputBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td> + <td class="paramname"><em>ts</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00303">303</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00716">FixedTempoEstimator::process()</a>.</p> + +</div> +</div> +<a class="anchor" id="a7f9c3603bb3374d6936885010dbdd82b"></a><!-- doxytag: member="FixedTempoEstimator::D::getRemainingFeatures" ref="a7f9c3603bb3374d6936885010dbdd82b" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FixedTempoEstimator::FeatureSet</a> FixedTempoEstimator::D::getRemainingFeatures </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00352">352</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00722">FixedTempoEstimator::getRemainingFeatures()</a>.</p> + +</div> +</div> +<a class="anchor" id="a4f2cbc11fba5bc8af3fd2a0078156091"></a><!-- doxytag: member="FixedTempoEstimator::D::calculate" ref="a4f2cbc11fba5bc8af3fd2a0078156091" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void FixedTempoEstimator::D::calculate </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00375">375</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00436">Vamp::Plugin::m_inputSampleRate</a>.</p> + +</div> +</div> +<a class="anchor" id="a20389ba1515f6ce4181d3f41e5c4f347"></a><!-- doxytag: member="FixedTempoEstimator::D::assembleFeatures" ref="a20389ba1515f6ce4181d3f41e5c4f347" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FixedTempoEstimator::FeatureSet</a> FixedTempoEstimator::D::assembleFeatures </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">481</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00186">ACFOutput</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00184">CandidatesOutput</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00185">DFOutput</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00367">Vamp::Plugin::Feature::duration</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00187">FilteredACFOutput</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00360">Vamp::Plugin::Feature::hasDuration</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00344">Vamp::Plugin::Feature::hasTimestamp</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00379">Vamp::Plugin::Feature::label</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00436">Vamp::Plugin::m_inputSampleRate</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00183">TempoOutput</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00352">Vamp::Plugin::Feature::timestamp</a>, and <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00374">Vamp::Plugin::Feature::values</a>.</p> + +</div> +</div> +<a class="anchor" id="a0a7cb0705938097ab23a6f9187e6bae5"></a><!-- doxytag: member="FixedTempoEstimator::D::lag2tempo" ref="a0a7cb0705938097ab23a6f9187e6bae5" args="(int)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float FixedTempoEstimator::D::lag2tempo </td> + <td>(</td> + <td class="paramtype">int </td> + <td class="paramname"><em>lag</em></td><td>)</td> + <td><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00363">363</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00436">Vamp::Plugin::m_inputSampleRate</a>.</p> + +</div> +</div> +<a class="anchor" id="ac6a75212293fc855de6ed0c6581a0fb9"></a><!-- doxytag: member="FixedTempoEstimator::D::tempo2lag" ref="ac6a75212293fc855de6ed0c6581a0fb9" args="(float)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int FixedTempoEstimator::D::tempo2lag </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"><em>tempo</em></td><td>)</td> + <td><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00369">369</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00436">Vamp::Plugin::m_inputSampleRate</a>.</p> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a072a0fc30b3912a54858eefdd47f4d4f"></a><!-- doxytag: member="FixedTempoEstimator::D::m_inputSampleRate" ref="a072a0fc30b3912a54858eefdd47f4d4f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classFixedTempoEstimator_1_1D.html#a072a0fc30b3912a54858eefdd47f4d4f">FixedTempoEstimator::D::m_inputSampleRate</a><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00078">78</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a837da9722c63fe3c66c738255990c45f"></a><!-- doxytag: member="FixedTempoEstimator::D::m_stepSize" ref="a837da9722c63fe3c66c738255990c45f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t <a class="el" href="classFixedTempoEstimator_1_1D.html#a837da9722c63fe3c66c738255990c45f">FixedTempoEstimator::D::m_stepSize</a><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00079">79</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a0b9bf37e600f0564b9f305f73a9517c8"></a><!-- doxytag: member="FixedTempoEstimator::D::m_blockSize" ref="a0b9bf37e600f0564b9f305f73a9517c8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t <a class="el" href="classFixedTempoEstimator_1_1D.html#a0b9bf37e600f0564b9f305f73a9517c8">FixedTempoEstimator::D::m_blockSize</a><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00080">80</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a768fdbb62e4b21a39897963fdbd486ed"></a><!-- doxytag: member="FixedTempoEstimator::D::m_minbpm" ref="a768fdbb62e4b21a39897963fdbd486ed" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classFixedTempoEstimator_1_1D.html#a768fdbb62e4b21a39897963fdbd486ed">FixedTempoEstimator::D::m_minbpm</a><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00082">82</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a33e8d045b222addc6173b50df2553ba8"></a><!-- doxytag: member="FixedTempoEstimator::D::m_maxbpm" ref="a33e8d045b222addc6173b50df2553ba8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classFixedTempoEstimator_1_1D.html#a33e8d045b222addc6173b50df2553ba8">FixedTempoEstimator::D::m_maxbpm</a><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00083">83</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="aca506973452865d436e07462eabdebad"></a><!-- doxytag: member="FixedTempoEstimator::D::m_maxdflen" ref="aca506973452865d436e07462eabdebad" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classFixedTempoEstimator_1_1D.html#aca506973452865d436e07462eabdebad">FixedTempoEstimator::D::m_maxdflen</a><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00084">84</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="aa59cf1cb5640a910c70884579e5d99ad"></a><!-- doxytag: member="FixedTempoEstimator::D::m_priorMagnitudes" ref="aa59cf1cb5640a910c70884579e5d99ad" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float* <a class="el" href="classFixedTempoEstimator_1_1D.html#aa59cf1cb5640a910c70884579e5d99ad">FixedTempoEstimator::D::m_priorMagnitudes</a><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00086">86</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="ae739e006f2d10ef2b13677770b23e663"></a><!-- doxytag: member="FixedTempoEstimator::D::m_dfsize" ref="ae739e006f2d10ef2b13677770b23e663" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t <a class="el" href="classFixedTempoEstimator_1_1D.html#ae739e006f2d10ef2b13677770b23e663">FixedTempoEstimator::D::m_dfsize</a><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00088">88</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a8e2312120e87ad9a48fedeebbaefa396"></a><!-- doxytag: member="FixedTempoEstimator::D::m_df" ref="a8e2312120e87ad9a48fedeebbaefa396" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float* <a class="el" href="classFixedTempoEstimator_1_1D.html#a8e2312120e87ad9a48fedeebbaefa396">FixedTempoEstimator::D::m_df</a><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00089">89</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a7a8c8658ecfeec98962078df89fcd538"></a><!-- doxytag: member="FixedTempoEstimator::D::m_r" ref="a7a8c8658ecfeec98962078df89fcd538" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float* <a class="el" href="classFixedTempoEstimator_1_1D.html#a7a8c8658ecfeec98962078df89fcd538">FixedTempoEstimator::D::m_r</a><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00090">90</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="ab255006072672653e645fc315eea6167"></a><!-- doxytag: member="FixedTempoEstimator::D::m_fr" ref="ab255006072672653e645fc315eea6167" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float* <a class="el" href="classFixedTempoEstimator_1_1D.html#ab255006072672653e645fc315eea6167">FixedTempoEstimator::D::m_fr</a><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00091">91</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a698446aad2c0f737732a392fb86a612c"></a><!-- doxytag: member="FixedTempoEstimator::D::m_t" ref="a698446aad2c0f737732a392fb86a612c" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float* <a class="el" href="classFixedTempoEstimator_1_1D.html#a698446aad2c0f737732a392fb86a612c">FixedTempoEstimator::D::m_t</a><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00092">92</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="ab73af7f1943b76388de04cbb4696a983"></a><!-- doxytag: member="FixedTempoEstimator::D::m_n" ref="ab73af7f1943b76388de04cbb4696a983" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t <a class="el" href="classFixedTempoEstimator_1_1D.html#ab73af7f1943b76388de04cbb4696a983">FixedTempoEstimator::D::m_n</a><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00093">93</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a3a3a0b4a4c259087f02d0046241674d0"></a><!-- doxytag: member="FixedTempoEstimator::D::m_start" ref="a3a3a0b4a4c259087f02d0046241674d0" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> <a class="el" href="classFixedTempoEstimator_1_1D.html#a3a3a0b4a4c259087f02d0046241674d0">FixedTempoEstimator::D::m_start</a><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00095">95</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="abacd5ff19c301020efb99c03136b849a"></a><!-- doxytag: member="FixedTempoEstimator::D::m_lasttime" ref="abacd5ff19c301020efb99c03136b849a" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> <a class="el" href="classFixedTempoEstimator_1_1D.html#abacd5ff19c301020efb99c03136b849a">FixedTempoEstimator::D::m_lasttime</a><code> [private]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00096">96</a> of file <a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="FixedTempoEstimator_8cpp_source.html">FixedTempoEstimator.cpp</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a> </li> + <li class="navelem"><a class="el" href="classFixedTempoEstimator_1_1D.html">D</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classFixedTempoEstimator__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,4 @@ +<map id="G" name="G"> +<area shape="rect" id="node2" href="$classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="27,81,119,106"/> +<area shape="rect" id="node4" href="$classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="14,6,132,31"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classFixedTempoEstimator__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +326039cc76da1b1dddbe8c796ad3202b \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classPercussionOnsetDetector-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classPercussionOnsetDetector.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PercussionOnsetDetector Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a1a22ece271330c94cc08798a77416351">getCopyright</a>() const </td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a9061d189705802a48973a7ccab6360db">getDescription</a>() const </td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a267c83a7533146c127e2c3be310e0154">getIdentifier</a>() const </td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a4f6954267696ee5bfa7dd1c4a6cfa92a">getInputDomain</a>() const </td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a63d63f2cb7ea8d8b09d58cc13b541375">getMaker</a>() const </td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">getMinChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#aa98f1ad061a11af98c054011a8844e6f">getName</a>() const </td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#aa4537aa0eb58a67d6e824d46924cf782">getOutputDescriptors</a>() const </td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a9b28da8315fcde46ce7644d6592ba527">getParameter</a>(std::string id) const </td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#abceae88cc9762b0ea310d7aad71de815">getParameterDescriptors</a>() const </td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#ad6b818dbd81867ce7be71c99cae861be">getPluginVersion</a>() const </td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a410c0b47c6c849d7ed9b726b84402ad0">getPreferredBlockSize</a>() const </td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a733824891e11c306a7a678534b89b968">getPreferredStepSize</a>() const </td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#ad3d6767ed137783e84f842b4d4732ffa">getRemainingFeatures</a>()</td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a349c528260622308f3850bcda8a448ab">initialise</a>(size_t channels, size_t stepSize, size_t blockSize)</td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> enum name</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a920de543dbcf70a2edd80b5b31313285">m_blockSize</a></td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#acd80162c65212be7fa91251263fb9c3d">m_dfMinus1</a></td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a6ad7d8353cc681ff42a63b127cca5779">m_dfMinus2</a></td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a30daa717267251a9d49afe57c328e989">m_priorMagnitudes</a></td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a4e9770f246ba3bc75e7fc2cb8f9010af">m_sensitivity</a></td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#aabac0cf7e961482b075777e5f0686e6c">m_stepSize</a></td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#ab04119adad56d87f2e633de289aab507">m_threshold</a></td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a9f700579805ee5105758d847baab3511">PercussionOnsetDetector</a>(float inputSampleRate)</td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a>(float inputSampleRate)</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614">process</a>(const float *const *inputBuffers, Vamp::RealTime timestamp)</td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a9b1075e992cd9599764ef3881fb91d1a">reset</a>()</td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a>(std::string)</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#aa097d72488e1211f05fc661ff5c6dc01">setParameter</a>(std::string id, float value)</td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classPercussionOnsetDetector.html#a99f833667cf8185e879d735216c7642b">~PercussionOnsetDetector</a>()</td><td><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a>()</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a>()</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classPercussionOnsetDetector.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1093 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PercussionOnsetDetector Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classPercussionOnsetDetector.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">PercussionOnsetDetector Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="PercussionOnsetDetector" --><!-- doxytag: inherits="Vamp::Plugin" --> +<p>Example plugin that detects percussive events. + <a href="classPercussionOnsetDetector.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="PercussionOnsetDetector_8h_source.html">PercussionOnsetDetector.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for PercussionOnsetDetector:</div> +<div class="dyncontent"> +<div class="center"><img src="classPercussionOnsetDetector__inherit__graph.png" border="0" usemap="#PercussionOnsetDetector_inherit__map" alt="Inheritance graph"/></div> +<map name="PercussionOnsetDetector_inherit__map" id="PercussionOnsetDetector_inherit__map"> +<area shape="rect" id="node2" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="35,81,127,106"/><area shape="rect" id="node4" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="22,6,140,31"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classPercussionOnsetDetector-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, +<a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> + }</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< int, <br class="typebreak"/> +<a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a9f700579805ee5105758d847baab3511">PercussionOnsetDetector</a> (float inputSampleRate)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a99f833667cf8185e879d735216c7642b">~PercussionOnsetDetector</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a349c528260622308f3850bcda8a448ab">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr> +<tr><td class="mdescLeft"> </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="#a349c528260622308f3850bcda8a448ab"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a9b1075e992cd9599764ef3881fb91d1a">reset</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#a9b1075e992cd9599764ef3881fb91d1a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a4f6954267696ee5bfa7dd1c4a6cfa92a">getInputDomain</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the plugin's required input domain. <a href="#a4f6954267696ee5bfa7dd1c4a6cfa92a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a267c83a7533146c127e2c3be310e0154">getIdentifier</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#a267c83a7533146c127e2c3be310e0154"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#aa98f1ad061a11af98c054011a8844e6f">getName</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#aa98f1ad061a11af98c054011a8844e6f"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a9061d189705802a48973a7ccab6360db">getDescription</a> () const </td></tr> +<tr><td class="mdescLeft"> </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="#a9061d189705802a48973a7ccab6360db"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a63d63f2cb7ea8d8b09d58cc13b541375">getMaker</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#a63d63f2cb7ea8d8b09d58cc13b541375"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#ad6b818dbd81867ce7be71c99cae861be">getPluginVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the version number of the plugin. <a href="#ad6b818dbd81867ce7be71c99cae861be"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a1a22ece271330c94cc08798a77416351">getCopyright</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#a1a22ece271330c94cc08798a77416351"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a733824891e11c306a7a678534b89b968">getPreferredStepSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#a733824891e11c306a7a678534b89b968"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a410c0b47c6c849d7ed9b726b84402ad0">getPreferredBlockSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614" title="Process a single block of input data.">process()</a> function). <a href="#a410c0b47c6c849d7ed9b726b84402ad0"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#abceae88cc9762b0ea310d7aad71de815">getParameterDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#abceae88cc9762b0ea310d7aad71de815"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a9b28da8315fcde46ce7644d6592ba527">getParameter</a> (std::string id) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a named parameter. <a href="#a9b28da8315fcde46ce7644d6592ba527"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#aa097d72488e1211f05fc661ff5c6dc01">setParameter</a> (std::string id, float value)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a named parameter. <a href="#aa097d72488e1211f05fc661ff5c6dc01"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#aa4537aa0eb58a67d6e824d46924cf782">getOutputDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the outputs of this plugin. <a href="#aa4537aa0eb58a67d6e824d46924cf782"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> timestamp)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Process a single block of input data. <a href="#adfd989812b3e0cb8f4b498f56a5a9614"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#ad3d6767ed137783e84f842b4d4732ffa">getRemainingFeatures</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#ad3d6767ed137783e84f842b4d4732ffa"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">getMinChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a267b42e866df3cf0d190893e8096f525"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr> +<tr><td class="mdescLeft"> </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 from audio o...">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="#abe13b3997a69fbcc09e2213faa352f91"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a8fd2c48291c64b790f0efb8948508dcf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the program settings available in this plugin. <a href="#abb307c60bdb981d5f5af50c3c4ae84af"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current program. <a href="#a24e77eccf1bdfbbca3c79bb25e8799b3"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a> (std::string)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Select a program. <a href="#aadd3a547ef140bae200473a9518e3353"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#aabac0cf7e961482b075777e5f0686e6c">m_stepSize</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a920de543dbcf70a2edd80b5b31313285">m_blockSize</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#ab04119adad56d87f2e633de289aab507">m_threshold</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a4e9770f246ba3bc75e7fc2cb8f9010af">m_sensitivity</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a30daa717267251a9d49afe57c328e989">m_priorMagnitudes</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#acd80162c65212be7fa91251263fb9c3d">m_dfMinus1</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classPercussionOnsetDetector.html#a6ad7d8353cc681ff42a63b127cca5779">m_dfMinus2</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p>Example plugin that detects percussive events. </p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8h_source.html#l00046">46</a> of file <a class="el" href="PercussionOnsetDetector_8h_source.html">PercussionOnsetDetector.h</a>.</p> +</div><hr/><h2>Member Typedef Documentation</h2> +<a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="PercussionOnsetDetector::OutputList" ref="a30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>> <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="PercussionOnsetDetector::FeatureList" ref="a0730bc72c87fa02eb8d2854b233f7be1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>> <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="PercussionOnsetDetector::FeatureSet" ref="a448fb57dc245d47923ec9eeaf9856c5f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::map<int, <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>> <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="PercussionOnsetDetector::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>> <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="PercussionOnsetDetector::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<std::string> <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<hr/><h2>Member Enumeration Documentation</h2> +<a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="PercussionOnsetDetector::InputDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<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> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a9f700579805ee5105758d847baab3511"></a><!-- doxytag: member="PercussionOnsetDetector::PercussionOnsetDetector" ref="a9f700579805ee5105758d847baab3511" args="(float inputSampleRate)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PercussionOnsetDetector::PercussionOnsetDetector </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"><em>inputSampleRate</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00047">47</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a99f833667cf8185e879d735216c7642b"></a><!-- doxytag: member="PercussionOnsetDetector::~PercussionOnsetDetector" ref="a99f833667cf8185e879d735216c7642b" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PercussionOnsetDetector::~PercussionOnsetDetector </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00059">59</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +<p>References <a class="el" href="PercussionOnsetDetector_8h_source.html#l00084">m_priorMagnitudes</a>.</p> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="a349c528260622308f3850bcda8a448ab"></a><!-- doxytag: member="PercussionOnsetDetector::initialise" ref="a349c528260622308f3850bcda8a448ab" args="(size_t channels, size_t stepSize, size_t blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool PercussionOnsetDetector::initialise </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>inputChannels</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>stepSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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). </p> +<p>The input sample rate should have been already specified at construction time.</p> +<p>Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">113</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +<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="PercussionOnsetDetector_8h_source.html#l00080">m_blockSize</a>, <a class="el" href="PercussionOnsetDetector_8h_source.html#l00085">m_dfMinus1</a>, <a class="el" href="PercussionOnsetDetector_8h_source.html#l00086">m_dfMinus2</a>, <a class="el" href="PercussionOnsetDetector_8h_source.html#l00084">m_priorMagnitudes</a>, and <a class="el" href="PercussionOnsetDetector_8h_source.html#l00079">m_stepSize</a>.</p> + +</div> +</div> +<a class="anchor" id="a9b1075e992cd9599764ef3881fb91d1a"></a><!-- doxytag: member="PercussionOnsetDetector::reset" ref="a9b1075e992cd9599764ef3881fb91d1a" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void PercussionOnsetDetector::reset </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Reset the plugin after use, to prepare it for another clean run. </p> +<p>Not called for the first initialisation (i.e. initialise must also do a reset). </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00134">134</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +<p>References <a class="el" href="PercussionOnsetDetector_8h_source.html#l00080">m_blockSize</a>, <a class="el" href="PercussionOnsetDetector_8h_source.html#l00085">m_dfMinus1</a>, <a class="el" href="PercussionOnsetDetector_8h_source.html#l00086">m_dfMinus2</a>, and <a class="el" href="PercussionOnsetDetector_8h_source.html#l00084">m_priorMagnitudes</a>.</p> + +</div> +</div> +<a class="anchor" id="a4f6954267696ee5bfa7dd1c4a6cfa92a"></a><!-- doxytag: member="PercussionOnsetDetector::getInputDomain" ref="a4f6954267696ee5bfa7dd1c4a6cfa92a" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> PercussionOnsetDetector::getInputDomain </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the plugin's required input domain. </p> +<p>If this is TimeDomain, the samples provided to the <a class="el" href="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614" 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> +<p>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="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614" 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. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8h_source.html#l00055">55</a> of file <a class="el" href="PercussionOnsetDetector_8h_source.html">PercussionOnsetDetector.h</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00152">Vamp::Plugin::FrequencyDomain</a>.</p> + +</div> +</div> +<a class="anchor" id="a267c83a7533146c127e2c3be310e0154"></a><!-- doxytag: member="PercussionOnsetDetector::getIdentifier" ref="a267c83a7533146c127e2c3be310e0154" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string PercussionOnsetDetector::getIdentifier </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the computer-usable name of the plugin. </p> +<p>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> +<p>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> +<p>Example: "zero_crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00065">65</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="aa98f1ad061a11af98c054011a8844e6f"></a><!-- doxytag: member="PercussionOnsetDetector::getName" ref="aa98f1ad061a11af98c054011a8844e6f" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string PercussionOnsetDetector::getName </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a human-readable name or title of the plugin. </p> +<p>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> +<p>Example: "Zero Crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00071">71</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a9061d189705802a48973a7ccab6360db"></a><!-- doxytag: member="PercussionOnsetDetector::getDescription" ref="a9061d189705802a48973a7ccab6360db" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string PercussionOnsetDetector::getDescription </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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". </p> +<p>May be empty if the name has said it all already.</p> +<p>Example: "Detect and count zero crossing points" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00077">77</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a63d63f2cb7ea8d8b09d58cc13b541375"></a><!-- doxytag: member="PercussionOnsetDetector::getMaker" ref="a63d63f2cb7ea8d8b09d58cc13b541375" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string PercussionOnsetDetector::getMaker </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the name of the author or vendor of the plugin in human-readable form. </p> +<p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00083">83</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="ad6b818dbd81867ce7be71c99cae861be"></a><!-- doxytag: member="PercussionOnsetDetector::getPluginVersion" ref="ad6b818dbd81867ce7be71c99cae861be" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int PercussionOnsetDetector::getPluginVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the version number of the plugin. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00089">89</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a1a22ece271330c94cc08798a77416351"></a><!-- doxytag: member="PercussionOnsetDetector::getCopyright" ref="a1a22ece271330c94cc08798a77416351" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string PercussionOnsetDetector::getCopyright </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the copyright statement or licensing summary for the plugin. </p> +<p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00095">95</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a733824891e11c306a7a678534b89b968"></a><!-- doxytag: member="PercussionOnsetDetector::getPreferredStepSize" ref="a733824891e11c306a7a678534b89b968" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t PercussionOnsetDetector::getPreferredStepSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614" title="Process a single block of input data.">process()</a> function) for the plugin. </p> +<p>This should be called before <a class="el" href="classPercussionOnsetDetector.html#a349c528260622308f3850bcda8a448ab" title="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).">initialise()</a>.</p> +<p>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="classPercussionOnsetDetector.html#a349c528260622308f3850bcda8a448ab" title="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).">initialise()</a> call. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00101">101</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a410c0b47c6c849d7ed9b726b84402ad0"></a><!-- doxytag: member="PercussionOnsetDetector::getPreferredBlockSize" ref="a410c0b47c6c849d7ed9b726b84402ad0" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t PercussionOnsetDetector::getPreferredBlockSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614" title="Process a single block of input data.">process()</a> function). </p> +<p>This should be called before <a class="el" href="classPercussionOnsetDetector.html#a349c528260622308f3850bcda8a448ab" title="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).">initialise()</a>.</p> +<p>A plugin that can handle any block size may return 0. The final block size will be set in the <a class="el" href="classPercussionOnsetDetector.html#a349c528260622308f3850bcda8a448ab" title="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).">initialise()</a> call. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00107">107</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="abceae88cc9762b0ea310d7aad71de815"></a><!-- doxytag: member="PercussionOnsetDetector::getParameterDescriptors" ref="abceae88cc9762b0ea310d7aad71de815" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">PercussionOnsetDetector::ParameterList</a> PercussionOnsetDetector::getParameterDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the controllable parameters of this plugin. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00145">145</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00171">Vamp::PluginBase::ParameterDescriptor::defaultValue</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00148">Vamp::PluginBase::ParameterDescriptor::description</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00137">Vamp::PluginBase::ParameterDescriptor::identifier</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00177">Vamp::PluginBase::ParameterDescriptor::isQuantized</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00163">Vamp::PluginBase::ParameterDescriptor::maxValue</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00158">Vamp::PluginBase::ParameterDescriptor::minValue</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00142">Vamp::PluginBase::ParameterDescriptor::name</a>, and <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00153">Vamp::PluginBase::ParameterDescriptor::unit</a>.</p> + +</div> +</div> +<a class="anchor" id="a9b28da8315fcde46ce7644d6592ba527"></a><!-- doxytag: member="PercussionOnsetDetector::getParameter" ref="a9b28da8315fcde46ce7644d6592ba527" args="(std::string id) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float PercussionOnsetDetector::getParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the value of a named parameter. </p> +<p>The argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00174">174</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +<p>References <a class="el" href="PercussionOnsetDetector_8h_source.html#l00083">m_sensitivity</a>, and <a class="el" href="PercussionOnsetDetector_8h_source.html#l00082">m_threshold</a>.</p> + +</div> +</div> +<a class="anchor" id="aa097d72488e1211f05fc661ff5c6dc01"></a><!-- doxytag: member="PercussionOnsetDetector::setParameter" ref="aa097d72488e1211f05fc661ff5c6dc01" args="(std::string id, float value)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void PercussionOnsetDetector::setParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set a named parameter. </p> +<p>The first argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00182">182</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +<p>References <a class="el" href="PercussionOnsetDetector_8h_source.html#l00083">m_sensitivity</a>, and <a class="el" href="PercussionOnsetDetector_8h_source.html#l00082">m_threshold</a>.</p> + +</div> +</div> +<a class="anchor" id="aa4537aa0eb58a67d6e824d46924cf782"></a><!-- doxytag: member="PercussionOnsetDetector::getOutputDescriptors" ref="aa4537aa0eb58a67d6e824d46924cf782" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">PercussionOnsetDetector::OutputList</a> PercussionOnsetDetector::getOutputDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the outputs of this plugin. </p> +<p>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="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614" title="Process a single block of input data.">process()</a> call. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00196">196</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00247">Vamp::Plugin::OutputDescriptor::binCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00227">Vamp::Plugin::OutputDescriptor::description</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00239">Vamp::Plugin::OutputDescriptor::hasFixedBinCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00260">Vamp::Plugin::OutputDescriptor::hasKnownExtents</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00214">Vamp::Plugin::OutputDescriptor::identifier</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00278">Vamp::Plugin::OutputDescriptor::isQuantized</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00436">Vamp::Plugin::m_inputSampleRate</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00220">Vamp::Plugin::OutputDescriptor::name</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00290">Vamp::Plugin::OutputDescriptor::OneSamplePerStep</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00285">Vamp::Plugin::OutputDescriptor::quantizeStep</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00314">Vamp::Plugin::OutputDescriptor::sampleRate</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00302">Vamp::Plugin::OutputDescriptor::sampleType</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00232">Vamp::Plugin::OutputDescriptor::unit</a>, and <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00296">Vamp::Plugin::OutputDescriptor::VariableSampleRate</a>.</p> + +</div> +</div> +<a class="anchor" id="adfd989812b3e0cb8f4b498f56a5a9614"></a><!-- doxytag: member="PercussionOnsetDetector::process" ref="adfd989812b3e0cb8f4b498f56a5a9614" args="(const float *const *inputBuffers, Vamp::RealTime timestamp)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">PercussionOnsetDetector::FeatureSet</a> PercussionOnsetDetector::process </td> + <td>(</td> + <td class="paramtype">const float *const * </td> + <td class="paramname"><em>inputBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> </td> + <td class="paramname"><em>timestamp</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Process a single block of input data. </p> +<p>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> +<p>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> +<p>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.) </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">226</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +<p>References <a class="el" href="structVamp_1_1RealTime.html#a939b4b1d1ca190db69a418883f16ce8a">Vamp::RealTime::frame2RealTime()</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00344">Vamp::Plugin::Feature::hasTimestamp</a>, <a class="el" href="PercussionOnsetDetector_8h_source.html#l00080">m_blockSize</a>, <a class="el" href="PercussionOnsetDetector_8h_source.html#l00085">m_dfMinus1</a>, <a class="el" href="PercussionOnsetDetector_8h_source.html#l00086">m_dfMinus2</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00436">Vamp::Plugin::m_inputSampleRate</a>, <a class="el" href="PercussionOnsetDetector_8h_source.html#l00084">m_priorMagnitudes</a>, <a class="el" href="PercussionOnsetDetector_8h_source.html#l00083">m_sensitivity</a>, <a class="el" href="PercussionOnsetDetector_8h_source.html#l00079">m_stepSize</a>, <a class="el" href="PercussionOnsetDetector_8h_source.html#l00082">m_threshold</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00352">Vamp::Plugin::Feature::timestamp</a>, and <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00374">Vamp::Plugin::Feature::values</a>.</p> + +</div> +</div> +<a class="anchor" id="ad3d6767ed137783e84f842b4d4732ffa"></a><!-- doxytag: member="PercussionOnsetDetector::getRemainingFeatures" ref="ad3d6767ed137783e84f842b4d4732ffa" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">PercussionOnsetDetector::FeatureSet</a> PercussionOnsetDetector::getRemainingFeatures </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00283">283</a> of file <a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a267b42e866df3cf0d190893e8096f525"></a><!-- doxytag: member="PercussionOnsetDetector::getMinChannelCount" ref="a267b42e866df3cf0d190893e8096f525" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the minimum supported number of input channels. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a67d1198c0e58d3f0076d0eda599ff28d">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="PercussionOnsetDetector::getMaxChannelCount" ref="a2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the maximum supported number of input channels. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a25091905e97e39d515d8ffc1a9f2b9e0">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="PercussionOnsetDetector::getType" ref="abe13b3997a69fbcc09e2213faa352f91" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::Plugin::getType </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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 from audio o...">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>. </p> +<p>Do not reimplement this function in your subclass. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="PercussionOnsetDetector::getVampApiVersion" ref="a8fd2c48291c64b790f0efb8948508dcf" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a98aadddc8403eb46c9d8c5a9d1fdd19e">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="abb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="PercussionOnsetDetector::getPrograms" ref="abb307c60bdb981d5f5af50c3c4ae84af" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the program settings available in this plugin. </p> +<p>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> +<p>The programs must have unique names. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ae0cde5cd625418c1bc470b91f75daafc">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="PercussionOnsetDetector::getCurrentProgram" ref="a24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the current program. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a34859eff8ca8d862af39be9636ec1867">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="aadd3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="PercussionOnsetDetector::selectProgram" ref="aadd3a547ef140bae200473a9518e3353" args="(std::string)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void Vamp::PluginBase::selectProgram </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td><code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Select a program. </p> +<p>(If the given program name is not one of the available programs, do nothing.) </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="aabac0cf7e961482b075777e5f0686e6c"></a><!-- doxytag: member="PercussionOnsetDetector::m_stepSize" ref="aabac0cf7e961482b075777e5f0686e6c" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t <a class="el" href="classPercussionOnsetDetector.html#aabac0cf7e961482b075777e5f0686e6c">PercussionOnsetDetector::m_stepSize</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8h_source.html#l00079">79</a> of file <a class="el" href="PercussionOnsetDetector_8h_source.html">PercussionOnsetDetector.h</a>.</p> + +<p>Referenced by <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">initialise()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">process()</a>.</p> + +</div> +</div> +<a class="anchor" id="a920de543dbcf70a2edd80b5b31313285"></a><!-- doxytag: member="PercussionOnsetDetector::m_blockSize" ref="a920de543dbcf70a2edd80b5b31313285" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t <a class="el" href="classPercussionOnsetDetector.html#a920de543dbcf70a2edd80b5b31313285">PercussionOnsetDetector::m_blockSize</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8h_source.html#l00080">80</a> of file <a class="el" href="PercussionOnsetDetector_8h_source.html">PercussionOnsetDetector.h</a>.</p> + +<p>Referenced by <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00134">reset()</a>.</p> + +</div> +</div> +<a class="anchor" id="ab04119adad56d87f2e633de289aab507"></a><!-- doxytag: member="PercussionOnsetDetector::m_threshold" ref="ab04119adad56d87f2e633de289aab507" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classPercussionOnsetDetector.html#ab04119adad56d87f2e633de289aab507">PercussionOnsetDetector::m_threshold</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8h_source.html#l00082">82</a> of file <a class="el" href="PercussionOnsetDetector_8h_source.html">PercussionOnsetDetector.h</a>.</p> + +<p>Referenced by <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00174">getParameter()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00182">setParameter()</a>.</p> + +</div> +</div> +<a class="anchor" id="a4e9770f246ba3bc75e7fc2cb8f9010af"></a><!-- doxytag: member="PercussionOnsetDetector::m_sensitivity" ref="a4e9770f246ba3bc75e7fc2cb8f9010af" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classPercussionOnsetDetector.html#a4e9770f246ba3bc75e7fc2cb8f9010af">PercussionOnsetDetector::m_sensitivity</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8h_source.html#l00083">83</a> of file <a class="el" href="PercussionOnsetDetector_8h_source.html">PercussionOnsetDetector.h</a>.</p> + +<p>Referenced by <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00174">getParameter()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00182">setParameter()</a>.</p> + +</div> +</div> +<a class="anchor" id="a30daa717267251a9d49afe57c328e989"></a><!-- doxytag: member="PercussionOnsetDetector::m_priorMagnitudes" ref="a30daa717267251a9d49afe57c328e989" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float* <a class="el" href="classPercussionOnsetDetector.html#a30daa717267251a9d49afe57c328e989">PercussionOnsetDetector::m_priorMagnitudes</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8h_source.html#l00084">84</a> of file <a class="el" href="PercussionOnsetDetector_8h_source.html">PercussionOnsetDetector.h</a>.</p> + +<p>Referenced by <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">process()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00134">reset()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00059">~PercussionOnsetDetector()</a>.</p> + +</div> +</div> +<a class="anchor" id="acd80162c65212be7fa91251263fb9c3d"></a><!-- doxytag: member="PercussionOnsetDetector::m_dfMinus1" ref="acd80162c65212be7fa91251263fb9c3d" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classPercussionOnsetDetector.html#acd80162c65212be7fa91251263fb9c3d">PercussionOnsetDetector::m_dfMinus1</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8h_source.html#l00085">85</a> of file <a class="el" href="PercussionOnsetDetector_8h_source.html">PercussionOnsetDetector.h</a>.</p> + +<p>Referenced by <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00134">reset()</a>.</p> + +</div> +</div> +<a class="anchor" id="a6ad7d8353cc681ff42a63b127cca5779"></a><!-- doxytag: member="PercussionOnsetDetector::m_dfMinus2" ref="a6ad7d8353cc681ff42a63b127cca5779" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classPercussionOnsetDetector.html#a6ad7d8353cc681ff42a63b127cca5779">PercussionOnsetDetector::m_dfMinus2</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PercussionOnsetDetector_8h_source.html#l00086">86</a> of file <a class="el" href="PercussionOnsetDetector_8h_source.html">PercussionOnsetDetector.h</a>.</p> + +<p>Referenced by <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00134">reset()</a>.</p> + +</div> +</div> +<a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="PercussionOnsetDetector::m_inputSampleRate" ref="a59b9dd82a4f4eb946cd0474cc81abc23" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00375">FixedTempoEstimator::D::calculate()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00196">getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00252">FixedTempoEstimator::D::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00363">FixedTempoEstimator::D::lag2tempo()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00146">SpectralCentroid::process()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">ZeroCrossing::process()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">process()</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00369">FixedTempoEstimator::D::tempo2lag()</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="PercussionOnsetDetector_8h_source.html">PercussionOnsetDetector.h</a></li> +<li><a class="el" href="PercussionOnsetDetector_8cpp_source.html">PercussionOnsetDetector.cpp</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classPercussionOnsetDetector__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,4 @@ +<map id="G" name="G"> +<area shape="rect" id="node2" href="$classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="35,81,127,106"/> +<area shape="rect" id="node4" href="$classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="22,6,140,31"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classPercussionOnsetDetector__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +65a7ed879a604f7c870b2fede02ff821 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classPowerSpectrum-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,132 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classPowerSpectrum.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">PowerSpectrum Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classPowerSpectrum.html">PowerSpectrum</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classPowerSpectrum.html#a708b4d335c57643d5ef2b2e1caf43bd9">getCopyright</a>() const </td><td><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPowerSpectrum.html#a7b48d56dc954f3af344f7e4dcd8993e5">getDescription</a>() const </td><td><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPowerSpectrum.html#a9e9d8349461cbb88d7565a5e8c51b64e">getIdentifier</a>() const </td><td><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPowerSpectrum.html#ae04e0e34847a93f3444d04c802ee56ef">getInputDomain</a>() const </td><td><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPowerSpectrum.html#a9f3e3f759e2b67c771a41f1c276984b2">getMaker</a>() const </td><td><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">getMinChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPowerSpectrum.html#ac9214f9cafeeed3fca549c90aef57623">getName</a>() const </td><td><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPowerSpectrum.html#a6aac5f93e3a8c033026d739fed427242">getOutputDescriptors</a>() const </td><td><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">getParameter</a>(std::string) const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">getParameterDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPowerSpectrum.html#ad23d27e4e82f10404a37b933f6a72c33">getPluginVersion</a>() const </td><td><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">getPreferredBlockSize</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">getPreferredStepSize</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPowerSpectrum.html#ac8a9661a785d38f4c5ce8ca2d53e69f9">getRemainingFeatures</a>()</td><td><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPowerSpectrum.html#ae2d046334c4bede5be72a0d97e4dfb29">initialise</a>(size_t channels, size_t stepSize, size_t blockSize)</td><td><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> enum name</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classPowerSpectrum.html#a399e997c033f26b07edb7cc83cd5a6d8">m_blockSize</a></td><td><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a>(float inputSampleRate)</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPowerSpectrum.html#aa2550486513a4abcf7b52869002947e7">PowerSpectrum</a>(float inputSampleRate)</td><td><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classPowerSpectrum.html#aa5664ffc2b37a16db471fae791c1f55f">process</a>(const float *const *inputBuffers, Vamp::RealTime timestamp)</td><td><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classPowerSpectrum.html#a091ba21e1697ea4208f42e8295c389d9">reset</a>()</td><td><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a>(std::string)</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">setParameter</a>(std::string, float)</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a>()</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a>()</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classPowerSpectrum.html#ae7081e159ad1da5da1721b3048075306">~PowerSpectrum</a>()</td><td><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></td><td><code> [virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classPowerSpectrum.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,982 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PowerSpectrum Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classPowerSpectrum.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">PowerSpectrum Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="PowerSpectrum" --><!-- doxytag: inherits="Vamp::Plugin" --> +<p>Example plugin that returns a power spectrum calculated (trivially) from the frequency domain representation of each block of audio. + <a href="classPowerSpectrum.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="PowerSpectrum_8h_source.html">PowerSpectrum.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for PowerSpectrum:</div> +<div class="dyncontent"> +<div class="center"><img src="classPowerSpectrum__inherit__graph.png" border="0" usemap="#PowerSpectrum_inherit__map" alt="Inheritance graph"/></div> +<map name="PowerSpectrum_inherit__map" id="PowerSpectrum_inherit__map"> +<area shape="rect" id="node2" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="18,81,109,106"/><area shape="rect" id="node4" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="5,6,123,31"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classPowerSpectrum-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, +<a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> + }</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< int, <br class="typebreak"/> +<a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html#aa2550486513a4abcf7b52869002947e7">PowerSpectrum</a> (float inputSampleRate)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html#ae7081e159ad1da5da1721b3048075306">~PowerSpectrum</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html#ae2d046334c4bede5be72a0d97e4dfb29">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr> +<tr><td class="mdescLeft"> </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="#ae2d046334c4bede5be72a0d97e4dfb29"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html#a091ba21e1697ea4208f42e8295c389d9">reset</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#a091ba21e1697ea4208f42e8295c389d9"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html#ae04e0e34847a93f3444d04c802ee56ef">getInputDomain</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the plugin's required input domain. <a href="#ae04e0e34847a93f3444d04c802ee56ef"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html#a9e9d8349461cbb88d7565a5e8c51b64e">getIdentifier</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#a9e9d8349461cbb88d7565a5e8c51b64e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html#ac9214f9cafeeed3fca549c90aef57623">getName</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#ac9214f9cafeeed3fca549c90aef57623"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html#a7b48d56dc954f3af344f7e4dcd8993e5">getDescription</a> () const </td></tr> +<tr><td class="mdescLeft"> </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="#a7b48d56dc954f3af344f7e4dcd8993e5"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html#a9f3e3f759e2b67c771a41f1c276984b2">getMaker</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#a9f3e3f759e2b67c771a41f1c276984b2"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html#ad23d27e4e82f10404a37b933f6a72c33">getPluginVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the version number of the plugin. <a href="#ad23d27e4e82f10404a37b933f6a72c33"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html#a708b4d335c57643d5ef2b2e1caf43bd9">getCopyright</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#a708b4d335c57643d5ef2b2e1caf43bd9"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html#a6aac5f93e3a8c033026d739fed427242">getOutputDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the outputs of this plugin. <a href="#a6aac5f93e3a8c033026d739fed427242"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html#aa5664ffc2b37a16db471fae791c1f55f">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> timestamp)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Process a single block of input data. <a href="#aa5664ffc2b37a16db471fae791c1f55f"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html#ac8a9661a785d38f4c5ce8ca2d53e69f9">getRemainingFeatures</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#ac8a9661a785d38f4c5ce8ca2d53e69f9"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">getPreferredBlockSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). <a href="#aa529adf83f87a603954eb31407602aac"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">getPreferredStepSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#a514c716c22f81c055f19b56c3f882567"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">getMinChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a267b42e866df3cf0d190893e8096f525"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr> +<tr><td class="mdescLeft"> </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 from audio o...">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="#abe13b3997a69fbcc09e2213faa352f91"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a8fd2c48291c64b790f0efb8948508dcf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">getParameterDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#aac3e49b3b66cacfbb768dfdf07444f21"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">getParameter</a> (std::string) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a named parameter. <a href="#a97ababcd45348ceec998d0f8e0f38bf7"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">setParameter</a> (std::string, float)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a named parameter. <a href="#a6c718ce822f7b73b98940d59dcaa9366"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the program settings available in this plugin. <a href="#abb307c60bdb981d5f5af50c3c4ae84af"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current program. <a href="#a24e77eccf1bdfbbca3c79bb25e8799b3"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a> (std::string)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Select a program. <a href="#aadd3a547ef140bae200473a9518e3353"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classPowerSpectrum.html#a399e997c033f26b07edb7cc83cd5a6d8">m_blockSize</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p>Example plugin that returns a power spectrum calculated (trivially) from the frequency domain representation of each block of audio. </p> +<p>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. </p> + +<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> +</div><hr/><h2>Member Typedef Documentation</h2> +<a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="PowerSpectrum::OutputList" ref="a30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>> <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="PowerSpectrum::FeatureList" ref="a0730bc72c87fa02eb8d2854b233f7be1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>> <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="PowerSpectrum::FeatureSet" ref="a448fb57dc245d47923ec9eeaf9856c5f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::map<int, <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>> <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="PowerSpectrum::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>> <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="PowerSpectrum::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<std::string> <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<hr/><h2>Member Enumeration Documentation</h2> +<a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="PowerSpectrum::InputDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<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> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="aa2550486513a4abcf7b52869002947e7"></a><!-- doxytag: member="PowerSpectrum::PowerSpectrum" ref="aa2550486513a4abcf7b52869002947e7" args="(float inputSampleRate)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PowerSpectrum::PowerSpectrum </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"><em>inputSampleRate</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="ae7081e159ad1da5da1721b3048075306"></a><!-- doxytag: member="PowerSpectrum::~PowerSpectrum" ref="ae7081e159ad1da5da1721b3048075306" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">PowerSpectrum::~PowerSpectrum </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="ae2d046334c4bede5be72a0d97e4dfb29"></a><!-- doxytag: member="PowerSpectrum::initialise" ref="ae2d046334c4bede5be72a0d97e4dfb29" args="(size_t channels, size_t stepSize, size_t blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool PowerSpectrum::initialise </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>inputChannels</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>stepSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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). </p> +<p>The input sample rate should have been already specified at construction time.</p> +<p>Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">Vamp::Plugin</a>.</p> + +<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> + +<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> + +</div> +</div> +<a class="anchor" id="a091ba21e1697ea4208f42e8295c389d9"></a><!-- doxytag: member="PowerSpectrum::reset" ref="a091ba21e1697ea4208f42e8295c389d9" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void PowerSpectrum::reset </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Reset the plugin after use, to prepare it for another clean run. </p> +<p>Not called for the first initialisation (i.e. initialise must also do a reset). </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="ae04e0e34847a93f3444d04c802ee56ef"></a><!-- doxytag: member="PowerSpectrum::getInputDomain" ref="ae04e0e34847a93f3444d04c802ee56ef" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> PowerSpectrum::getInputDomain </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the plugin's required input domain. </p> +<p>If this is TimeDomain, the samples provided to the <a class="el" href="classPowerSpectrum.html#aa5664ffc2b37a16db471fae791c1f55f" 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> +<p>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#aa5664ffc2b37a16db471fae791c1f55f" 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. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> + +<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> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00152">Vamp::Plugin::FrequencyDomain</a>.</p> + +</div> +</div> +<a class="anchor" id="a9e9d8349461cbb88d7565a5e8c51b64e"></a><!-- doxytag: member="PowerSpectrum::getIdentifier" ref="a9e9d8349461cbb88d7565a5e8c51b64e" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string PowerSpectrum::getIdentifier </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the computer-usable name of the plugin. </p> +<p>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> +<p>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> +<p>Example: "zero_crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="ac9214f9cafeeed3fca549c90aef57623"></a><!-- doxytag: member="PowerSpectrum::getName" ref="ac9214f9cafeeed3fca549c90aef57623" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string PowerSpectrum::getName </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a human-readable name or title of the plugin. </p> +<p>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> +<p>Example: "Zero Crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a7b48d56dc954f3af344f7e4dcd8993e5"></a><!-- doxytag: member="PowerSpectrum::getDescription" ref="a7b48d56dc954f3af344f7e4dcd8993e5" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string PowerSpectrum::getDescription </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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". </p> +<p>May be empty if the name has said it all already.</p> +<p>Example: "Detect and count zero crossing points" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a9f3e3f759e2b67c771a41f1c276984b2"></a><!-- doxytag: member="PowerSpectrum::getMaker" ref="a9f3e3f759e2b67c771a41f1c276984b2" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string PowerSpectrum::getMaker </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the name of the author or vendor of the plugin in human-readable form. </p> +<p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="ad23d27e4e82f10404a37b933f6a72c33"></a><!-- doxytag: member="PowerSpectrum::getPluginVersion" ref="ad23d27e4e82f10404a37b933f6a72c33" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int PowerSpectrum::getPluginVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the version number of the plugin. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a708b4d335c57643d5ef2b2e1caf43bd9"></a><!-- doxytag: member="PowerSpectrum::getCopyright" ref="a708b4d335c57643d5ef2b2e1caf43bd9" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string PowerSpectrum::getCopyright </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the copyright statement or licensing summary for the plugin. </p> +<p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a6aac5f93e3a8c033026d739fed427242"></a><!-- doxytag: member="PowerSpectrum::getOutputDescriptors" ref="a6aac5f93e3a8c033026d739fed427242" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">PowerSpectrum::OutputList</a> PowerSpectrum::getOutputDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the outputs of this plugin. </p> +<p>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#aa5664ffc2b37a16db471fae791c1f55f" title="Process a single block of input data.">process()</a> call. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p> + +<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> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00247">Vamp::Plugin::OutputDescriptor::binCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00227">Vamp::Plugin::OutputDescriptor::description</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00239">Vamp::Plugin::OutputDescriptor::hasFixedBinCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00260">Vamp::Plugin::OutputDescriptor::hasKnownExtents</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00214">Vamp::Plugin::OutputDescriptor::identifier</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00278">Vamp::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::OutputDescriptor::name</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00290">Vamp::Plugin::OutputDescriptor::OneSamplePerStep</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00302">Vamp::Plugin::OutputDescriptor::sampleType</a>, and <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00232">Vamp::Plugin::OutputDescriptor::unit</a>.</p> + +</div> +</div> +<a class="anchor" id="aa5664ffc2b37a16db471fae791c1f55f"></a><!-- doxytag: member="PowerSpectrum::process" ref="aa5664ffc2b37a16db471fae791c1f55f" args="(const float *const *inputBuffers, Vamp::RealTime timestamp)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">PowerSpectrum::FeatureSet</a> PowerSpectrum::process </td> + <td>(</td> + <td class="paramtype">const float *const * </td> + <td class="paramname"><em>inputBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> </td> + <td class="paramname"><em>timestamp</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Process a single block of input data. </p> +<p>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> +<p>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> +<p>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.) </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin</a>.</p> + +<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> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00344">Vamp::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::Feature::values</a>.</p> + +</div> +</div> +<a class="anchor" id="ac8a9661a785d38f4c5ce8ca2d53e69f9"></a><!-- doxytag: member="PowerSpectrum::getRemainingFeatures" ref="ac8a9661a785d38f4c5ce8ca2d53e69f9" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">PowerSpectrum::FeatureSet</a> PowerSpectrum::getRemainingFeatures </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="aa529adf83f87a603954eb31407602aac"></a><!-- doxytag: member="PowerSpectrum::getPreferredBlockSize" ref="aa529adf83f87a603954eb31407602aac" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getPreferredBlockSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). </p> +<p>This should be called before <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a>.</p> +<p>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#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a> call. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a21e45180b19873f9ab69fe7a4e184a03">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#ad5e0ea8042bdec4dd18428991117e07a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#a68b8569b71504a0478caf990dbe30683">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a410c0b47c6c849d7ed9b726b84402ad0">PercussionOnsetDetector</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a514c716c22f81c055f19b56c3f882567"></a><!-- doxytag: member="PowerSpectrum::getPreferredStepSize" ref="a514c716c22f81c055f19b56c3f882567" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getPreferredStepSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. </p> +<p>This should be called before <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a>.</p> +<p>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#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a> call. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ad979af9f1cbf2eeb16f4eaedb4a4f565">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a859ad5d59402691daed3cf1af1899ebe">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#ad450bb7e7df559ae3d68dfbfb085676f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a733824891e11c306a7a678534b89b968">PercussionOnsetDetector</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a267b42e866df3cf0d190893e8096f525"></a><!-- doxytag: member="PowerSpectrum::getMinChannelCount" ref="a267b42e866df3cf0d190893e8096f525" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the minimum supported number of input channels. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a67d1198c0e58d3f0076d0eda599ff28d">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="PowerSpectrum::getMaxChannelCount" ref="a2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the maximum supported number of input channels. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a25091905e97e39d515d8ffc1a9f2b9e0">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="PowerSpectrum::getType" ref="abe13b3997a69fbcc09e2213faa352f91" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::Plugin::getType </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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 from audio o...">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>. </p> +<p>Do not reimplement this function in your subclass. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="PowerSpectrum::getVampApiVersion" ref="a8fd2c48291c64b790f0efb8948508dcf" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a98aadddc8403eb46c9d8c5a9d1fdd19e">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="aac3e49b3b66cacfbb768dfdf07444f21"></a><!-- doxytag: member="PowerSpectrum::getParameterDescriptors" ref="aac3e49b3b66cacfbb768dfdf07444f21" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginBase::getParameterDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the controllable parameters of this plugin. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a602faa0bfaae83e2ca53b36292271a76">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#a9df01323a09e117bc12354ebe9244edf">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#ae157465a4e07d180bab05b5c3a4d8987">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#abceae88cc9762b0ea310d7aad71de815">PercussionOnsetDetector</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="a97ababcd45348ceec998d0f8e0f38bf7"></a><!-- doxytag: member="PowerSpectrum::getParameter" ref="a97ababcd45348ceec998d0f8e0f38bf7" args="(std::string) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual float Vamp::PluginBase::getParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the value of a named parameter. </p> +<p>The argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#af0c46d4f67ca93be7c76f3ea2e6c8efb">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#ab278c4b6f2ca23248dc94ad775273f39">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a2030b05fb1228b30ace16200780c9152">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a9b28da8315fcde46ce7644d6592ba527">PercussionOnsetDetector</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a6c718ce822f7b73b98940d59dcaa9366"></a><!-- doxytag: member="PowerSpectrum::setParameter" ref="a6c718ce822f7b73b98940d59dcaa9366" args="(std::string, float)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void Vamp::PluginBase::setParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set a named parameter. </p> +<p>The first argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a29f75395aa75b9de0228aa11edf9c6d6">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#ae1fc37ece4d20e40f3066a3361a99340">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#aa097d72488e1211f05fc661ff5c6dc01">PercussionOnsetDetector</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="abb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="PowerSpectrum::getPrograms" ref="abb307c60bdb981d5f5af50c3c4ae84af" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the program settings available in this plugin. </p> +<p>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> +<p>The programs must have unique names. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ae0cde5cd625418c1bc470b91f75daafc">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="PowerSpectrum::getCurrentProgram" ref="a24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the current program. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a34859eff8ca8d862af39be9636ec1867">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="aadd3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="PowerSpectrum::selectProgram" ref="aadd3a547ef140bae200473a9518e3353" args="(std::string)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void Vamp::PluginBase::selectProgram </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td><code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Select a program. </p> +<p>(If the given program name is not one of the available programs, do nothing.) </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a399e997c033f26b07edb7cc83cd5a6d8"></a><!-- doxytag: member="PowerSpectrum::m_blockSize" ref="a399e997c033f26b07edb7cc83cd5a6d8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t <a class="el" href="classPowerSpectrum.html#a399e997c033f26b07edb7cc83cd5a6d8">PowerSpectrum::m_blockSize</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +<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> + +</div> +</div> +<a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="PowerSpectrum::m_inputSampleRate" ref="a59b9dd82a4f4eb946cd0474cc81abc23" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00375">FixedTempoEstimator::D::calculate()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <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="FixedTempoEstimator_8cpp_source.html#l00252">FixedTempoEstimator::D::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00363">FixedTempoEstimator::D::lag2tempo()</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>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00369">FixedTempoEstimator::D::tempo2lag()</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="PowerSpectrum_8h_source.html">PowerSpectrum.h</a></li> +<li><a class="el" href="PowerSpectrum_8cpp_source.html">PowerSpectrum.cpp</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classPowerSpectrum__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,4 @@ +<map id="G" name="G"> +<area shape="rect" id="node2" href="$classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="18,81,109,106"/> +<area shape="rect" id="node4" href="$classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="5,6,123,31"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classPowerSpectrum__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +c9f07b131caa51e199fa4d4ebafc8ea7 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classSpectralCentroid-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,133 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classSpectralCentroid.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">SpectralCentroid Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classSpectralCentroid.html">SpectralCentroid</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#a925747d513d598e0fa21ed0ed6520980">getCopyright</a>() const </td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#a8fbb74a46283057d9a0b0e4718ee943c">getDescription</a>() const </td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#a1b2c4c8440c024c4c635fcef5697949f">getIdentifier</a>() const </td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#a0ec2cb74c1c5f6e57d0bd9dcf7c8f469">getInputDomain</a>() const </td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#ac01ff858bf67e2e93ad5d24a6ba8c8c8">getMaker</a>() const </td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">getMinChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#ab7e6a620fea568af431be3cfd9dd5a41">getName</a>() const </td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#a894ca9740927102bb80b56b5e9e95877">getOutputDescriptors</a>() const </td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">getParameter</a>(std::string) const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">getParameterDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#af64622e66bf678ac2b0b58aa832ca2b3">getPluginVersion</a>() const </td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">getPreferredBlockSize</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">getPreferredStepSize</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#a83ba39f0870a2f86837605a958dfab1a">getRemainingFeatures</a>()</td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#aab1ae16f5c68e2b319668f447908cedb">initialise</a>(size_t channels, size_t stepSize, size_t blockSize)</td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> enum name</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#a262f583d71b442bb2d80023e7c85aa4e">m_blockSize</a></td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#a49805a090ba58477da4adbefea4392a7">m_stepSize</a></td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a>(float inputSampleRate)</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#aca96c70e7e75c9e4a7db38485018914c">process</a>(const float *const *inputBuffers, Vamp::RealTime timestamp)</td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#a9b5f5581691ff8f46bb7674d8d74395c">reset</a>()</td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a>(std::string)</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">setParameter</a>(std::string, float)</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#a2cd801ad72f262eceb95ab0d22e7dbcd">SpectralCentroid</a>(float inputSampleRate)</td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a>()</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a>()</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classSpectralCentroid.html#a483e0d6757bc3dcf61e8066f764f45c6">~SpectralCentroid</a>()</td><td><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></td><td><code> [virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classSpectralCentroid.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,999 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: SpectralCentroid Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classSpectralCentroid.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">SpectralCentroid Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="SpectralCentroid" --><!-- doxytag: inherits="Vamp::Plugin" --> +<p>Example plugin that calculates the centre of gravity of the frequency domain representation of each block of audio. + <a href="classSpectralCentroid.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="SpectralCentroid_8h_source.html">SpectralCentroid.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for SpectralCentroid:</div> +<div class="dyncontent"> +<div class="center"><img src="classSpectralCentroid__inherit__graph.png" border="0" usemap="#SpectralCentroid_inherit__map" alt="Inheritance graph"/></div> +<map name="SpectralCentroid_inherit__map" id="SpectralCentroid_inherit__map"> +<area shape="rect" id="node2" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="18,81,109,106"/><area shape="rect" id="node4" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="5,6,123,31"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classSpectralCentroid-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, +<a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> + }</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< int, <br class="typebreak"/> +<a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#a2cd801ad72f262eceb95ab0d22e7dbcd">SpectralCentroid</a> (float inputSampleRate)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#a483e0d6757bc3dcf61e8066f764f45c6">~SpectralCentroid</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#aab1ae16f5c68e2b319668f447908cedb">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr> +<tr><td class="mdescLeft"> </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="#aab1ae16f5c68e2b319668f447908cedb"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#a9b5f5581691ff8f46bb7674d8d74395c">reset</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#a9b5f5581691ff8f46bb7674d8d74395c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#a0ec2cb74c1c5f6e57d0bd9dcf7c8f469">getInputDomain</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the plugin's required input domain. <a href="#a0ec2cb74c1c5f6e57d0bd9dcf7c8f469"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#a1b2c4c8440c024c4c635fcef5697949f">getIdentifier</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#a1b2c4c8440c024c4c635fcef5697949f"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#ab7e6a620fea568af431be3cfd9dd5a41">getName</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#ab7e6a620fea568af431be3cfd9dd5a41"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#a8fbb74a46283057d9a0b0e4718ee943c">getDescription</a> () const </td></tr> +<tr><td class="mdescLeft"> </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="#a8fbb74a46283057d9a0b0e4718ee943c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#ac01ff858bf67e2e93ad5d24a6ba8c8c8">getMaker</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#ac01ff858bf67e2e93ad5d24a6ba8c8c8"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#af64622e66bf678ac2b0b58aa832ca2b3">getPluginVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the version number of the plugin. <a href="#af64622e66bf678ac2b0b58aa832ca2b3"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#a925747d513d598e0fa21ed0ed6520980">getCopyright</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#a925747d513d598e0fa21ed0ed6520980"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#a894ca9740927102bb80b56b5e9e95877">getOutputDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the outputs of this plugin. <a href="#a894ca9740927102bb80b56b5e9e95877"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#aca96c70e7e75c9e4a7db38485018914c">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> timestamp)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Process a single block of input data. <a href="#aca96c70e7e75c9e4a7db38485018914c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#a83ba39f0870a2f86837605a958dfab1a">getRemainingFeatures</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#a83ba39f0870a2f86837605a958dfab1a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">getPreferredBlockSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). <a href="#aa529adf83f87a603954eb31407602aac"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">getPreferredStepSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#a514c716c22f81c055f19b56c3f882567"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">getMinChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a267b42e866df3cf0d190893e8096f525"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr> +<tr><td class="mdescLeft"> </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 from audio o...">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="#abe13b3997a69fbcc09e2213faa352f91"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a8fd2c48291c64b790f0efb8948508dcf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">getParameterDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#aac3e49b3b66cacfbb768dfdf07444f21"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">getParameter</a> (std::string) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a named parameter. <a href="#a97ababcd45348ceec998d0f8e0f38bf7"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">setParameter</a> (std::string, float)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a named parameter. <a href="#a6c718ce822f7b73b98940d59dcaa9366"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the program settings available in this plugin. <a href="#abb307c60bdb981d5f5af50c3c4ae84af"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current program. <a href="#a24e77eccf1bdfbbca3c79bb25e8799b3"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a> (std::string)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Select a program. <a href="#aadd3a547ef140bae200473a9518e3353"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#a49805a090ba58477da4adbefea4392a7">m_stepSize</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classSpectralCentroid.html#a262f583d71b442bb2d80023e7c85aa4e">m_blockSize</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p>Example plugin that calculates the centre of gravity of the frequency domain representation of each block of audio. </p> + +<p>Definition at line <a class="el" href="SpectralCentroid_8h_source.html#l00047">47</a> of file <a class="el" href="SpectralCentroid_8h_source.html">SpectralCentroid.h</a>.</p> +</div><hr/><h2>Member Typedef Documentation</h2> +<a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="SpectralCentroid::OutputList" ref="a30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>> <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="SpectralCentroid::FeatureList" ref="a0730bc72c87fa02eb8d2854b233f7be1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>> <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="SpectralCentroid::FeatureSet" ref="a448fb57dc245d47923ec9eeaf9856c5f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::map<int, <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>> <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="SpectralCentroid::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>> <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="SpectralCentroid::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<std::string> <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<hr/><h2>Member Enumeration Documentation</h2> +<a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="SpectralCentroid::InputDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<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> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a2cd801ad72f262eceb95ab0d22e7dbcd"></a><!-- doxytag: member="SpectralCentroid::SpectralCentroid" ref="a2cd801ad72f262eceb95ab0d22e7dbcd" args="(float inputSampleRate)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SpectralCentroid::SpectralCentroid </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"><em>inputSampleRate</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="SpectralCentroid_8cpp_source.html#l00056">56</a> of file <a class="el" href="SpectralCentroid_8cpp_source.html">SpectralCentroid.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a483e0d6757bc3dcf61e8066f764f45c6"></a><!-- doxytag: member="SpectralCentroid::~SpectralCentroid" ref="a483e0d6757bc3dcf61e8066f764f45c6" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">SpectralCentroid::~SpectralCentroid </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="SpectralCentroid_8cpp_source.html#l00063">63</a> of file <a class="el" href="SpectralCentroid_8cpp_source.html">SpectralCentroid.cpp</a>.</p> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="aab1ae16f5c68e2b319668f447908cedb"></a><!-- doxytag: member="SpectralCentroid::initialise" ref="aab1ae16f5c68e2b319668f447908cedb" args="(size_t channels, size_t stepSize, size_t blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool SpectralCentroid::initialise </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>inputChannels</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>stepSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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). </p> +<p>The input sample rate should have been already specified at construction time.</p> +<p>Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">104</a> of file <a class="el" href="SpectralCentroid_8cpp_source.html">SpectralCentroid.cpp</a>.</p> + +<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="SpectralCentroid_8h_source.html#l00074">m_blockSize</a>, and <a class="el" href="SpectralCentroid_8h_source.html#l00073">m_stepSize</a>.</p> + +</div> +</div> +<a class="anchor" id="a9b5f5581691ff8f46bb7674d8d74395c"></a><!-- doxytag: member="SpectralCentroid::reset" ref="a9b5f5581691ff8f46bb7674d8d74395c" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void SpectralCentroid::reset </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Reset the plugin after use, to prepare it for another clean run. </p> +<p>Not called for the first initialisation (i.e. initialise must also do a reset). </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="SpectralCentroid_8cpp_source.html#l00116">116</a> of file <a class="el" href="SpectralCentroid_8cpp_source.html">SpectralCentroid.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a0ec2cb74c1c5f6e57d0bd9dcf7c8f469"></a><!-- doxytag: member="SpectralCentroid::getInputDomain" ref="a0ec2cb74c1c5f6e57d0bd9dcf7c8f469" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> SpectralCentroid::getInputDomain </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the plugin's required input domain. </p> +<p>If this is TimeDomain, the samples provided to the <a class="el" href="classSpectralCentroid.html#aca96c70e7e75c9e4a7db38485018914c" 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> +<p>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="classSpectralCentroid.html#aca96c70e7e75c9e4a7db38485018914c" 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. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="SpectralCentroid_8h_source.html#l00056">56</a> of file <a class="el" href="SpectralCentroid_8h_source.html">SpectralCentroid.h</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00152">Vamp::Plugin::FrequencyDomain</a>.</p> + +</div> +</div> +<a class="anchor" id="a1b2c4c8440c024c4c635fcef5697949f"></a><!-- doxytag: member="SpectralCentroid::getIdentifier" ref="a1b2c4c8440c024c4c635fcef5697949f" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string SpectralCentroid::getIdentifier </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the computer-usable name of the plugin. </p> +<p>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> +<p>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> +<p>Example: "zero_crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="SpectralCentroid_8cpp_source.html#l00068">68</a> of file <a class="el" href="SpectralCentroid_8cpp_source.html">SpectralCentroid.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="ab7e6a620fea568af431be3cfd9dd5a41"></a><!-- doxytag: member="SpectralCentroid::getName" ref="ab7e6a620fea568af431be3cfd9dd5a41" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string SpectralCentroid::getName </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a human-readable name or title of the plugin. </p> +<p>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> +<p>Example: "Zero Crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="SpectralCentroid_8cpp_source.html#l00074">74</a> of file <a class="el" href="SpectralCentroid_8cpp_source.html">SpectralCentroid.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a8fbb74a46283057d9a0b0e4718ee943c"></a><!-- doxytag: member="SpectralCentroid::getDescription" ref="a8fbb74a46283057d9a0b0e4718ee943c" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string SpectralCentroid::getDescription </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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". </p> +<p>May be empty if the name has said it all already.</p> +<p>Example: "Detect and count zero crossing points" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="SpectralCentroid_8cpp_source.html#l00080">80</a> of file <a class="el" href="SpectralCentroid_8cpp_source.html">SpectralCentroid.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="ac01ff858bf67e2e93ad5d24a6ba8c8c8"></a><!-- doxytag: member="SpectralCentroid::getMaker" ref="ac01ff858bf67e2e93ad5d24a6ba8c8c8" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string SpectralCentroid::getMaker </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the name of the author or vendor of the plugin in human-readable form. </p> +<p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="SpectralCentroid_8cpp_source.html#l00086">86</a> of file <a class="el" href="SpectralCentroid_8cpp_source.html">SpectralCentroid.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="af64622e66bf678ac2b0b58aa832ca2b3"></a><!-- doxytag: member="SpectralCentroid::getPluginVersion" ref="af64622e66bf678ac2b0b58aa832ca2b3" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int SpectralCentroid::getPluginVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the version number of the plugin. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="SpectralCentroid_8cpp_source.html#l00092">92</a> of file <a class="el" href="SpectralCentroid_8cpp_source.html">SpectralCentroid.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a925747d513d598e0fa21ed0ed6520980"></a><!-- doxytag: member="SpectralCentroid::getCopyright" ref="a925747d513d598e0fa21ed0ed6520980" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string SpectralCentroid::getCopyright </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the copyright statement or licensing summary for the plugin. </p> +<p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="SpectralCentroid_8cpp_source.html#l00098">98</a> of file <a class="el" href="SpectralCentroid_8cpp_source.html">SpectralCentroid.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a894ca9740927102bb80b56b5e9e95877"></a><!-- doxytag: member="SpectralCentroid::getOutputDescriptors" ref="a894ca9740927102bb80b56b5e9e95877" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">SpectralCentroid::OutputList</a> SpectralCentroid::getOutputDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the outputs of this plugin. </p> +<p>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="classSpectralCentroid.html#aca96c70e7e75c9e4a7db38485018914c" title="Process a single block of input data.">process()</a> call. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="SpectralCentroid_8cpp_source.html#l00121">121</a> of file <a class="el" href="SpectralCentroid_8cpp_source.html">SpectralCentroid.cpp</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00247">Vamp::Plugin::OutputDescriptor::binCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00227">Vamp::Plugin::OutputDescriptor::description</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00239">Vamp::Plugin::OutputDescriptor::hasFixedBinCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00260">Vamp::Plugin::OutputDescriptor::hasKnownExtents</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00214">Vamp::Plugin::OutputDescriptor::identifier</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00278">Vamp::Plugin::OutputDescriptor::isQuantized</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00220">Vamp::Plugin::OutputDescriptor::name</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00290">Vamp::Plugin::OutputDescriptor::OneSamplePerStep</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00302">Vamp::Plugin::OutputDescriptor::sampleType</a>, and <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00232">Vamp::Plugin::OutputDescriptor::unit</a>.</p> + +</div> +</div> +<a class="anchor" id="aca96c70e7e75c9e4a7db38485018914c"></a><!-- doxytag: member="SpectralCentroid::process" ref="aca96c70e7e75c9e4a7db38485018914c" args="(const float *const *inputBuffers, Vamp::RealTime timestamp)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">SpectralCentroid::FeatureSet</a> SpectralCentroid::process </td> + <td>(</td> + <td class="paramtype">const float *const * </td> + <td class="paramname"><em>inputBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> </td> + <td class="paramname"><em>timestamp</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Process a single block of input data. </p> +<p>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> +<p>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> +<p>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.) </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="SpectralCentroid_8cpp_source.html#l00146">146</a> of file <a class="el" href="SpectralCentroid_8cpp_source.html">SpectralCentroid.cpp</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00344">Vamp::Plugin::Feature::hasTimestamp</a>, <a class="el" href="SpectralCentroid_8h_source.html#l00074">m_blockSize</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00436">Vamp::Plugin::m_inputSampleRate</a>, <a class="el" href="SpectralCentroid_8h_source.html#l00073">m_stepSize</a>, and <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00374">Vamp::Plugin::Feature::values</a>.</p> + +</div> +</div> +<a class="anchor" id="a83ba39f0870a2f86837605a958dfab1a"></a><!-- doxytag: member="SpectralCentroid::getRemainingFeatures" ref="a83ba39f0870a2f86837605a958dfab1a" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">SpectralCentroid::FeatureSet</a> SpectralCentroid::getRemainingFeatures </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="SpectralCentroid_8cpp_source.html#l00192">192</a> of file <a class="el" href="SpectralCentroid_8cpp_source.html">SpectralCentroid.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="aa529adf83f87a603954eb31407602aac"></a><!-- doxytag: member="SpectralCentroid::getPreferredBlockSize" ref="aa529adf83f87a603954eb31407602aac" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getPreferredBlockSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). </p> +<p>This should be called before <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a>.</p> +<p>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#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a> call. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a21e45180b19873f9ab69fe7a4e184a03">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#ad5e0ea8042bdec4dd18428991117e07a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#a68b8569b71504a0478caf990dbe30683">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a410c0b47c6c849d7ed9b726b84402ad0">PercussionOnsetDetector</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a514c716c22f81c055f19b56c3f882567"></a><!-- doxytag: member="SpectralCentroid::getPreferredStepSize" ref="a514c716c22f81c055f19b56c3f882567" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getPreferredStepSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. </p> +<p>This should be called before <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a>.</p> +<p>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#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a> call. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ad979af9f1cbf2eeb16f4eaedb4a4f565">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a859ad5d59402691daed3cf1af1899ebe">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#ad450bb7e7df559ae3d68dfbfb085676f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a733824891e11c306a7a678534b89b968">PercussionOnsetDetector</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a267b42e866df3cf0d190893e8096f525"></a><!-- doxytag: member="SpectralCentroid::getMinChannelCount" ref="a267b42e866df3cf0d190893e8096f525" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the minimum supported number of input channels. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a67d1198c0e58d3f0076d0eda599ff28d">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="SpectralCentroid::getMaxChannelCount" ref="a2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the maximum supported number of input channels. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a25091905e97e39d515d8ffc1a9f2b9e0">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="SpectralCentroid::getType" ref="abe13b3997a69fbcc09e2213faa352f91" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::Plugin::getType </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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 from audio o...">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>. </p> +<p>Do not reimplement this function in your subclass. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="SpectralCentroid::getVampApiVersion" ref="a8fd2c48291c64b790f0efb8948508dcf" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a98aadddc8403eb46c9d8c5a9d1fdd19e">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="aac3e49b3b66cacfbb768dfdf07444f21"></a><!-- doxytag: member="SpectralCentroid::getParameterDescriptors" ref="aac3e49b3b66cacfbb768dfdf07444f21" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginBase::getParameterDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the controllable parameters of this plugin. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a602faa0bfaae83e2ca53b36292271a76">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#a9df01323a09e117bc12354ebe9244edf">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#ae157465a4e07d180bab05b5c3a4d8987">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#abceae88cc9762b0ea310d7aad71de815">PercussionOnsetDetector</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="a97ababcd45348ceec998d0f8e0f38bf7"></a><!-- doxytag: member="SpectralCentroid::getParameter" ref="a97ababcd45348ceec998d0f8e0f38bf7" args="(std::string) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual float Vamp::PluginBase::getParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the value of a named parameter. </p> +<p>The argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#af0c46d4f67ca93be7c76f3ea2e6c8efb">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#ab278c4b6f2ca23248dc94ad775273f39">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a2030b05fb1228b30ace16200780c9152">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a9b28da8315fcde46ce7644d6592ba527">PercussionOnsetDetector</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a6c718ce822f7b73b98940d59dcaa9366"></a><!-- doxytag: member="SpectralCentroid::setParameter" ref="a6c718ce822f7b73b98940d59dcaa9366" args="(std::string, float)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void Vamp::PluginBase::setParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set a named parameter. </p> +<p>The first argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a29f75395aa75b9de0228aa11edf9c6d6">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#ae1fc37ece4d20e40f3066a3361a99340">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#aa097d72488e1211f05fc661ff5c6dc01">PercussionOnsetDetector</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="abb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="SpectralCentroid::getPrograms" ref="abb307c60bdb981d5f5af50c3c4ae84af" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the program settings available in this plugin. </p> +<p>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> +<p>The programs must have unique names. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ae0cde5cd625418c1bc470b91f75daafc">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="SpectralCentroid::getCurrentProgram" ref="a24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the current program. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a34859eff8ca8d862af39be9636ec1867">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="aadd3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="SpectralCentroid::selectProgram" ref="aadd3a547ef140bae200473a9518e3353" args="(std::string)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void Vamp::PluginBase::selectProgram </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td><code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Select a program. </p> +<p>(If the given program name is not one of the available programs, do nothing.) </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a49805a090ba58477da4adbefea4392a7"></a><!-- doxytag: member="SpectralCentroid::m_stepSize" ref="a49805a090ba58477da4adbefea4392a7" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t <a class="el" href="classSpectralCentroid.html#a49805a090ba58477da4adbefea4392a7">SpectralCentroid::m_stepSize</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="SpectralCentroid_8h_source.html#l00073">73</a> of file <a class="el" href="SpectralCentroid_8h_source.html">SpectralCentroid.h</a>.</p> + +<p>Referenced by <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">initialise()</a>, and <a class="el" href="SpectralCentroid_8cpp_source.html#l00146">process()</a>.</p> + +</div> +</div> +<a class="anchor" id="a262f583d71b442bb2d80023e7c85aa4e"></a><!-- doxytag: member="SpectralCentroid::m_blockSize" ref="a262f583d71b442bb2d80023e7c85aa4e" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t <a class="el" href="classSpectralCentroid.html#a262f583d71b442bb2d80023e7c85aa4e">SpectralCentroid::m_blockSize</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="SpectralCentroid_8h_source.html#l00074">74</a> of file <a class="el" href="SpectralCentroid_8h_source.html">SpectralCentroid.h</a>.</p> + +<p>Referenced by <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">initialise()</a>, and <a class="el" href="SpectralCentroid_8cpp_source.html#l00146">process()</a>.</p> + +</div> +</div> +<a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="SpectralCentroid::m_inputSampleRate" ref="a59b9dd82a4f4eb946cd0474cc81abc23" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00375">FixedTempoEstimator::D::calculate()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <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="FixedTempoEstimator_8cpp_source.html#l00252">FixedTempoEstimator::D::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00363">FixedTempoEstimator::D::lag2tempo()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00146">process()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">ZeroCrossing::process()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00369">FixedTempoEstimator::D::tempo2lag()</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="SpectralCentroid_8h_source.html">SpectralCentroid.h</a></li> +<li><a class="el" href="SpectralCentroid_8cpp_source.html">SpectralCentroid.cpp</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classSpectralCentroid__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,4 @@ +<map id="G" name="G"> +<area shape="rect" id="node2" href="$classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="18,81,109,106"/> +<area shape="rect" id="node4" href="$classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="5,6,123,31"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classSpectralCentroid__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +7e73ddf67ea78e976dc767617b467cc0 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginBufferingAdapter-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,141 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1HostExt_1_1PluginBufferingAdapter.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Vamp::HostExt::PluginBufferingAdapter Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#aa065985fd864f6869d1bc7fea6fa2ece">getActualStepAndBlockSizes</a>(size_t &stepSize, size_t &blockSize)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">getCopyright</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">getCurrentProgram</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">getDescription</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">getIdentifier</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae203faf8384c9e1fddc381409aa8a214">getInputDomain</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">getMaker</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">getMaxChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">getMinChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">getName</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#af8cc914897a284433de220f1153f3845">getOutputDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">getParameter</a>(std::string) const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">getParameterDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7045be875de9dd226d2e2a222e957de0">getPluginPreferredBlockSize</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#ad7fad500331808b5cdf90f5a45019b02">getPluginPreferredStepSize</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">getPluginVersion</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a21e45180b19873f9ab69fe7a4e184a03">getPreferredBlockSize</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a2e66d009df69c951001e5d2786973d60">getPreferredStepSize</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">getPrograms</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a28423951b2eda1a1fc371485434f417b">getRemainingFeatures</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">getVampApiVersion</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05">getWrapper</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8">initialise</a>(size_t channels, size_t stepSize, size_t blockSize)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> enum name</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a51e10c9c63c0349fd74c6d604de5554e">m_impl</a></td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a></td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a>(float inputSampleRate)</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a1276bcfcbe1414b33eeefbd7b2b702fe">PluginBufferingAdapter</a>(Plugin *plugin)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a35cc2d42f8322f5022e89859a79c97be">PluginWrapper</a>(Plugin *plugin)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a55058a20c1f8bffc0dc927350df778a0">process</a>(const float *const *inputBuffers, RealTime timestamp)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a131fd9fe8a1795d7370d8a721176868a">reset</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">selectProgram</a>(std::string)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">setParameter</a>(std::string, float)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#aa80ae1bff6f95e805811df2c3770a98c">setPluginBlockSize</a>(size_t blockSize)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#ac99898d78a01a7fad4def4d6c5fd3a7e">setPluginStepSize</a>(size_t stepSize)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a>()</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a>()</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a96263f7b0910a10eeae86f20db007e55">~PluginBufferingAdapter</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac4fb6cfd7c0d3b2c8576a4e9dc61f518">~PluginWrapper</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginBufferingAdapter.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1082 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::HostExt::PluginBufferingAdapter Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1HostExt_1_1PluginBufferingAdapter.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">Vamp::HostExt::PluginBufferingAdapter Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="Vamp::HostExt::PluginBufferingAdapter" --><!-- doxytag: inherits="Vamp::HostExt::PluginWrapper" --> +<p><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that allows plugins to be used by a host supplying an audio stream in non-overlapping buffers of arbitrary size. + <a href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="PluginBufferingAdapter_8h_source.html">vamp-hostsdk/PluginBufferingAdapter.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for Vamp::HostExt::PluginBufferingAdapter:</div> +<div class="dyncontent"> +<div class="center"><img src="classVamp_1_1HostExt_1_1PluginBufferingAdapter__inherit__graph.png" border="0" usemap="#Vamp_1_1HostExt_1_1PluginBufferingAdapter_inherit__map" alt="Inheritance graph"/></div> +<map name="Vamp_1_1HostExt_1_1PluginBufferingAdapter_inherit__map" id="Vamp_1_1HostExt_1_1PluginBufferingAdapter_inherit__map"> +<area shape="rect" id="node2" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="28,155,212,181"/><area shape="rect" id="node4" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="74,81,165,106"/><area shape="rect" id="node6" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="61,6,179,31"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classVamp_1_1HostExt_1_1PluginBufferingAdapter-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, +<a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> + }</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< int, <br class="typebreak"/> +<a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a1276bcfcbe1414b33eeefbd7b2b702fe">PluginBufferingAdapter</a> (<a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *plugin)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a> wrapping the given plugin. <a href="#a1276bcfcbe1414b33eeefbd7b2b702fe"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a96263f7b0910a10eeae86f20db007e55">~PluginBufferingAdapter</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a2e66d009df69c951001e5d2786973d60">getPreferredStepSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the preferred step size for this adapter. <a href="#a2e66d009df69c951001e5d2786973d60"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a21e45180b19873f9ab69fe7a4e184a03">getPreferredBlockSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the preferred block size for this adapter. <a href="#a21e45180b19873f9ab69fe7a4e184a03"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Initialise the adapter (and therefore the plugin) for the given number of channels. <a href="#a9e7798ba4d7870db46502ab541ab37a8"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#ad7fad500331808b5cdf90f5a45019b02">getPluginPreferredStepSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the preferred step size of the plugin wrapped by this adapter. <a href="#ad7fad500331808b5cdf90f5a45019b02"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7045be875de9dd226d2e2a222e957de0">getPluginPreferredBlockSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the preferred block size of the plugin wrapped by this adapter. <a href="#a7045be875de9dd226d2e2a222e957de0"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#ac99898d78a01a7fad4def4d6c5fd3a7e">setPluginStepSize</a> (size_t stepSize)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the step size that will be used for the underlying plugin when <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a> is called. <a href="#ac99898d78a01a7fad4def4d6c5fd3a7e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#aa80ae1bff6f95e805811df2c3770a98c">setPluginBlockSize</a> (size_t blockSize)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the block size that will be used for the underlying plugin when <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a> is called. <a href="#aa80ae1bff6f95e805811df2c3770a98c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#aa065985fd864f6869d1bc7fea6fa2ece">getActualStepAndBlockSizes</a> (size_t &stepSize, size_t &blockSize)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the step and block sizes that were actually used when initialising the underlying plugin. <a href="#aa065985fd864f6869d1bc7fea6fa2ece"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">setParameter</a> (std::string, float)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a named parameter. <a href="#a7a979b20c169d37adbd7b7d8b8a077b3"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">selectProgram</a> (std::string)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Select a program. <a href="#a3cc7000e0aff525950e0a286b87f8927"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#af8cc914897a284433de220f1153f3845">getOutputDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the outputs of this plugin. <a href="#af8cc914897a284433de220f1153f3845"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a131fd9fe8a1795d7370d8a721176868a">reset</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#a131fd9fe8a1795d7370d8a721176868a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a55058a20c1f8bffc0dc927350df778a0">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Process a single block of input data. <a href="#a55058a20c1f8bffc0dc927350df778a0"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a28423951b2eda1a1fc371485434f417b">getRemainingFeatures</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#a28423951b2eda1a1fc371485434f417b"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae203faf8384c9e1fddc381409aa8a214">getInputDomain</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the plugin's required input domain. <a href="#ae203faf8384c9e1fddc381409aa8a214"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">getVampApiVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a74147fda6b44ff2169bd4a1eea0d46ff"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">getIdentifier</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#a4baa9e48f717c2b3e7f92496aa39d904"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">getName</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#ac70a3265bb25aeb03f6dd8f8a0442088"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">getDescription</a> () const </td></tr> +<tr><td class="mdescLeft"> </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="#ac334f699c0996055942785410d8a065c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">getMaker</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#a59d5a2298951b317995675e664b1c7bb"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">getPluginVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the version number of the plugin. <a href="#a47e1acf1696813008324a915c9ba59c5"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">getCopyright</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#ae14f6ecb78be909c4cd5f0cdaed3c566"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">getParameterDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#a9be71561265c2e6e43b7feaddaa91f36"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">getParameter</a> (std::string) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a named parameter. <a href="#a034920f56c8d7609a85447c42556048c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">getPrograms</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the program settings available in this plugin. <a href="#a131fbe1df81215020b9aa8cecef4c802"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">getCurrentProgram</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current program. <a href="#a7a312dd42d161064b70afd7ff24c0651"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">getMinChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a2b28f1cf37d46a514f1e1411a6037bf8"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">getMaxChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a985eb21f1827bfbc3950d6871b107a58"></a><br/></td></tr> +<tr><td class="memTemplParams" colspan="2">template<typename WrapperType > </td></tr> +<tr><td class="memTemplItemLeft" align="right" valign="top">WrapperType * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05">getWrapper</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. <a href="#a653d0308e8e34881a8749b7631d00f05"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr> +<tr><td class="mdescLeft"> </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 from audio o...">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="#abe13b3997a69fbcc09e2213faa352f91"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">Impl * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a51e10c9c63c0349fd74c6d604de5554e">m_impl</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that allows plugins to be used by a host supplying an audio stream in non-overlapping buffers of arbitrary size. </p> +<p>A host using <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a> may ignore the preferred step and block size reported by the plugin, and still expect the plugin to run. The value of blockSize and stepSize passed to initialise should be the size of the buffer which the host will supply; the stepSize should be equal to the blockSize.</p> +<p>If the internal step size used for the plugin differs from that supplied by the host, the adapter will modify the sample type and rate specifications for the plugin outputs appropriately, and set timestamps on the output features for outputs that formerly used a different sample rate specification. This is necessary in order to obtain correct time stamping.</p> +<p>In other respects, the <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a> behaves identically to the plugin that it wraps. The wrapped plugin will be deleted when the wrapper is deleted. </p> + +<p>Definition at line <a class="el" href="PluginBufferingAdapter_8h_source.html#l00075">75</a> of file <a class="el" href="PluginBufferingAdapter_8h_source.html">PluginBufferingAdapter.h</a>.</p> +</div><hr/><h2>Member Typedef Documentation</h2> +<a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::OutputList" ref="a30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>> <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::FeatureList" ref="a0730bc72c87fa02eb8d2854b233f7be1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>> <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::FeatureSet" ref="a448fb57dc245d47923ec9eeaf9856c5f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::map<int, <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>> <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>> <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<std::string> <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<hr/><h2>Member Enumeration Documentation</h2> +<a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::InputDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<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> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a1276bcfcbe1414b33eeefbd7b2b702fe"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::PluginBufferingAdapter" ref="a1276bcfcbe1414b33eeefbd7b2b702fe" args="(Plugin *plugin)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Vamp::HostExt::PluginBufferingAdapter::PluginBufferingAdapter </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> * </td> + <td class="paramname"><em>plugin</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a> wrapping the given plugin. </p> +<p>The adapter takes ownership of the plugin, which will be deleted when the adapter is deleted. </p> + +</div> +</div> +<a class="anchor" id="a96263f7b0910a10eeae86f20db007e55"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::~PluginBufferingAdapter" ref="a96263f7b0910a10eeae86f20db007e55" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual Vamp::HostExt::PluginBufferingAdapter::~PluginBufferingAdapter </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="a2e66d009df69c951001e5d2786973d60"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPreferredStepSize" ref="a2e66d009df69c951001e5d2786973d60" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginBufferingAdapter::getPreferredStepSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return the preferred step size for this adapter. </p> +<p>Because of the way this adapter works, its preferred step size will always be the same as its preferred block size. This may or may not be the same as the preferred step size of the underlying plugin, which may be obtained by calling <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#ad7fad500331808b5cdf90f5a45019b02" title="Return the preferred step size of the plugin wrapped by this adapter.">getPluginPreferredStepSize()</a>. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="a21e45180b19873f9ab69fe7a4e184a03"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPreferredBlockSize" ref="a21e45180b19873f9ab69fe7a4e184a03" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginBufferingAdapter::getPreferredBlockSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return the preferred block size for this adapter. </p> +<p>This may or may not be the same as the preferred block size of the underlying plugin, which may be obtained by calling <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7045be875de9dd226d2e2a222e957de0" title="Return the preferred block size of the plugin wrapped by this adapter.">getPluginPreferredBlockSize()</a>.</p> +<p>Note that this adapter may be initialised with any block size, not just its supposedly preferred one. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="a9e7798ba4d7870db46502ab541ab37a8"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::initialise" ref="a9e7798ba4d7870db46502ab541ab37a8" args="(size_t channels, size_t stepSize, size_t blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool Vamp::HostExt::PluginBufferingAdapter::initialise </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>channels</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>stepSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Initialise the adapter (and therefore the plugin) for the given number of channels. </p> +<p>Initialise the adapter for the given step and block size, which must be equal.</p> +<p>The step and block size used for the underlying plugin will depend on its preferences, or any values previously passed to setPluginStepSize and setPluginBlockSize. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="ad7fad500331808b5cdf90f5a45019b02"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPluginPreferredStepSize" ref="ad7fad500331808b5cdf90f5a45019b02" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginBufferingAdapter::getPluginPreferredStepSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return the preferred step size of the plugin wrapped by this adapter. </p> +<p>This is included mainly for informational purposes. This value is not likely to be a valid step size for the adapter itself, and it is not usually of any use in interpreting the results (because the adapter re-writes OneSamplePerStep outputs to FixedSampleRate so that the hop size no longer needs to be known beforehand in order to interpret them). </p> + +</div> +</div> +<a class="anchor" id="a7045be875de9dd226d2e2a222e957de0"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPluginPreferredBlockSize" ref="a7045be875de9dd226d2e2a222e957de0" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginBufferingAdapter::getPluginPreferredBlockSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return the preferred block size of the plugin wrapped by this adapter. </p> +<p>This is included mainly for informational purposes. </p> + +</div> +</div> +<a class="anchor" id="ac99898d78a01a7fad4def4d6c5fd3a7e"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::setPluginStepSize" ref="ac99898d78a01a7fad4def4d6c5fd3a7e" args="(size_t stepSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::setPluginStepSize </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>stepSize</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set the step size that will be used for the underlying plugin when <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a> is called. </p> +<p>If this is not set, the plugin's own preferred step size will be used. You will not usually need to call this function. If you do call it, it must be before the first call to <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a>. </p> + +</div> +</div> +<a class="anchor" id="aa80ae1bff6f95e805811df2c3770a98c"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::setPluginBlockSize" ref="aa80ae1bff6f95e805811df2c3770a98c" args="(size_t blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::setPluginBlockSize </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>blockSize</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set the block size that will be used for the underlying plugin when <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a> is called. </p> +<p>If this is not set, the plugin's own preferred block size will be used. You will not usually need to call this function. If you do call it, it must be before the first call to <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a>. </p> + +</div> +</div> +<a class="anchor" id="aa065985fd864f6869d1bc7fea6fa2ece"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getActualStepAndBlockSizes" ref="aa065985fd864f6869d1bc7fea6fa2ece" args="(size_t &stepSize, size_t &blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::getActualStepAndBlockSizes </td> + <td>(</td> + <td class="paramtype">size_t & </td> + <td class="paramname"><em>stepSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t & </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return the step and block sizes that were actually used when initialising the underlying plugin. </p> +<p>This is included mainly for informational purposes. You will not usually need to call this function. If this is called before <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a>, it will return 0 for both values. If it is called after a failed call to <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a>, it will return the values that were used in the failed call to the plugin's <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8" title="Initialise the adapter (and therefore the plugin) for the given number of channels.">initialise()</a> function. </p> + +</div> +</div> +<a class="anchor" id="a7a979b20c169d37adbd7b7d8b8a077b3"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::setParameter" ref="a7a979b20c169d37adbd7b7d8b8a077b3" args="(std::string, float)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::setParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set a named parameter. </p> +<p>The first argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="a3cc7000e0aff525950e0a286b87f8927"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::selectProgram" ref="a3cc7000e0aff525950e0a286b87f8927" args="(std::string)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::selectProgram </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Select a program. </p> +<p>(If the given program name is not one of the available programs, do nothing.) </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="af8cc914897a284433de220f1153f3845"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getOutputDescriptors" ref="af8cc914897a284433de220f1153f3845" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::HostExt::PluginBufferingAdapter::getOutputDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the outputs of this plugin. </p> +<p>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="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a55058a20c1f8bffc0dc927350df778a0" title="Process a single block of input data.">process()</a> call. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a9411305f713b4c9827844b89acd270">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="a131fd9fe8a1795d7370d8a721176868a"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::reset" ref="a131fd9fe8a1795d7370d8a721176868a" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginBufferingAdapter::reset </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Reset the plugin after use, to prepare it for another clean run. </p> +<p>Not called for the first initialisation (i.e. initialise must also do a reset). </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="a55058a20c1f8bffc0dc927350df778a0"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::process" ref="a55058a20c1f8bffc0dc927350df778a0" args="(const float *const *inputBuffers, RealTime timestamp)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginBufferingAdapter::process </td> + <td>(</td> + <td class="paramtype">const float *const * </td> + <td class="paramname"><em>inputBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td> + <td class="paramname"><em>timestamp</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Process a single block of input data. </p> +<p>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> +<p>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> +<p>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.) </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="a28423951b2eda1a1fc371485434f417b"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getRemainingFeatures" ref="a28423951b2eda1a1fc371485434f417b" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginBufferingAdapter::getRemainingFeatures </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2bc8c0992e64f06991fb7cf89f99857e">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="ae203faf8384c9e1fddc381409aa8a214"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getInputDomain" ref="ae203faf8384c9e1fddc381409aa8a214" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::HostExt::PluginWrapper::getInputDomain </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the plugin's required input domain. </p> +<p>If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" 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> +<p>If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" 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. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a74147fda6b44ff2169bd4a1eea0d46ff"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getVampApiVersion" ref="a74147fda6b44ff2169bd4a1eea0d46ff" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int Vamp::HostExt::PluginWrapper::getVampApiVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a4baa9e48f717c2b3e7f92496aa39d904"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getIdentifier" ref="a4baa9e48f717c2b3e7f92496aa39d904" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getIdentifier </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the computer-usable name of the plugin. </p> +<p>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> +<p>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> +<p>Example: "zero_crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ac70a3265bb25aeb03f6dd8f8a0442088"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getName" ref="ac70a3265bb25aeb03f6dd8f8a0442088" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getName </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a human-readable name or title of the plugin. </p> +<p>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> +<p>Example: "Zero Crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ac334f699c0996055942785410d8a065c"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getDescription" ref="ac334f699c0996055942785410d8a065c" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getDescription </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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". </p> +<p>May be empty if the name has said it all already.</p> +<p>Example: "Detect and count zero crossing points" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a59d5a2298951b317995675e664b1c7bb"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getMaker" ref="a59d5a2298951b317995675e664b1c7bb" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getMaker </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the name of the author or vendor of the plugin in human-readable form. </p> +<p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a47e1acf1696813008324a915c9ba59c5"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPluginVersion" ref="a47e1acf1696813008324a915c9ba59c5" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int Vamp::HostExt::PluginWrapper::getPluginVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the version number of the plugin. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ae14f6ecb78be909c4cd5f0cdaed3c566"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getCopyright" ref="ae14f6ecb78be909c4cd5f0cdaed3c566" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCopyright </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the copyright statement or licensing summary for the plugin. </p> +<p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a9be71561265c2e6e43b7feaddaa91f36"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getParameterDescriptors" ref="a9be71561265c2e6e43b7feaddaa91f36" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::HostExt::PluginWrapper::getParameterDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the controllable parameters of this plugin. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a034920f56c8d7609a85447c42556048c"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getParameter" ref="a034920f56c8d7609a85447c42556048c" args="(std::string) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float Vamp::HostExt::PluginWrapper::getParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the value of a named parameter. </p> +<p>The argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a131fbe1df81215020b9aa8cecef4c802"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getPrograms" ref="a131fbe1df81215020b9aa8cecef4c802" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::HostExt::PluginWrapper::getPrograms </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the program settings available in this plugin. </p> +<p>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> +<p>The programs must have unique names. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a7a312dd42d161064b70afd7ff24c0651"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getCurrentProgram" ref="a7a312dd42d161064b70afd7ff24c0651" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCurrentProgram </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the current program. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a2b28f1cf37d46a514f1e1411a6037bf8"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getMinChannelCount" ref="a2b28f1cf37d46a514f1e1411a6037bf8" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMinChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the minimum supported number of input channels. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a985eb21f1827bfbc3950d6871b107a58"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getMaxChannelCount" ref="a985eb21f1827bfbc3950d6871b107a58" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMaxChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the maximum supported number of input channels. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a653d0308e8e34881a8749b7631d00f05"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getWrapper" ref="a653d0308e8e34881a8749b7631d00f05" args="()" --> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<typename WrapperType > </div> + <table class="memname"> + <tr> + <td class="memname">WrapperType* Vamp::HostExt::PluginWrapper::getWrapper </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [inline, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. </p> +<p>This is useful in situations where a plugin is wrapped by multiple different wrappers (one inside another) and the host wants to call some wrapper-specific function on one of the layers without having to care about the order in which they are wrapped. For example, the plugin returned by <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f" title="Load a Vamp plugin, given its identifying key.">PluginLoader::loadPlugin</a> may have more than one wrapper; if the host wanted to query or fine-tune some property of one of them, it would be hard to do so without knowing the order of the wrappers. This function therefore gives direct access to the wrapper of a particular type. </p> + +<p>Definition at line <a class="el" href="PluginWrapper_8h_source.html#l00116">116</a> of file <a class="el" href="PluginWrapper_8h_source.html">PluginWrapper.h</a>.</p> + +<p>References <a class="el" href="PluginWrapper_8h_source.html#l00116">Vamp::HostExt::PluginWrapper::getWrapper()</a>.</p> + +<p>Referenced by <a class="el" href="PluginWrapper_8h_source.html#l00116">Vamp::HostExt::PluginWrapper::getWrapper()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::getType" ref="abe13b3997a69fbcc09e2213faa352f91" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::Plugin::getType </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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 from audio o...">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>. </p> +<p>Do not reimplement this function in your subclass. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a51e10c9c63c0349fd74c6d604de5554e"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::m_impl" ref="a51e10c9c63c0349fd74c6d604de5554e" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Impl* <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a51e10c9c63c0349fd74c6d604de5554e">Vamp::HostExt::PluginBufferingAdapter::m_impl</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginBufferingAdapter_8h_source.html#l00184">184</a> of file <a class="el" href="PluginBufferingAdapter_8h_source.html">PluginBufferingAdapter.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ab4e40ecd98b445e1a2aa9e7baa280ea2"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::m_plugin" ref="ab4e40ecd98b445e1a2aa9e7baa280ea2" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a>* <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">Vamp::HostExt::PluginWrapper::m_plugin</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginWrapper_8h_source.html#l00126">126</a> of file <a class="el" href="PluginWrapper_8h_source.html">PluginWrapper.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::HostExt::PluginBufferingAdapter::m_inputSampleRate" ref="a59b9dd82a4f4eb946cd0474cc81abc23" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00375">FixedTempoEstimator::D::calculate()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <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="FixedTempoEstimator_8cpp_source.html#l00252">FixedTempoEstimator::D::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00363">FixedTempoEstimator::D::lag2tempo()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00146">SpectralCentroid::process()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">ZeroCrossing::process()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00369">FixedTempoEstimator::D::tempo2lag()</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="PluginBufferingAdapter_8h_source.html">PluginBufferingAdapter.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="namespaceVamp_1_1HostExt.html">HostExt</a> </li> + <li class="navelem"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">PluginBufferingAdapter</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginBufferingAdapter__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,5 @@ +<map id="G" name="G"> +<area shape="rect" id="node2" href="$classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="28,155,212,181"/> +<area shape="rect" id="node4" href="$classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="74,81,165,106"/> +<area shape="rect" id="node6" href="$classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="61,6,179,31"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginBufferingAdapter__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +b3be1bdefae501d137e8a9fd93bcd450 \ No newline at end of file
Binary file code-docs/classVamp_1_1HostExt_1_1PluginBufferingAdapter__inherit__graph.png has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginChannelAdapter-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,137 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1HostExt_1_1PluginChannelAdapter.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Vamp::HostExt::PluginChannelAdapter Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html">Vamp::HostExt::PluginChannelAdapter</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">getCopyright</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">getCurrentProgram</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">getDescription</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">getIdentifier</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae203faf8384c9e1fddc381409aa8a214">getInputDomain</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">getMaker</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">getMaxChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">getMinChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">getName</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a9411305f713b4c9827844b89acd270">getOutputDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">getParameter</a>(std::string) const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">getParameterDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">getPluginVersion</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">getPreferredBlockSize</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">getPreferredStepSize</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">getPrograms</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2bc8c0992e64f06991fb7cf89f99857e">getRemainingFeatures</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">getVampApiVersion</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05">getWrapper</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ade0473c8fc54636431967cbf41649c1c">initialise</a>(size_t channels, size_t stepSize, size_t blockSize)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html">Vamp::HostExt::PluginChannelAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> enum name</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ae3a74a2e6c4cd33dce9f4248e73c6701">m_impl</a></td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html">Vamp::HostExt::PluginChannelAdapter</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a></td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a>(float inputSampleRate)</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a2cda2b672708264f9a33c43bad3acdd8">PluginChannelAdapter</a>(Plugin *plugin)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html">Vamp::HostExt::PluginChannelAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a35cc2d42f8322f5022e89859a79c97be">PluginWrapper</a>(Plugin *plugin)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a6ff37bf754ff8711dbcb2f020fa3902c">process</a>(const float *const *inputBuffers, RealTime timestamp)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html">Vamp::HostExt::PluginChannelAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a5c94c3eb1dbc8899fe58527bbb7bb61f">processInterleaved</a>(const float *inputBuffer, RealTime timestamp)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html">Vamp::HostExt::PluginChannelAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad19cc0614ba41cdc26ef3394c5146fe6">reset</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">selectProgram</a>(std::string)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">setParameter</a>(std::string, float)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a>()</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a>()</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#acb9a20fefd130e323b1eb2ced43e521c">~PluginChannelAdapter</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html">Vamp::HostExt::PluginChannelAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac4fb6cfd7c0d3b2c8576a4e9dc61f518">~PluginWrapper</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginChannelAdapter.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1032 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::HostExt::PluginChannelAdapter Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1HostExt_1_1PluginChannelAdapter.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">Vamp::HostExt::PluginChannelAdapter Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="Vamp::HostExt::PluginChannelAdapter" --><!-- doxytag: inherits="Vamp::HostExt::PluginWrapper" --> +<p><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that implements a policy for management of plugins that expect a different number of input channels from the number actually available in the source audio data. + <a href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="PluginChannelAdapter_8h_source.html">vamp-hostsdk/PluginChannelAdapter.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for Vamp::HostExt::PluginChannelAdapter:</div> +<div class="dyncontent"> +<div class="center"><img src="classVamp_1_1HostExt_1_1PluginChannelAdapter__inherit__graph.png" border="0" usemap="#Vamp_1_1HostExt_1_1PluginChannelAdapter_inherit__map" alt="Inheritance graph"/></div> +<map name="Vamp_1_1HostExt_1_1PluginChannelAdapter_inherit__map" id="Vamp_1_1HostExt_1_1PluginChannelAdapter_inherit__map"> +<area shape="rect" id="node2" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="27,155,211,181"/><area shape="rect" id="node4" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="73,81,164,106"/><area shape="rect" id="node6" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="59,6,177,31"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classVamp_1_1HostExt_1_1PluginChannelAdapter-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, +<a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> + }</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< int, <br class="typebreak"/> +<a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a2cda2b672708264f9a33c43bad3acdd8">PluginChannelAdapter</a> (<a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *plugin)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> wrapping the given plugin. <a href="#a2cda2b672708264f9a33c43bad3acdd8"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#acb9a20fefd130e323b1eb2ced43e521c">~PluginChannelAdapter</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ade0473c8fc54636431967cbf41649c1c">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr> +<tr><td class="mdescLeft"> </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="#ade0473c8fc54636431967cbf41649c1c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a6ff37bf754ff8711dbcb2f020fa3902c">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Process a single block of input data. <a href="#a6ff37bf754ff8711dbcb2f020fa3902c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a5c94c3eb1dbc8899fe58527bbb7bb61f">processInterleaved</a> (const float *inputBuffer, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Call <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a6ff37bf754ff8711dbcb2f020fa3902c" title="Process a single block of input data.">process()</a>, providing interleaved audio data with the number of channels passed to <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ade0473c8fc54636431967cbf41649c1c" title="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).">initialise()</a>. <a href="#a5c94c3eb1dbc8899fe58527bbb7bb61f"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad19cc0614ba41cdc26ef3394c5146fe6">reset</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#ad19cc0614ba41cdc26ef3394c5146fe6"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae203faf8384c9e1fddc381409aa8a214">getInputDomain</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the plugin's required input domain. <a href="#ae203faf8384c9e1fddc381409aa8a214"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">getVampApiVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a74147fda6b44ff2169bd4a1eea0d46ff"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">getIdentifier</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#a4baa9e48f717c2b3e7f92496aa39d904"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">getName</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#ac70a3265bb25aeb03f6dd8f8a0442088"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">getDescription</a> () const </td></tr> +<tr><td class="mdescLeft"> </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="#ac334f699c0996055942785410d8a065c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">getMaker</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#a59d5a2298951b317995675e664b1c7bb"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">getPluginVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the version number of the plugin. <a href="#a47e1acf1696813008324a915c9ba59c5"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">getCopyright</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#ae14f6ecb78be909c4cd5f0cdaed3c566"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">getParameterDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#a9be71561265c2e6e43b7feaddaa91f36"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">getParameter</a> (std::string) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a named parameter. <a href="#a034920f56c8d7609a85447c42556048c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">setParameter</a> (std::string, float)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a named parameter. <a href="#a651b15a5dc4c27942ac0c87c6092bfe5"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">getPrograms</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the program settings available in this plugin. <a href="#a131fbe1df81215020b9aa8cecef4c802"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">getCurrentProgram</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current program. <a href="#a7a312dd42d161064b70afd7ff24c0651"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">selectProgram</a> (std::string)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Select a program. <a href="#a074978333a74fdcf336a8a1d8ea20abf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">getPreferredStepSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#a0137d93d7019bacc31104836fb4d352e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">getPreferredBlockSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function). <a href="#a2c62a656313a819650656643a867ad01"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">getMinChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a2b28f1cf37d46a514f1e1411a6037bf8"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">getMaxChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a985eb21f1827bfbc3950d6871b107a58"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a9411305f713b4c9827844b89acd270">getOutputDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the outputs of this plugin. <a href="#a5a9411305f713b4c9827844b89acd270"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2bc8c0992e64f06991fb7cf89f99857e">getRemainingFeatures</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#a2bc8c0992e64f06991fb7cf89f99857e"></a><br/></td></tr> +<tr><td class="memTemplParams" colspan="2">template<typename WrapperType > </td></tr> +<tr><td class="memTemplItemLeft" align="right" valign="top">WrapperType * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05">getWrapper</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. <a href="#a653d0308e8e34881a8749b7631d00f05"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr> +<tr><td class="mdescLeft"> </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 from audio o...">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="#abe13b3997a69fbcc09e2213faa352f91"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">Impl * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ae3a74a2e6c4cd33dce9f4248e73c6701">m_impl</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that implements a policy for management of plugins that expect a different number of input channels from the number actually available in the source audio data. </p> +<p>A host using <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> may ignore the getMinChannelCount and getMaxChannelCount reported by the plugin, and still expect the plugin to run.</p> +<p><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> implements the following policy:</p> +<ul> +<li>If the plugin supports the provided number of channels directly, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> will just run the plugin as normal.</li> +</ul> +<ul> +<li>If the plugin only supports exactly one channel but more than one channel is provided, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> will use the mean of the channels. This ensures that the resulting values remain within the same magnitude range as expected for mono data.</li> +</ul> +<ul> +<li>If the plugin requires more than one channel but exactly one is provided, the provided channel will be duplicated across all the plugin input channels.</li> +</ul> +<p>If none of the above apply:</p> +<ul> +<li>If the plugin requires more channels than are provided, the minimum acceptable number of channels will be produced by adding empty (zero valued) channels to those provided.</li> +</ul> +<ul> +<li>If the plugin requires fewer channels than are provided, the maximum acceptable number of channels will be produced by discarding the excess channels.</li> +</ul> +<p>Hosts requiring a different channel policy from the above will need to implement it themselves, instead of using <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a>.</p> +<p>Note that <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> does not override the minimum and maximum channel counts returned by the wrapped plugin. The host will need to be aware that it is using a <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a>, and be prepared to ignore these counts as necessary. (This contrasts with the approach used in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a>, which aims to make the host completely unaware of which underlying input domain is in fact in use.)</p> +<p>(The rationale for this is that a host may wish to use the <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> but still discriminate in some way on the basis of the number of channels actually supported. For example, a simple stereo audio host may prefer to reject plugins that require more than two channels on the grounds that doesn't actually understand what they are for, rather than allow the channel adapter to make a potentially meaningless channel conversion for them.)</p> +<p>In every respect other than its management of channels, the <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> behaves identically to the plugin that it wraps. The wrapped plugin will be deleted when the wrapper is deleted.</p> +<dl class="note"><dt><b>Note:</b></dt><dd>This class was introduced in version 1.1 of the <a class="el" href="namespaceVamp.html">Vamp</a> plugin SDK. </dd></dl> + +<p>Definition at line <a class="el" href="PluginChannelAdapter_8h_source.html#l00112">112</a> of file <a class="el" href="PluginChannelAdapter_8h_source.html">PluginChannelAdapter.h</a>.</p> +</div><hr/><h2>Member Typedef Documentation</h2> +<a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::OutputList" ref="a30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>> <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::FeatureList" ref="a0730bc72c87fa02eb8d2854b233f7be1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>> <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::FeatureSet" ref="a448fb57dc245d47923ec9eeaf9856c5f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::map<int, <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>> <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>> <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<std::string> <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<hr/><h2>Member Enumeration Documentation</h2> +<a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::InputDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<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> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a2cda2b672708264f9a33c43bad3acdd8"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::PluginChannelAdapter" ref="a2cda2b672708264f9a33c43bad3acdd8" args="(Plugin *plugin)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Vamp::HostExt::PluginChannelAdapter::PluginChannelAdapter </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> * </td> + <td class="paramname"><em>plugin</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> wrapping the given plugin. </p> +<p>The adapter takes ownership of the plugin, which will be deleted when the adapter is deleted. </p> + +</div> +</div> +<a class="anchor" id="acb9a20fefd130e323b1eb2ced43e521c"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::~PluginChannelAdapter" ref="acb9a20fefd130e323b1eb2ced43e521c" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual Vamp::HostExt::PluginChannelAdapter::~PluginChannelAdapter </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="ade0473c8fc54636431967cbf41649c1c"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::initialise" ref="ade0473c8fc54636431967cbf41649c1c" args="(size_t channels, size_t stepSize, size_t blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool Vamp::HostExt::PluginChannelAdapter::initialise </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>inputChannels</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>stepSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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). </p> +<p>The input sample rate should have been already specified at construction time.</p> +<p>Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="a6ff37bf754ff8711dbcb2f020fa3902c"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::process" ref="a6ff37bf754ff8711dbcb2f020fa3902c" args="(const float *const *inputBuffers, RealTime timestamp)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginChannelAdapter::process </td> + <td>(</td> + <td class="paramtype">const float *const * </td> + <td class="paramname"><em>inputBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td> + <td class="paramname"><em>timestamp</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Process a single block of input data. </p> +<p>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> +<p>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> +<p>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.) </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="a5c94c3eb1dbc8899fe58527bbb7bb61f"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::processInterleaved" ref="a5c94c3eb1dbc8899fe58527bbb7bb61f" args="(const float *inputBuffer, RealTime timestamp)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginChannelAdapter::processInterleaved </td> + <td>(</td> + <td class="paramtype">const float * </td> + <td class="paramname"><em>inputBuffer</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td> + <td class="paramname"><em>timestamp</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Call <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a6ff37bf754ff8711dbcb2f020fa3902c" title="Process a single block of input data.">process()</a>, providing interleaved audio data with the number of channels passed to <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ade0473c8fc54636431967cbf41649c1c" title="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).">initialise()</a>. </p> +<p>The adapter will de-interleave into temporary buffers as appropriate before calling <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a6ff37bf754ff8711dbcb2f020fa3902c" title="Process a single block of input data.">process()</a>.</p> +<dl class="note"><dt><b>Note:</b></dt><dd>This function was introduced in version 1.4 of the <a class="el" href="namespaceVamp.html">Vamp</a> plugin SDK. </dd></dl> + +</div> +</div> +<a class="anchor" id="ad19cc0614ba41cdc26ef3394c5146fe6"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::reset" ref="ad19cc0614ba41cdc26ef3394c5146fe6" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginWrapper::reset </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Reset the plugin after use, to prepare it for another clean run. </p> +<p>Not called for the first initialisation (i.e. initialise must also do a reset). </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a131fd9fe8a1795d7370d8a721176868a">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a984a12b5b4cb0be1e2f7a0aa84106c4c">Vamp::HostExt::PluginInputDomainAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3402381d145d507bd26d1a67e3616911">Vamp::HostExt::PluginSummarisingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="ae203faf8384c9e1fddc381409aa8a214"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getInputDomain" ref="ae203faf8384c9e1fddc381409aa8a214" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::HostExt::PluginWrapper::getInputDomain </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the plugin's required input domain. </p> +<p>If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" 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> +<p>If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" 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. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a74147fda6b44ff2169bd4a1eea0d46ff"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getVampApiVersion" ref="a74147fda6b44ff2169bd4a1eea0d46ff" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int Vamp::HostExt::PluginWrapper::getVampApiVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a4baa9e48f717c2b3e7f92496aa39d904"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getIdentifier" ref="a4baa9e48f717c2b3e7f92496aa39d904" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getIdentifier </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the computer-usable name of the plugin. </p> +<p>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> +<p>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> +<p>Example: "zero_crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ac70a3265bb25aeb03f6dd8f8a0442088"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getName" ref="ac70a3265bb25aeb03f6dd8f8a0442088" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getName </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a human-readable name or title of the plugin. </p> +<p>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> +<p>Example: "Zero Crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ac334f699c0996055942785410d8a065c"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getDescription" ref="ac334f699c0996055942785410d8a065c" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getDescription </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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". </p> +<p>May be empty if the name has said it all already.</p> +<p>Example: "Detect and count zero crossing points" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a59d5a2298951b317995675e664b1c7bb"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getMaker" ref="a59d5a2298951b317995675e664b1c7bb" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getMaker </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the name of the author or vendor of the plugin in human-readable form. </p> +<p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a47e1acf1696813008324a915c9ba59c5"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getPluginVersion" ref="a47e1acf1696813008324a915c9ba59c5" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int Vamp::HostExt::PluginWrapper::getPluginVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the version number of the plugin. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ae14f6ecb78be909c4cd5f0cdaed3c566"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getCopyright" ref="ae14f6ecb78be909c4cd5f0cdaed3c566" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCopyright </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the copyright statement or licensing summary for the plugin. </p> +<p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a9be71561265c2e6e43b7feaddaa91f36"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getParameterDescriptors" ref="a9be71561265c2e6e43b7feaddaa91f36" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::HostExt::PluginWrapper::getParameterDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the controllable parameters of this plugin. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a034920f56c8d7609a85447c42556048c"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getParameter" ref="a034920f56c8d7609a85447c42556048c" args="(std::string) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float Vamp::HostExt::PluginWrapper::getParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the value of a named parameter. </p> +<p>The argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a651b15a5dc4c27942ac0c87c6092bfe5"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::setParameter" ref="a651b15a5dc4c27942ac0c87c6092bfe5" args="(std::string, float)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginWrapper::setParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set a named parameter. </p> +<p>The first argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">Vamp::PluginBase</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a131fbe1df81215020b9aa8cecef4c802"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getPrograms" ref="a131fbe1df81215020b9aa8cecef4c802" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::HostExt::PluginWrapper::getPrograms </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the program settings available in this plugin. </p> +<p>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> +<p>The programs must have unique names. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a7a312dd42d161064b70afd7ff24c0651"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getCurrentProgram" ref="a7a312dd42d161064b70afd7ff24c0651" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCurrentProgram </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the current program. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a074978333a74fdcf336a8a1d8ea20abf"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::selectProgram" ref="a074978333a74fdcf336a8a1d8ea20abf" args="(std::string)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginWrapper::selectProgram </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Select a program. </p> +<p>(If the given program name is not one of the available programs, do nothing.) </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">Vamp::PluginBase</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a0137d93d7019bacc31104836fb4d352e"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getPreferredStepSize" ref="a0137d93d7019bacc31104836fb4d352e" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getPreferredStepSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function) for the plugin. </p> +<p>This should be called before <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137" title="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).">initialise()</a>.</p> +<p>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_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137" title="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).">initialise()</a> call. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ad979af9f1cbf2eeb16f4eaedb4a4f565">Vamp::HostExt::PluginInputDomainAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a2c62a656313a819650656643a867ad01"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getPreferredBlockSize" ref="a2c62a656313a819650656643a867ad01" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getPreferredBlockSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function). </p> +<p>This should be called before <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137" title="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).">initialise()</a>.</p> +<p>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_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137" title="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).">initialise()</a> call. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a21e45180b19873f9ab69fe7a4e184a03">Vamp::HostExt::PluginBufferingAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a2b28f1cf37d46a514f1e1411a6037bf8"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getMinChannelCount" ref="a2b28f1cf37d46a514f1e1411a6037bf8" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMinChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the minimum supported number of input channels. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a985eb21f1827bfbc3950d6871b107a58"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getMaxChannelCount" ref="a985eb21f1827bfbc3950d6871b107a58" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMaxChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the maximum supported number of input channels. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a5a9411305f713b4c9827844b89acd270"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getOutputDescriptors" ref="a5a9411305f713b4c9827844b89acd270" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::HostExt::PluginWrapper::getOutputDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the outputs of this plugin. </p> +<p>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="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> call. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#af8cc914897a284433de220f1153f3845">Vamp::HostExt::PluginBufferingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a2bc8c0992e64f06991fb7cf89f99857e"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getRemainingFeatures" ref="a2bc8c0992e64f06991fb7cf89f99857e" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginWrapper::getRemainingFeatures </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a28423951b2eda1a1fc371485434f417b">Vamp::HostExt::PluginBufferingAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ae9dcbd1ba8197ff90b4fc6bf7ade7688">Vamp::HostExt::PluginSummarisingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a653d0308e8e34881a8749b7631d00f05"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getWrapper" ref="a653d0308e8e34881a8749b7631d00f05" args="()" --> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<typename WrapperType > </div> + <table class="memname"> + <tr> + <td class="memname">WrapperType* Vamp::HostExt::PluginWrapper::getWrapper </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [inline, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. </p> +<p>This is useful in situations where a plugin is wrapped by multiple different wrappers (one inside another) and the host wants to call some wrapper-specific function on one of the layers without having to care about the order in which they are wrapped. For example, the plugin returned by <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f" title="Load a Vamp plugin, given its identifying key.">PluginLoader::loadPlugin</a> may have more than one wrapper; if the host wanted to query or fine-tune some property of one of them, it would be hard to do so without knowing the order of the wrappers. This function therefore gives direct access to the wrapper of a particular type. </p> + +<p>Definition at line <a class="el" href="PluginWrapper_8h_source.html#l00116">116</a> of file <a class="el" href="PluginWrapper_8h_source.html">PluginWrapper.h</a>.</p> + +<p>References <a class="el" href="PluginWrapper_8h_source.html#l00116">Vamp::HostExt::PluginWrapper::getWrapper()</a>.</p> + +<p>Referenced by <a class="el" href="PluginWrapper_8h_source.html#l00116">Vamp::HostExt::PluginWrapper::getWrapper()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::getType" ref="abe13b3997a69fbcc09e2213faa352f91" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::Plugin::getType </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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 from audio o...">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>. </p> +<p>Do not reimplement this function in your subclass. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="ae3a74a2e6c4cd33dce9f4248e73c6701"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::m_impl" ref="ae3a74a2e6c4cd33dce9f4248e73c6701" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Impl* <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ae3a74a2e6c4cd33dce9f4248e73c6701">Vamp::HostExt::PluginChannelAdapter::m_impl</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginChannelAdapter_8h_source.html#l00139">139</a> of file <a class="el" href="PluginChannelAdapter_8h_source.html">PluginChannelAdapter.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ab4e40ecd98b445e1a2aa9e7baa280ea2"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::m_plugin" ref="ab4e40ecd98b445e1a2aa9e7baa280ea2" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a>* <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">Vamp::HostExt::PluginWrapper::m_plugin</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginWrapper_8h_source.html#l00126">126</a> of file <a class="el" href="PluginWrapper_8h_source.html">PluginWrapper.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::HostExt::PluginChannelAdapter::m_inputSampleRate" ref="a59b9dd82a4f4eb946cd0474cc81abc23" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00375">FixedTempoEstimator::D::calculate()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <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="FixedTempoEstimator_8cpp_source.html#l00252">FixedTempoEstimator::D::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00363">FixedTempoEstimator::D::lag2tempo()</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>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00369">FixedTempoEstimator::D::tempo2lag()</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="PluginChannelAdapter_8h_source.html">PluginChannelAdapter.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="namespaceVamp_1_1HostExt.html">HostExt</a> </li> + <li class="navelem"><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html">PluginChannelAdapter</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginChannelAdapter__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,5 @@ +<map id="G" name="G"> +<area shape="rect" id="node2" href="$classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="27,155,211,181"/> +<area shape="rect" id="node4" href="$classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="73,81,164,106"/> +<area shape="rect" id="node6" href="$classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="59,6,177,31"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginChannelAdapter__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +3448b64532b61eb89ef1b984342e8530 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginInputDomainAdapter-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,155 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Vamp::HostExt::PluginInputDomainAdapter Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca77fd88a7d94fcd9c6c4aef30b86f077d">BartlettWindow</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca7cbf5d8c58f33bcfa28e3a5863d6ac94">BlackmanHarrisWindow</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca2e298b1bee28272721953b2921891da6">BlackmanWindow</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">getCopyright</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">getCurrentProgram</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">getDescription</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">getIdentifier</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a47ff1ed72889f323da63f8abc9ea581a">getInputDomain</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">getMaker</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">getMaxChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">getMinChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">getName</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a9411305f713b4c9827844b89acd270">getOutputDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">getParameter</a>(std::string) const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">getParameterDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">getPluginVersion</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a4cf40d09d02022b1962ff17bb0324ea5">getPreferredBlockSize</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ad979af9f1cbf2eeb16f4eaedb4a4f565">getPreferredStepSize</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#acfc7a9121f678fd085448f68f15c9eae">getProcessTimestampMethod</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">getPrograms</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2bc8c0992e64f06991fb7cf89f99857e">getRemainingFeatures</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ac1ab6af0fcda0a4c3f050c54b2db4769">getTimestampAdjustment</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">getVampApiVersion</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab143065e1a65f1d860cb26b32d5a9c1e">getWindowType</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05">getWrapper</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca9d522bff8d5884a8ba57d5a8c7e113c8">HammingWindow</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcacad78947b6c8db20feb5ddf208ac1108">HanningWindow</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcadc87b20cfb5f1ddd23ebc281e3e47916">HannWindow</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a72d201eca10ec73bf16e07984f58f94c">initialise</a>(size_t channels, size_t stepSize, size_t blockSize)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> enum name</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a9fa8a6b8a4e41b6e3f2fabc0d23678cc">m_impl</a></td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a></td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577ab06e8c6824802978d0be4074a556b297">NoShift</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcaa6a2f46966a46cc7abdf2df74270999e">NuttallWindow</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a>(float inputSampleRate)</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a878e7275acdb77efc7a802944305039d">PluginInputDomainAdapter</a>(Plugin *plugin)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a35cc2d42f8322f5022e89859a79c97be">PluginWrapper</a>(Plugin *plugin)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231">process</a>(const float *const *inputBuffers, RealTime timestamp)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577">ProcessTimestampMethod</a> enum name</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca99b08cf7a7f4a1b52a09044ea12c6324">RectangularWindow</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a984a12b5b4cb0be1e2f7a0aa84106c4c">reset</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">selectProgram</a>(std::string)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">setParameter</a>(std::string, float)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a1d7366f8cab39abc01ebfc7bf7ca8089">setProcessTimestampMethod</a>(ProcessTimestampMethod)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a652bf9f25352a4fa89dd80ff816558d4">setWindowType</a>(WindowType type)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577a0838ff456d829e9096b5d968e6c55152">ShiftData</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577afcf39fe57ba29a908d4877c21de145dd">ShiftTimestamp</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcaae5133bd639336a5c31378f4c2939d42">TriangularWindow</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dc">WindowType</a> enum name</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a>()</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a>()</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#aba2cbfa650d8a7c9181dbdb49b10aad0">~PluginInputDomainAdapter</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac4fb6cfd7c0d3b2c8576a4e9dc61f518">~PluginWrapper</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1182 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::HostExt::PluginInputDomainAdapter Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">Vamp::HostExt::PluginInputDomainAdapter Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="Vamp::HostExt::PluginInputDomainAdapter" --><!-- doxytag: inherits="Vamp::HostExt::PluginWrapper" --> +<p><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that converts time-domain input into frequency-domain input for plugins that need it. + <a href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="PluginInputDomainAdapter_8h_source.html">vamp-hostsdk/PluginInputDomainAdapter.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for Vamp::HostExt::PluginInputDomainAdapter:</div> +<div class="dyncontent"> +<div class="center"><img src="classVamp_1_1HostExt_1_1PluginInputDomainAdapter__inherit__graph.png" border="0" usemap="#Vamp_1_1HostExt_1_1PluginInputDomainAdapter_inherit__map" alt="Inheritance graph"/></div> +<map name="Vamp_1_1HostExt_1_1PluginInputDomainAdapter_inherit__map" id="Vamp_1_1HostExt_1_1PluginInputDomainAdapter_inherit__map"> +<area shape="rect" id="node2" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="40,155,224,181"/><area shape="rect" id="node4" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="86,81,177,106"/><area shape="rect" id="node6" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="73,6,191,31"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577">ProcessTimestampMethod</a> { <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577afcf39fe57ba29a908d4877c21de145dd">ShiftTimestamp</a>, +<a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577a0838ff456d829e9096b5d968e6c55152">ShiftData</a>, +<a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577ab06e8c6824802978d0be4074a556b297">NoShift</a> + }</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">ProcessTimestampMethod determines how the <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> handles timestamps for the data passed to the <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231" title="Process a single block of input data.">process()</a> function of the plugin it wraps, in the case where the plugin is expecting frequency-domain data. <a href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dc">WindowType</a> { <br/> +  <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca99b08cf7a7f4a1b52a09044ea12c6324">RectangularWindow</a> = 0, +<a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca77fd88a7d94fcd9c6c4aef30b86f077d">BartlettWindow</a> = 1, +<a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcaae5133bd639336a5c31378f4c2939d42">TriangularWindow</a> = 1, +<a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca9d522bff8d5884a8ba57d5a8c7e113c8">HammingWindow</a> = 2, +<br/> +  <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcacad78947b6c8db20feb5ddf208ac1108">HanningWindow</a> = 3, +<a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcadc87b20cfb5f1ddd23ebc281e3e47916">HannWindow</a> = 3, +<a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca2e298b1bee28272721953b2921891da6">BlackmanWindow</a> = 4, +<a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcaa6a2f46966a46cc7abdf2df74270999e">NuttallWindow</a> = 7, +<br/> +  <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca7cbf5d8c58f33bcfa28e3a5863d6ac94">BlackmanHarrisWindow</a> = 8 +<br/> + }</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The set of supported window shapes. <a href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dc">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, +<a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> + }</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< int, <br class="typebreak"/> +<a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a878e7275acdb77efc7a802944305039d">PluginInputDomainAdapter</a> (<a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *plugin)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> wrapping the given plugin. <a href="#a878e7275acdb77efc7a802944305039d"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#aba2cbfa650d8a7c9181dbdb49b10aad0">~PluginInputDomainAdapter</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a72d201eca10ec73bf16e07984f58f94c">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr> +<tr><td class="mdescLeft"> </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="#a72d201eca10ec73bf16e07984f58f94c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a984a12b5b4cb0be1e2f7a0aa84106c4c">reset</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#a984a12b5b4cb0be1e2f7a0aa84106c4c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a47ff1ed72889f323da63f8abc9ea581a">getInputDomain</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the plugin's required input domain. <a href="#a47ff1ed72889f323da63f8abc9ea581a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ad979af9f1cbf2eeb16f4eaedb4a4f565">getPreferredStepSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#ad979af9f1cbf2eeb16f4eaedb4a4f565"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a4cf40d09d02022b1962ff17bb0324ea5">getPreferredBlockSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231" title="Process a single block of input data.">process()</a> function). <a href="#a4cf40d09d02022b1962ff17bb0324ea5"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Process a single block of input data. <a href="#ab36a81ac9a0ded8d83c6b855263c0231"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a1d7366f8cab39abc01ebfc7bf7ca8089">setProcessTimestampMethod</a> (<a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577">ProcessTimestampMethod</a>)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the method used for timestamp adjustment in plugins taking frequency-domain input. <a href="#a1d7366f8cab39abc01ebfc7bf7ca8089"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577">ProcessTimestampMethod</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#acfc7a9121f678fd085448f68f15c9eae">getProcessTimestampMethod</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Retrieve the method used for timestamp adjustment in plugins taking frequency-domain input. <a href="#acfc7a9121f678fd085448f68f15c9eae"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ac1ab6af0fcda0a4c3f050c54b2db4769">getTimestampAdjustment</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the amount by which the timestamps supplied to <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231" title="Process a single block of input data.">process()</a> are being incremented when they are passed to the plugin's own <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231" title="Process a single block of input data.">process()</a> implementation. <a href="#ac1ab6af0fcda0a4c3f050c54b2db4769"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dc">WindowType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab143065e1a65f1d860cb26b32d5a9c1e">getWindowType</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the current window shape. <a href="#ab143065e1a65f1d860cb26b32d5a9c1e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a652bf9f25352a4fa89dd80ff816558d4">setWindowType</a> (<a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dc">WindowType</a> type)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the current window shape. <a href="#a652bf9f25352a4fa89dd80ff816558d4"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">getVampApiVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a74147fda6b44ff2169bd4a1eea0d46ff"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">getIdentifier</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#a4baa9e48f717c2b3e7f92496aa39d904"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">getName</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#ac70a3265bb25aeb03f6dd8f8a0442088"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">getDescription</a> () const </td></tr> +<tr><td class="mdescLeft"> </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="#ac334f699c0996055942785410d8a065c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">getMaker</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#a59d5a2298951b317995675e664b1c7bb"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">getPluginVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the version number of the plugin. <a href="#a47e1acf1696813008324a915c9ba59c5"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">getCopyright</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#ae14f6ecb78be909c4cd5f0cdaed3c566"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">getParameterDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#a9be71561265c2e6e43b7feaddaa91f36"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">getParameter</a> (std::string) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a named parameter. <a href="#a034920f56c8d7609a85447c42556048c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">setParameter</a> (std::string, float)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a named parameter. <a href="#a651b15a5dc4c27942ac0c87c6092bfe5"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">getPrograms</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the program settings available in this plugin. <a href="#a131fbe1df81215020b9aa8cecef4c802"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">getCurrentProgram</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current program. <a href="#a7a312dd42d161064b70afd7ff24c0651"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">selectProgram</a> (std::string)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Select a program. <a href="#a074978333a74fdcf336a8a1d8ea20abf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">getMinChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a2b28f1cf37d46a514f1e1411a6037bf8"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">getMaxChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a985eb21f1827bfbc3950d6871b107a58"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a9411305f713b4c9827844b89acd270">getOutputDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the outputs of this plugin. <a href="#a5a9411305f713b4c9827844b89acd270"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2bc8c0992e64f06991fb7cf89f99857e">getRemainingFeatures</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#a2bc8c0992e64f06991fb7cf89f99857e"></a><br/></td></tr> +<tr><td class="memTemplParams" colspan="2">template<typename WrapperType > </td></tr> +<tr><td class="memTemplItemLeft" align="right" valign="top">WrapperType * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05">getWrapper</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. <a href="#a653d0308e8e34881a8749b7631d00f05"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr> +<tr><td class="mdescLeft"> </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 from audio o...">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="#abe13b3997a69fbcc09e2213faa352f91"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">Impl * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a9fa8a6b8a4e41b6e3f2fabc0d23678cc">m_impl</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that converts time-domain input into frequency-domain input for plugins that need it. </p> +<p>This permits a host to use time- and frequency-domain plugins interchangeably without needing to handle the conversion itself.</p> +<p>This adapter uses a basic windowed FFT (using Hann window by default) that supports power-of-two block sizes only. If a frequency domain plugin requests a non-power-of-two blocksize, the adapter will adjust it to a nearby power of two instead. Thus, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a4cf40d09d02022b1962ff17bb0324ea5" title="Get the preferred block size (window size -- the number of sample frames passed in each block to the ...">getPreferredBlockSize()</a> will always return a power of two if the wrapped plugin is a frequency domain one. If the plugin doesn't accept the adjusted power of two block size, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a72d201eca10ec73bf16e07984f58f94c" title="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).">initialise()</a> will fail.</p> +<p>The adapter provides no way for the host to discover whether the underlying plugin is actually a time or frequency domain plugin (except that if the preferred block size is not a power of two, it must be a time domain plugin).</p> +<p>The FFT implementation is simple and self-contained, but unlikely to be the fastest available: a host can usually do better if it cares enough.</p> +<p>The window shape for the FFT frame can be set using setWindowType and the current shape retrieved using getWindowType. (This was added in v2.3 of the SDK.)</p> +<p>In every respect other than its input domain handling, the <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> behaves identically to the plugin that it wraps. The wrapped plugin will be deleted when the wrapper is deleted.</p> +<dl class="note"><dt><b>Note:</b></dt><dd>This class was introduced in version 1.1 of the <a class="el" href="namespaceVamp.html">Vamp</a> plugin SDK. </dd></dl> + +<p>Definition at line <a class="el" href="PluginInputDomainAdapter_8h_source.html#l00087">87</a> of file <a class="el" href="PluginInputDomainAdapter_8h_source.html">PluginInputDomainAdapter.h</a>.</p> +</div><hr/><h2>Member Typedef Documentation</h2> +<a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::OutputList" ref="a30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>> <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::FeatureList" ref="a0730bc72c87fa02eb8d2854b233f7be1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>> <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::FeatureSet" ref="a448fb57dc245d47923ec9eeaf9856c5f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::map<int, <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>> <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>> <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<std::string> <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<hr/><h2>Member Enumeration Documentation</h2> +<a class="anchor" id="a2518e4922d77bc4e514d84cec9a0b577"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::ProcessTimestampMethod" ref="a2518e4922d77bc4e514d84cec9a0b577" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577">Vamp::HostExt::PluginInputDomainAdapter::ProcessTimestampMethod</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>ProcessTimestampMethod determines how the <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> handles timestamps for the data passed to the <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231" title="Process a single block of input data.">process()</a> function of the plugin it wraps, in the case where the plugin is expecting frequency-domain data. </p> +<p>The <a class="el" href="namespaceVamp.html">Vamp</a> specification requires that the timestamp passed to the plugin for frequency-domain input should be that of the centre of the processing block, rather than the start as is the case for time-domain input.</p> +<p>Since <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> aims to be transparent in use, it needs to handle this timestamp adjustment itself. However, some control is available over the method used for adjustment, by means of the ProcessTimestampMethod setting.</p> +<p>If ProcessTimestampMethod is set to ShiftTimestamp (the default), then the data passed to the wrapped plugin will be calculated from the same input data block as passed to the wrapper, but the timestamp passed to the plugin will be advanced by half of the window size.</p> +<p>If ProcessTimestampMethod is set to ShiftData, then the timestamp passed to the wrapped plugin will be the same as that passed to the process call of the wrapper, but the data block used to calculate the input will be shifted back (earlier) by half of the window size, with half a block of zero padding at the start of the first process call. This has the advantage of preserving the first half block of audio without any deterioration from window shaping.</p> +<p>If ProcessTimestampMethod is set to NoShift, then no adjustment will be made and the timestamps will be incorrect. </p> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a2518e4922d77bc4e514d84cec9a0b577afcf39fe57ba29a908d4877c21de145dd"></a><!-- doxytag: member="ShiftTimestamp" ref="a2518e4922d77bc4e514d84cec9a0b577afcf39fe57ba29a908d4877c21de145dd" args="" -->ShiftTimestamp</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a2518e4922d77bc4e514d84cec9a0b577a0838ff456d829e9096b5d968e6c55152"></a><!-- doxytag: member="ShiftData" ref="a2518e4922d77bc4e514d84cec9a0b577a0838ff456d829e9096b5d968e6c55152" args="" -->ShiftData</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a2518e4922d77bc4e514d84cec9a0b577ab06e8c6824802978d0be4074a556b297"></a><!-- doxytag: member="NoShift" ref="a2518e4922d77bc4e514d84cec9a0b577ab06e8c6824802978d0be4074a556b297" args="" -->NoShift</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<p>Definition at line <a class="el" href="PluginInputDomainAdapter_8h_source.html#l00142">142</a> of file <a class="el" href="PluginInputDomainAdapter_8h_source.html">PluginInputDomainAdapter.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a27e6a7c3f93f1618836792b588b767dc"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::WindowType" ref="a27e6a7c3f93f1618836792b588b767dc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dc">Vamp::HostExt::PluginInputDomainAdapter::WindowType</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>The set of supported window shapes. </p> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a27e6a7c3f93f1618836792b588b767dca99b08cf7a7f4a1b52a09044ea12c6324"></a><!-- doxytag: member="RectangularWindow" ref="a27e6a7c3f93f1618836792b588b767dca99b08cf7a7f4a1b52a09044ea12c6324" args="" -->RectangularWindow</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a27e6a7c3f93f1618836792b588b767dca77fd88a7d94fcd9c6c4aef30b86f077d"></a><!-- doxytag: member="BartlettWindow" ref="a27e6a7c3f93f1618836792b588b767dca77fd88a7d94fcd9c6c4aef30b86f077d" args="" -->BartlettWindow</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a27e6a7c3f93f1618836792b588b767dcaae5133bd639336a5c31378f4c2939d42"></a><!-- doxytag: member="TriangularWindow" ref="a27e6a7c3f93f1618836792b588b767dcaae5133bd639336a5c31378f4c2939d42" args="" -->TriangularWindow</em> </td><td> +<p>synonym for RectangularWindow </p> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a27e6a7c3f93f1618836792b588b767dca9d522bff8d5884a8ba57d5a8c7e113c8"></a><!-- doxytag: member="HammingWindow" ref="a27e6a7c3f93f1618836792b588b767dca9d522bff8d5884a8ba57d5a8c7e113c8" args="" -->HammingWindow</em> </td><td> +<p>synonym for BartlettWindow </p> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a27e6a7c3f93f1618836792b588b767dcacad78947b6c8db20feb5ddf208ac1108"></a><!-- doxytag: member="HanningWindow" ref="a27e6a7c3f93f1618836792b588b767dcacad78947b6c8db20feb5ddf208ac1108" args="" -->HanningWindow</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a27e6a7c3f93f1618836792b588b767dcadc87b20cfb5f1ddd23ebc281e3e47916"></a><!-- doxytag: member="HannWindow" ref="a27e6a7c3f93f1618836792b588b767dcadc87b20cfb5f1ddd23ebc281e3e47916" args="" -->HannWindow</em> </td><td> +<p>synonym for HannWindow </p> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a27e6a7c3f93f1618836792b588b767dca2e298b1bee28272721953b2921891da6"></a><!-- doxytag: member="BlackmanWindow" ref="a27e6a7c3f93f1618836792b588b767dca2e298b1bee28272721953b2921891da6" args="" -->BlackmanWindow</em> </td><td> +<p>synonym for HanningWindow </p> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a27e6a7c3f93f1618836792b588b767dcaa6a2f46966a46cc7abdf2df74270999e"></a><!-- doxytag: member="NuttallWindow" ref="a27e6a7c3f93f1618836792b588b767dcaa6a2f46966a46cc7abdf2df74270999e" args="" -->NuttallWindow</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a27e6a7c3f93f1618836792b588b767dca7cbf5d8c58f33bcfa28e3a5863d6ac94"></a><!-- doxytag: member="BlackmanHarrisWindow" ref="a27e6a7c3f93f1618836792b588b767dca7cbf5d8c58f33bcfa28e3a5863d6ac94" args="" -->BlackmanHarrisWindow</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<p>Definition at line <a class="el" href="PluginInputDomainAdapter_8h_source.html#l00195">195</a> of file <a class="el" href="PluginInputDomainAdapter_8h_source.html">PluginInputDomainAdapter.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::InputDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<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> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a878e7275acdb77efc7a802944305039d"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::PluginInputDomainAdapter" ref="a878e7275acdb77efc7a802944305039d" args="(Plugin *plugin)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Vamp::HostExt::PluginInputDomainAdapter::PluginInputDomainAdapter </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> * </td> + <td class="paramname"><em>plugin</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> wrapping the given plugin. </p> +<p>The adapter takes ownership of the plugin, which will be deleted when the adapter is deleted. </p> + +</div> +</div> +<a class="anchor" id="aba2cbfa650d8a7c9181dbdb49b10aad0"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::~PluginInputDomainAdapter" ref="aba2cbfa650d8a7c9181dbdb49b10aad0" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual Vamp::HostExt::PluginInputDomainAdapter::~PluginInputDomainAdapter </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="a72d201eca10ec73bf16e07984f58f94c"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::initialise" ref="a72d201eca10ec73bf16e07984f58f94c" args="(size_t channels, size_t stepSize, size_t blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool Vamp::HostExt::PluginInputDomainAdapter::initialise </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>inputChannels</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>stepSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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). </p> +<p>The input sample rate should have been already specified at construction time.</p> +<p>Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="a984a12b5b4cb0be1e2f7a0aa84106c4c"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::reset" ref="a984a12b5b4cb0be1e2f7a0aa84106c4c" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginInputDomainAdapter::reset </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Reset the plugin after use, to prepare it for another clean run. </p> +<p>Not called for the first initialisation (i.e. initialise must also do a reset). </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="a47ff1ed72889f323da63f8abc9ea581a"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getInputDomain" ref="a47ff1ed72889f323da63f8abc9ea581a" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::HostExt::PluginInputDomainAdapter::getInputDomain </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the plugin's required input domain. </p> +<p>If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231" 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> +<p>If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231" 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. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae203faf8384c9e1fddc381409aa8a214">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="ad979af9f1cbf2eeb16f4eaedb4a4f565"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getPreferredStepSize" ref="ad979af9f1cbf2eeb16f4eaedb4a4f565" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginInputDomainAdapter::getPreferredStepSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231" title="Process a single block of input data.">process()</a> function) for the plugin. </p> +<p>This should be called before <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a72d201eca10ec73bf16e07984f58f94c" title="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).">initialise()</a>.</p> +<p>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_1HostExt_1_1PluginInputDomainAdapter.html#a72d201eca10ec73bf16e07984f58f94c" title="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).">initialise()</a> call. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="a4cf40d09d02022b1962ff17bb0324ea5"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getPreferredBlockSize" ref="a4cf40d09d02022b1962ff17bb0324ea5" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginInputDomainAdapter::getPreferredBlockSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231" title="Process a single block of input data.">process()</a> function). </p> +<p>This should be called before <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a72d201eca10ec73bf16e07984f58f94c" title="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).">initialise()</a>.</p> +<p>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_1HostExt_1_1PluginInputDomainAdapter.html#a72d201eca10ec73bf16e07984f58f94c" title="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).">initialise()</a> call. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="ab36a81ac9a0ded8d83c6b855263c0231"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::process" ref="ab36a81ac9a0ded8d83c6b855263c0231" args="(const float *const *inputBuffers, RealTime timestamp)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginInputDomainAdapter::process </td> + <td>(</td> + <td class="paramtype">const float *const * </td> + <td class="paramname"><em>inputBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td> + <td class="paramname"><em>timestamp</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Process a single block of input data. </p> +<p>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> +<p>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> +<p>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.) </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="a1d7366f8cab39abc01ebfc7bf7ca8089"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::setProcessTimestampMethod" ref="a1d7366f8cab39abc01ebfc7bf7ca8089" args="(ProcessTimestampMethod)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginInputDomainAdapter::setProcessTimestampMethod </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577">ProcessTimestampMethod</a> </td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set the method used for timestamp adjustment in plugins taking frequency-domain input. </p> +<p>See the ProcessTimestampMethod documentation for details.</p> +<p>This function must be called before the first call to <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231" title="Process a single block of input data.">process()</a>. </p> + +</div> +</div> +<a class="anchor" id="acfc7a9121f678fd085448f68f15c9eae"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getProcessTimestampMethod" ref="acfc7a9121f678fd085448f68f15c9eae" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577">ProcessTimestampMethod</a> Vamp::HostExt::PluginInputDomainAdapter::getProcessTimestampMethod </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Retrieve the method used for timestamp adjustment in plugins taking frequency-domain input. </p> +<p>See the ProcessTimestampMethod documentation for details. </p> + +</div> +</div> +<a class="anchor" id="ac1ab6af0fcda0a4c3f050c54b2db4769"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getTimestampAdjustment" ref="ac1ab6af0fcda0a4c3f050c54b2db4769" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> Vamp::HostExt::PluginInputDomainAdapter::getTimestampAdjustment </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return the amount by which the timestamps supplied to <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231" title="Process a single block of input data.">process()</a> are being incremented when they are passed to the plugin's own <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231" title="Process a single block of input data.">process()</a> implementation. </p> +<p>The <a class="el" href="namespaceVamp.html">Vamp</a> API mandates that the timestamp passed to the plugin for time-domain input should be the time of the first sample in the block, but the timestamp passed for frequency-domain input should be the timestamp of the centre of the block.</p> +<p>The <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> adjusts its timestamps properly so that the plugin receives correct times, but in some circumstances (such as for establishing the correct timing of implicitly-timed features, i.e. features without their own timestamps) the host may need to be aware that this adjustment is taking place.</p> +<p>If the plugin requires time-domain input or the <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> is configured with its ProcessTimestampMethod set to ShiftData instead of ShiftTimestamp, then this function will return zero.</p> +<p>The result of calling this function before <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a72d201eca10ec73bf16e07984f58f94c" title="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).">initialise()</a> has been called is undefined. </p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="ab143065e1a65f1d860cb26b32d5a9c1e"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getWindowType" ref="ab143065e1a65f1d860cb26b32d5a9c1e" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dc">WindowType</a> Vamp::HostExt::PluginInputDomainAdapter::getWindowType </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return the current window shape. </p> +<p>The default is HanningWindow. </p> + +</div> +</div> +<a class="anchor" id="a652bf9f25352a4fa89dd80ff816558d4"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::setWindowType" ref="a652bf9f25352a4fa89dd80ff816558d4" args="(WindowType type)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginInputDomainAdapter::setWindowType </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dc">WindowType</a> </td> + <td class="paramname"><em>type</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set the current window shape. </p> + +</div> +</div> +<a class="anchor" id="a74147fda6b44ff2169bd4a1eea0d46ff"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getVampApiVersion" ref="a74147fda6b44ff2169bd4a1eea0d46ff" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int Vamp::HostExt::PluginWrapper::getVampApiVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a4baa9e48f717c2b3e7f92496aa39d904"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getIdentifier" ref="a4baa9e48f717c2b3e7f92496aa39d904" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getIdentifier </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the computer-usable name of the plugin. </p> +<p>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> +<p>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> +<p>Example: "zero_crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ac70a3265bb25aeb03f6dd8f8a0442088"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getName" ref="ac70a3265bb25aeb03f6dd8f8a0442088" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getName </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a human-readable name or title of the plugin. </p> +<p>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> +<p>Example: "Zero Crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ac334f699c0996055942785410d8a065c"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getDescription" ref="ac334f699c0996055942785410d8a065c" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getDescription </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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". </p> +<p>May be empty if the name has said it all already.</p> +<p>Example: "Detect and count zero crossing points" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a59d5a2298951b317995675e664b1c7bb"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getMaker" ref="a59d5a2298951b317995675e664b1c7bb" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getMaker </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the name of the author or vendor of the plugin in human-readable form. </p> +<p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a47e1acf1696813008324a915c9ba59c5"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getPluginVersion" ref="a47e1acf1696813008324a915c9ba59c5" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int Vamp::HostExt::PluginWrapper::getPluginVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the version number of the plugin. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ae14f6ecb78be909c4cd5f0cdaed3c566"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getCopyright" ref="ae14f6ecb78be909c4cd5f0cdaed3c566" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCopyright </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the copyright statement or licensing summary for the plugin. </p> +<p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a9be71561265c2e6e43b7feaddaa91f36"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getParameterDescriptors" ref="a9be71561265c2e6e43b7feaddaa91f36" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::HostExt::PluginWrapper::getParameterDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the controllable parameters of this plugin. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a034920f56c8d7609a85447c42556048c"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getParameter" ref="a034920f56c8d7609a85447c42556048c" args="(std::string) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float Vamp::HostExt::PluginWrapper::getParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the value of a named parameter. </p> +<p>The argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a651b15a5dc4c27942ac0c87c6092bfe5"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::setParameter" ref="a651b15a5dc4c27942ac0c87c6092bfe5" args="(std::string, float)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginWrapper::setParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set a named parameter. </p> +<p>The first argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">Vamp::PluginBase</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a131fbe1df81215020b9aa8cecef4c802"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getPrograms" ref="a131fbe1df81215020b9aa8cecef4c802" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::HostExt::PluginWrapper::getPrograms </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the program settings available in this plugin. </p> +<p>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> +<p>The programs must have unique names. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a7a312dd42d161064b70afd7ff24c0651"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getCurrentProgram" ref="a7a312dd42d161064b70afd7ff24c0651" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCurrentProgram </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the current program. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a074978333a74fdcf336a8a1d8ea20abf"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::selectProgram" ref="a074978333a74fdcf336a8a1d8ea20abf" args="(std::string)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginWrapper::selectProgram </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Select a program. </p> +<p>(If the given program name is not one of the available programs, do nothing.) </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">Vamp::PluginBase</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a2b28f1cf37d46a514f1e1411a6037bf8"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getMinChannelCount" ref="a2b28f1cf37d46a514f1e1411a6037bf8" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMinChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the minimum supported number of input channels. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a985eb21f1827bfbc3950d6871b107a58"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getMaxChannelCount" ref="a985eb21f1827bfbc3950d6871b107a58" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMaxChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the maximum supported number of input channels. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a5a9411305f713b4c9827844b89acd270"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getOutputDescriptors" ref="a5a9411305f713b4c9827844b89acd270" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::HostExt::PluginWrapper::getOutputDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the outputs of this plugin. </p> +<p>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="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> call. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#af8cc914897a284433de220f1153f3845">Vamp::HostExt::PluginBufferingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a2bc8c0992e64f06991fb7cf89f99857e"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getRemainingFeatures" ref="a2bc8c0992e64f06991fb7cf89f99857e" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginWrapper::getRemainingFeatures </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a28423951b2eda1a1fc371485434f417b">Vamp::HostExt::PluginBufferingAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ae9dcbd1ba8197ff90b4fc6bf7ade7688">Vamp::HostExt::PluginSummarisingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a653d0308e8e34881a8749b7631d00f05"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getWrapper" ref="a653d0308e8e34881a8749b7631d00f05" args="()" --> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<typename WrapperType > </div> + <table class="memname"> + <tr> + <td class="memname">WrapperType* Vamp::HostExt::PluginWrapper::getWrapper </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [inline, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. </p> +<p>This is useful in situations where a plugin is wrapped by multiple different wrappers (one inside another) and the host wants to call some wrapper-specific function on one of the layers without having to care about the order in which they are wrapped. For example, the plugin returned by <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f" title="Load a Vamp plugin, given its identifying key.">PluginLoader::loadPlugin</a> may have more than one wrapper; if the host wanted to query or fine-tune some property of one of them, it would be hard to do so without knowing the order of the wrappers. This function therefore gives direct access to the wrapper of a particular type. </p> + +<p>Definition at line <a class="el" href="PluginWrapper_8h_source.html#l00116">116</a> of file <a class="el" href="PluginWrapper_8h_source.html">PluginWrapper.h</a>.</p> + +<p>References <a class="el" href="PluginWrapper_8h_source.html#l00116">Vamp::HostExt::PluginWrapper::getWrapper()</a>.</p> + +<p>Referenced by <a class="el" href="PluginWrapper_8h_source.html#l00116">Vamp::HostExt::PluginWrapper::getWrapper()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::getType" ref="abe13b3997a69fbcc09e2213faa352f91" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::Plugin::getType </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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 from audio o...">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>. </p> +<p>Do not reimplement this function in your subclass. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a9fa8a6b8a4e41b6e3f2fabc0d23678cc"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::m_impl" ref="a9fa8a6b8a4e41b6e3f2fabc0d23678cc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Impl* <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a9fa8a6b8a4e41b6e3f2fabc0d23678cc">Vamp::HostExt::PluginInputDomainAdapter::m_impl</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginInputDomainAdapter_8h_source.html#l00226">226</a> of file <a class="el" href="PluginInputDomainAdapter_8h_source.html">PluginInputDomainAdapter.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ab4e40ecd98b445e1a2aa9e7baa280ea2"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::m_plugin" ref="ab4e40ecd98b445e1a2aa9e7baa280ea2" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a>* <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">Vamp::HostExt::PluginWrapper::m_plugin</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginWrapper_8h_source.html#l00126">126</a> of file <a class="el" href="PluginWrapper_8h_source.html">PluginWrapper.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::HostExt::PluginInputDomainAdapter::m_inputSampleRate" ref="a59b9dd82a4f4eb946cd0474cc81abc23" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00375">FixedTempoEstimator::D::calculate()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <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="FixedTempoEstimator_8cpp_source.html#l00252">FixedTempoEstimator::D::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00363">FixedTempoEstimator::D::lag2tempo()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00146">SpectralCentroid::process()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">ZeroCrossing::process()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00369">FixedTempoEstimator::D::tempo2lag()</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="PluginInputDomainAdapter_8h_source.html">PluginInputDomainAdapter.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="namespaceVamp_1_1HostExt.html">HostExt</a> </li> + <li class="navelem"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">PluginInputDomainAdapter</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginInputDomainAdapter__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,5 @@ +<map id="G" name="G"> +<area shape="rect" id="node2" href="$classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="40,155,224,181"/> +<area shape="rect" id="node4" href="$classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="86,81,177,106"/> +<area shape="rect" id="node6" href="$classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="73,6,191,31"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginInputDomainAdapter__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +bb2695c4dab223710ed0b6904102564c \ No newline at end of file
Binary file code-docs/classVamp_1_1HostExt_1_1PluginInputDomainAdapter__inherit__graph.png has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginLoader-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,112 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1HostExt_1_1PluginLoader.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Vamp::HostExt::PluginLoader Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a3b1e08415c0cbc96f7900eac955ad6d0">ADAPT_ALL</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a8220529e851ae30d37f413c40a389e08">ADAPT_ALL_SAFE</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a5c0c389797922630a6b54ffd1eed21f1">ADAPT_BUFFER_SIZE</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a54c43b85382d78e8ea8da192bce3a139">ADAPT_CHANNEL_COUNT</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a763a9a0caf512d9671b90c05c2808a09">ADAPT_INPUT_DOMAIN</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494">AdapterFlags</a> enum name</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#acc6865d27825c100d7b6f9ed6ecf5207">composePluginKey</a>(std::string libraryName, std::string identifier)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a1d77fa1d58ee4fee2985b5af02380326">getInstance</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td><code> [static]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a4bbcb7873e617bbc9f79eade1f90f7ad">getLibraryPathForPlugin</a>(PluginKey plugin)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a52746ea66339ad981b868a031a3b382d">getPluginCategory</a>(PluginKey plugin)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff51b52bb68aa2934ccf26ad1d284f28">listPlugins</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f">loadPlugin</a>(PluginKey key, float inputSampleRate, int adapterFlags=0)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ac12254d823f6d63cb8ce82a07bdcb072">m_impl</a></td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#af89caf5f838a586b117c417260b7a116">m_instance</a></td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td><code> [protected, static]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ad6a39aa0c79d8d9209eb0b8dfe9d1364">PluginCategoryHierarchy</a> typedef</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a> typedef</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a0d48b76e4f995110f53e0feeb23f733a">PluginKeyList</a> typedef</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a5ab9e0281244bef7976c6c0ce1a55c24">PluginLoader</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ad74ab52bc6aa2514b3a6b3f679fc492c">~PluginLoader</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></td><td><code> [protected, virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginLoader.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,486 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::HostExt::PluginLoader Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1HostExt_1_1PluginLoader.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pub-static-methods">Static Public Member Functions</a> | +<a href="#pro-methods">Protected Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> | +<a href="#pro-static-attribs">Static Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">Vamp::HostExt::PluginLoader Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="Vamp::HostExt::PluginLoader" --> +<p><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">Vamp::HostExt::PluginLoader</a> is a convenience class for discovering and loading <a class="el" href="namespaceVamp.html">Vamp</a> plugins using the typical plugin-path, library naming, and categorisation conventions described in the <a class="el" href="namespaceVamp.html">Vamp</a> SDK documentation. + <a href="classVamp_1_1HostExt_1_1PluginLoader.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="PluginLoader_8h_source.html">vamp-hostsdk/PluginLoader.h</a>></code></p> + +<p><a href="classVamp_1_1HostExt_1_1PluginLoader-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494">AdapterFlags</a> { <br/> +  <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a763a9a0caf512d9671b90c05c2808a09">ADAPT_INPUT_DOMAIN</a> = 0x01, +<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a54c43b85382d78e8ea8da192bce3a139">ADAPT_CHANNEL_COUNT</a> = 0x02, +<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a5c0c389797922630a6b54ffd1eed21f1">ADAPT_BUFFER_SIZE</a> = 0x04, +<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a8220529e851ae30d37f413c40a389e08">ADAPT_ALL_SAFE</a> = 0x03, +<br/> +  <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a3b1e08415c0cbc96f7900eac955ad6d0">ADAPT_ALL</a> = 0xff +<br/> + }</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">AdapterFlags contains a set of values that may be OR'd together to indicate in which circumstances <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">PluginLoader</a> should use a plugin adapter to make a plugin easier to use for a host that does not want to cater for complex features. <a href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">PluginKey is a string type that is used to identify a plugin uniquely within the scope of "the current system". <a href="#a473645bbb3ac5c1a0da2f0f482947c4d"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a0d48b76e4f995110f53e0feeb23f733a">PluginKeyList</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">PluginKeyList is a sequence of plugin keys, such as returned by <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff51b52bb68aa2934ccf26ad1d284f28" title="Search for all available Vamp plugins, and return a list of them in the order in which they were foun...">listPlugins()</a>. <a href="#a0d48b76e4f995110f53e0feeb23f733a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ad6a39aa0c79d8d9209eb0b8dfe9d1364">PluginCategoryHierarchy</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">PluginCategoryHierarchy is a sequence of general->specific category names, as may be associated with a single plugin. <a href="#ad6a39aa0c79d8d9209eb0b8dfe9d1364"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a0d48b76e4f995110f53e0feeb23f733a">PluginKeyList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff51b52bb68aa2934ccf26ad1d284f28">listPlugins</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Search for all available <a class="el" href="namespaceVamp.html">Vamp</a> plugins, and return a list of them in the order in which they were found. <a href="#aff51b52bb68aa2934ccf26ad1d284f28"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f">loadPlugin</a> (<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a> key, float inputSampleRate, int adapterFlags=0)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Load a <a class="el" href="namespaceVamp.html">Vamp</a> plugin, given its identifying key. <a href="#a964689eb9688cd7e58e8c82ebb0d305f"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#acc6865d27825c100d7b6f9ed6ecf5207">composePluginKey</a> (std::string libraryName, std::string identifier)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Given a <a class="el" href="namespaceVamp.html">Vamp</a> plugin library name and plugin identifier, return the corresponding plugin key in a form suitable for passing in to <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f" title="Load a Vamp plugin, given its identifying key.">loadPlugin()</a>. <a href="#acc6865d27825c100d7b6f9ed6ecf5207"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ad6a39aa0c79d8d9209eb0b8dfe9d1364">PluginCategoryHierarchy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a52746ea66339ad981b868a031a3b382d">getPluginCategory</a> (<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a> plugin)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the category hierarchy for a <a class="el" href="namespaceVamp.html">Vamp</a> plugin, given its identifying key. <a href="#a52746ea66339ad981b868a031a3b382d"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a4bbcb7873e617bbc9f79eade1f90f7ad">getLibraryPathForPlugin</a> (<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a> plugin)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the file path of the dynamic library from which the given plugin will be loaded (if available). <a href="#a4bbcb7873e617bbc9f79eade1f90f7ad"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pub-static-methods"></a> +Static Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">PluginLoader</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a1d77fa1d58ee4fee2985b5af02380326">getInstance</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Obtain a pointer to the singleton instance of <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">PluginLoader</a>. <a href="#a1d77fa1d58ee4fee2985b5af02380326"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pro-methods"></a> +Protected Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a5ab9e0281244bef7976c6c0ce1a55c24">PluginLoader</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ad74ab52bc6aa2514b3a6b3f679fc492c">~PluginLoader</a> ()</td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">Impl * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ac12254d823f6d63cb8ce82a07bdcb072">m_impl</a></td></tr> +<tr><td colspan="2"><h2><a name="pro-static-attribs"></a> +Static Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">PluginLoader</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#af89caf5f838a586b117c417260b7a116">m_instance</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">Vamp::HostExt::PluginLoader</a> is a convenience class for discovering and loading <a class="el" href="namespaceVamp.html">Vamp</a> plugins using the typical plugin-path, library naming, and categorisation conventions described in the <a class="el" href="namespaceVamp.html">Vamp</a> SDK documentation. </p> +<p>This class is intended to greatly simplify the task of becoming a <a class="el" href="namespaceVamp.html">Vamp</a> plugin host for any C++ application.</p> +<p>Hosts are not required by the <a class="el" href="namespaceVamp.html">Vamp</a> specification to use the same plugin search path and naming conventions as implemented by this class, and are certainly not required to use this actual class. But we do strongly recommend it.</p> +<dl class="note"><dt><b>Note:</b></dt><dd>This class was introduced in version 1.1 of the <a class="el" href="namespaceVamp.html">Vamp</a> plugin SDK. </dd></dl> + +<p>Definition at line <a class="el" href="PluginLoader_8h_source.html#l00072">72</a> of file <a class="el" href="PluginLoader_8h_source.html">PluginLoader.h</a>.</p> +</div><hr/><h2>Member Typedef Documentation</h2> +<a class="anchor" id="a473645bbb3ac5c1a0da2f0f482947c4d"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::PluginKey" ref="a473645bbb3ac5c1a0da2f0f482947c4d" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::string <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">Vamp::HostExt::PluginLoader::PluginKey</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>PluginKey is a string type that is used to identify a plugin uniquely within the scope of "the current system". </p> +<p>It consists of the lower-cased base name of the plugin library, a colon separator, and the identifier string for the plugin. It is only meaningful in the context of a given plugin path (the one returned by <a class="el" href="classVamp_1_1PluginHostAdapter.html#a09cbfb7903d28f10d6d556c6cb81c5f6">PluginHostAdapter::getPluginPath()</a>).</p> +<p>Use <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#acc6865d27825c100d7b6f9ed6ecf5207" title="Given a Vamp plugin library name and plugin identifier, return the corresponding plugin key in a form...">composePluginKey()</a> to construct a plugin key from a known plugin library name and identifier.</p> +<p>Note: the fact that the library component of the key is lower-cased implies that library names are matched case-insensitively by the <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">PluginLoader</a> class, regardless of the case sensitivity of the underlying filesystem. (<a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> identifiers _are_ case sensitive, however.) Also, it is not possible to portably extract a working library name from a plugin key, as the result may fail on case-sensitive filesystems. Use <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a4bbcb7873e617bbc9f79eade1f90f7ad" title="Return the file path of the dynamic library from which the given plugin will be loaded (if available)...">getLibraryPathForPlugin()</a> instead. </p> + +<p>Definition at line <a class="el" href="PluginLoader_8h_source.html#l00101">101</a> of file <a class="el" href="PluginLoader_8h_source.html">PluginLoader.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a0d48b76e4f995110f53e0feeb23f733a"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::PluginKeyList" ref="a0d48b76e4f995110f53e0feeb23f733a" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a>> <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a0d48b76e4f995110f53e0feeb23f733a">Vamp::HostExt::PluginLoader::PluginKeyList</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>PluginKeyList is a sequence of plugin keys, such as returned by <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff51b52bb68aa2934ccf26ad1d284f28" title="Search for all available Vamp plugins, and return a list of them in the order in which they were foun...">listPlugins()</a>. </p> + +<p>Definition at line <a class="el" href="PluginLoader_8h_source.html#l00107">107</a> of file <a class="el" href="PluginLoader_8h_source.html">PluginLoader.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ad6a39aa0c79d8d9209eb0b8dfe9d1364"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::PluginCategoryHierarchy" ref="ad6a39aa0c79d8d9209eb0b8dfe9d1364" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<std::string> <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ad6a39aa0c79d8d9209eb0b8dfe9d1364">Vamp::HostExt::PluginLoader::PluginCategoryHierarchy</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>PluginCategoryHierarchy is a sequence of general->specific category names, as may be associated with a single plugin. </p> +<p>This sequence describes the location of a plugin within a category forest, containing the human-readable names of the plugin's category tree root, followed by each of the nodes down to the leaf containing the plugin.</p> +<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a52746ea66339ad981b868a031a3b382d" title="Return the category hierarchy for a Vamp plugin, given its identifying key.">getPluginCategory()</a> </dd></dl> + +<p>Definition at line <a class="el" href="PluginLoader_8h_source.html#l00119">119</a> of file <a class="el" href="PluginLoader_8h_source.html">PluginLoader.h</a>.</p> + +</div> +</div> +<hr/><h2>Member Enumeration Documentation</h2> +<a class="anchor" id="aff3ee11692ce25e0dfb904324cbe3494"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::AdapterFlags" ref="aff3ee11692ce25e0dfb904324cbe3494" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494">Vamp::HostExt::PluginLoader::AdapterFlags</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>AdapterFlags contains a set of values that may be OR'd together to indicate in which circumstances <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">PluginLoader</a> should use a plugin adapter to make a plugin easier to use for a host that does not want to cater for complex features. </p> +<p>The available flags are:</p> +<p>ADAPT_INPUT_DOMAIN - If the plugin expects frequency domain input, wrap it in a <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> that automatically converts the plugin to one that expects time-domain input. This enables a host to accommodate time- and frequency-domain plugins without needing to do any conversion itself.</p> +<p>ADAPT_CHANNEL_COUNT - Wrap the plugin in a <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> to handle any mismatch between the number of channels of audio the plugin can handle and the number available in the host. This enables a host to use plugins that may require the input to be mixed down to mono, etc., without having to worry about doing that itself.</p> +<p>ADAPT_BUFFER_SIZE - Wrap the plugin in a <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a> permitting the host to provide audio input using any block size, with no overlap, regardless of the plugin's preferred block size (suitable for hosts that read from non-seekable streaming media, for example). This adapter introduces some run-time overhead and also changes the semantics of the plugin slightly (see the <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a> header documentation for details).</p> +<p>ADAPT_ALL_SAFE - Perform all available adaptations that are meaningful for the plugin and "safe". Currently this means to ADAPT_INPUT_DOMAIN if the plugin wants FrequencyDomain input; ADAPT_CHANNEL_COUNT always; and ADAPT_BUFFER_SIZE never.</p> +<p>ADAPT_ALL - Perform all available adaptations that are meaningful for the plugin.</p> +<p>See <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> and <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a> for more details of the classes that the loader may use if these flags are set. </p> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="aff3ee11692ce25e0dfb904324cbe3494a763a9a0caf512d9671b90c05c2808a09"></a><!-- doxytag: member="ADAPT_INPUT_DOMAIN" ref="aff3ee11692ce25e0dfb904324cbe3494a763a9a0caf512d9671b90c05c2808a09" args="" -->ADAPT_INPUT_DOMAIN</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="aff3ee11692ce25e0dfb904324cbe3494a54c43b85382d78e8ea8da192bce3a139"></a><!-- doxytag: member="ADAPT_CHANNEL_COUNT" ref="aff3ee11692ce25e0dfb904324cbe3494a54c43b85382d78e8ea8da192bce3a139" args="" -->ADAPT_CHANNEL_COUNT</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="aff3ee11692ce25e0dfb904324cbe3494a5c0c389797922630a6b54ffd1eed21f1"></a><!-- doxytag: member="ADAPT_BUFFER_SIZE" ref="aff3ee11692ce25e0dfb904324cbe3494a5c0c389797922630a6b54ffd1eed21f1" args="" -->ADAPT_BUFFER_SIZE</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="aff3ee11692ce25e0dfb904324cbe3494a8220529e851ae30d37f413c40a389e08"></a><!-- doxytag: member="ADAPT_ALL_SAFE" ref="aff3ee11692ce25e0dfb904324cbe3494a8220529e851ae30d37f413c40a389e08" args="" -->ADAPT_ALL_SAFE</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="aff3ee11692ce25e0dfb904324cbe3494a3b1e08415c0cbc96f7900eac955ad6d0"></a><!-- doxytag: member="ADAPT_ALL" ref="aff3ee11692ce25e0dfb904324cbe3494a3b1e08415c0cbc96f7900eac955ad6d0" args="" -->ADAPT_ALL</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<p>Definition at line <a class="el" href="PluginLoader_8h_source.html#l00169">169</a> of file <a class="el" href="PluginLoader_8h_source.html">PluginLoader.h</a>.</p> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a5ab9e0281244bef7976c6c0ce1a55c24"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::PluginLoader" ref="a5ab9e0281244bef7976c6c0ce1a55c24" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Vamp::HostExt::PluginLoader::PluginLoader </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="ad74ab52bc6aa2514b3a6b3f679fc492c"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::~PluginLoader" ref="ad74ab52bc6aa2514b3a6b3f679fc492c" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual Vamp::HostExt::PluginLoader::~PluginLoader </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [protected, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="a1d77fa1d58ee4fee2985b5af02380326"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::getInstance" ref="a1d77fa1d58ee4fee2985b5af02380326" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">static <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">PluginLoader</a>* Vamp::HostExt::PluginLoader::getInstance </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Obtain a pointer to the singleton instance of <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">PluginLoader</a>. </p> +<p>Use this to obtain your loader object. </p> + +</div> +</div> +<a class="anchor" id="aff51b52bb68aa2934ccf26ad1d284f28"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::listPlugins" ref="aff51b52bb68aa2934ccf26ad1d284f28" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a0d48b76e4f995110f53e0feeb23f733a">PluginKeyList</a> Vamp::HostExt::PluginLoader::listPlugins </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Search for all available <a class="el" href="namespaceVamp.html">Vamp</a> plugins, and return a list of them in the order in which they were found. </p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00797">printPluginCategoryList()</a>.</p> + +</div> +</div> +<a class="anchor" id="a964689eb9688cd7e58e8c82ebb0d305f"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::loadPlugin" ref="a964689eb9688cd7e58e8c82ebb0d305f" args="(PluginKey key, float inputSampleRate, int adapterFlags=0)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a>* Vamp::HostExt::PluginLoader::loadPlugin </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a> </td> + <td class="paramname"><em>key</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"><em>inputSampleRate</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>adapterFlags</em> = <code>0</code> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Load a <a class="el" href="namespaceVamp.html">Vamp</a> plugin, given its identifying key. </p> +<p>If the plugin could not be loaded, returns 0.</p> +<p>The returned plugin should be deleted (using the standard C++ delete keyword) after use.</p> +<dl><dt><b>Parameters:</b></dt><dd> + <table class="params"> + <tr><td class="paramname">adapterFlags</td><td>a bitwise OR of the values in the AdapterFlags enumeration, indicating under which circumstances an adapter should be used to wrap the original plugin. If adapterFlags is 0, no optional adapters will be used. Otherwise, the returned plugin may be of an adapter class type which will behave identically to the original plugin, apart from any particular features implemented by the adapter itself.</td></tr> + </table> + </dd> +</dl> +<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494" title="AdapterFlags contains a set of values that may be OR'd together to indicate in which circumstances Pl...">AdapterFlags</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> </dd></dl> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00797">printPluginCategoryList()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="acc6865d27825c100d7b6f9ed6ecf5207"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::composePluginKey" ref="acc6865d27825c100d7b6f9ed6ecf5207" args="(std::string libraryName, std::string identifier)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a> Vamp::HostExt::PluginLoader::composePluginKey </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"><em>libraryName</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">std::string </td> + <td class="paramname"><em>identifier</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Given a <a class="el" href="namespaceVamp.html">Vamp</a> plugin library name and plugin identifier, return the corresponding plugin key in a form suitable for passing in to <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f" title="Load a Vamp plugin, given its identifying key.">loadPlugin()</a>. </p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a52746ea66339ad981b868a031a3b382d"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::getPluginCategory" ref="a52746ea66339ad981b868a031a3b382d" args="(PluginKey plugin)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ad6a39aa0c79d8d9209eb0b8dfe9d1364">PluginCategoryHierarchy</a> Vamp::HostExt::PluginLoader::getPluginCategory </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a> </td> + <td class="paramname"><em>plugin</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return the category hierarchy for a <a class="el" href="namespaceVamp.html">Vamp</a> plugin, given its identifying key. </p> +<p>If the plugin has no category information, return an empty hierarchy.</p> +<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ad6a39aa0c79d8d9209eb0b8dfe9d1364" title="PluginCategoryHierarchy is a sequence of general->specific category names, as may be associated with ...">PluginCategoryHierarchy</a> </dd></dl> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00797">printPluginCategoryList()</a>.</p> + +</div> +</div> +<a class="anchor" id="a4bbcb7873e617bbc9f79eade1f90f7ad"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::getLibraryPathForPlugin" ref="a4bbcb7873e617bbc9f79eade1f90f7ad" args="(PluginKey plugin)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginLoader::getLibraryPathForPlugin </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">PluginKey</a> </td> + <td class="paramname"><em>plugin</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return the file path of the dynamic library from which the given plugin will be loaded (if available). </p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="ac12254d823f6d63cb8ce82a07bdcb072"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::m_impl" ref="ac12254d823f6d63cb8ce82a07bdcb072" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Impl* <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ac12254d823f6d63cb8ce82a07bdcb072">Vamp::HostExt::PluginLoader::m_impl</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginLoader_8h_source.html#l00230">230</a> of file <a class="el" href="PluginLoader_8h_source.html">PluginLoader.h</a>.</p> + +</div> +</div> +<a class="anchor" id="af89caf5f838a586b117c417260b7a116"></a><!-- doxytag: member="Vamp::HostExt::PluginLoader::m_instance" ref="af89caf5f838a586b117c417260b7a116" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">PluginLoader</a>* <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#af89caf5f838a586b117c417260b7a116">Vamp::HostExt::PluginLoader::m_instance</a><code> [static, protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginLoader_8h_source.html#l00233">233</a> of file <a class="el" href="PluginLoader_8h_source.html">PluginLoader.h</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="PluginLoader_8h_source.html">PluginLoader.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="namespaceVamp_1_1HostExt.html">HostExt</a> </li> + <li class="navelem"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">PluginLoader</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginSummarisingAdapter-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,154 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Vamp::HostExt::PluginSummarisingAdapter Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76">AveragingMethod</a> enum name</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76a6af6316c12e29bdbdff90c5fec764baa">ContinuousTimeAverage</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a2395772fa2e74b3f617e20c76d579ad6">Count</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">getCopyright</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">getCurrentProgram</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">getDescription</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">getIdentifier</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae203faf8384c9e1fddc381409aa8a214">getInputDomain</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">getMaker</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">getMaxChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">getMinChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">getName</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a9411305f713b4c9827844b89acd270">getOutputDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">getParameter</a>(std::string) const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">getParameterDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">getPluginVersion</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">getPreferredBlockSize</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">getPreferredStepSize</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">getPrograms</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ae9dcbd1ba8197ff90b4fc6bf7ade7688">getRemainingFeatures</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ac3f93d9ca2d25c9fdc80d0ba10eaaa6b">getSummaryForAllOutputs</a>(SummaryType type, AveragingMethod method=SampleAverage)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#abe13faa68d3244b962dbd362671e23f9">getSummaryForOutput</a>(int output, SummaryType type, AveragingMethod method=SampleAverage)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">getVampApiVersion</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05">getWrapper</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a1e994576d43efe103bf8f83b69716745">initialise</a>(size_t channels, size_t stepSize, size_t blockSize)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> enum name</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af131140817d9f131650af98b6b8d7a94">m_impl</a></td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a></td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705adefff4e5073aa298a96d99b92025b7f9">Maximum</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705ae8a03f013397d08c85734e47524f5a75">Mean</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705aadde1f9a5a6557f25223279433699195">Median</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a320b8a4cd0c3d492aeb17f7fc4ed930c">Minimum</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a1688d03811a2268daa062220f5be0614">Mode</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a>(float inputSampleRate)</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a31b41f54560a2ae6c3ec1a945f3f1d68">PluginSummarisingAdapter</a>(Plugin *plugin)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a35cc2d42f8322f5022e89859a79c97be">PluginWrapper</a>(Plugin *plugin)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3314b456a4780601c021dac25b478846">process</a>(const float *const *inputBuffers, RealTime timestamp)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3402381d145d507bd26d1a67e3616911">reset</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76ae8833d866dec593d29f1f4e3cd1e6e36">SampleAverage</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a74e7f93c745802a2409185b63922466b">SegmentBoundaries</a> typedef</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">selectProgram</a>(std::string)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">setParameter</a>(std::string, float)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a1a659500ca1290a228c0b9b91f6ac0b7">setSummarySegmentBoundaries</a>(const SegmentBoundaries &)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a9342cd2209e20b93843cd389d9511ec7">StandardDeviation</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a9496664a605b3aa706f909070d73060b">Sum</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705">SummaryType</a> enum name</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705aeed3a16d665eb789053b82fdd386ee7c">UnknownSummaryType</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705ae965a9e5381745e6e3a75342d7c8e075">Variance</a> enum value</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a>()</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a>()</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a47846e7cc0ef4a29335e08b9645316d0">~PluginSummarisingAdapter</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac4fb6cfd7c0d3b2c8576a4e9dc61f518">~PluginWrapper</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1171 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::HostExt::PluginSummarisingAdapter Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">Vamp::HostExt::PluginSummarisingAdapter Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="Vamp::HostExt::PluginSummarisingAdapter" --><!-- doxytag: inherits="Vamp::HostExt::PluginWrapper" --> +<p><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an...">PluginSummarisingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that provides summarisation methods such as mean and median averages of output features, for use in any context where an available plugin produces individual values but the result that is actually needed is some sort of aggregate. + <a href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="PluginSummarisingAdapter_8h_source.html">vamp-hostsdk/PluginSummarisingAdapter.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for Vamp::HostExt::PluginSummarisingAdapter:</div> +<div class="dyncontent"> +<div class="center"><img src="classVamp_1_1HostExt_1_1PluginSummarisingAdapter__inherit__graph.png" border="0" usemap="#Vamp_1_1HostExt_1_1PluginSummarisingAdapter_inherit__map" alt="Inheritance graph"/></div> +<map name="Vamp_1_1HostExt_1_1PluginSummarisingAdapter_inherit__map" id="Vamp_1_1HostExt_1_1PluginSummarisingAdapter_inherit__map"> +<area shape="rect" id="node2" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="40,155,224,181"/><area shape="rect" id="node4" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="86,81,177,106"/><area shape="rect" id="node6" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="73,6,191,31"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705">SummaryType</a> { <br/> +  <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a320b8a4cd0c3d492aeb17f7fc4ed930c">Minimum</a> = 0, +<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705adefff4e5073aa298a96d99b92025b7f9">Maximum</a> = 1, +<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705ae8a03f013397d08c85734e47524f5a75">Mean</a> = 2, +<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705aadde1f9a5a6557f25223279433699195">Median</a> = 3, +<br/> +  <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a1688d03811a2268daa062220f5be0614">Mode</a> = 4, +<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a9496664a605b3aa706f909070d73060b">Sum</a> = 5, +<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705ae965a9e5381745e6e3a75342d7c8e075">Variance</a> = 6, +<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a9342cd2209e20b93843cd389d9511ec7">StandardDeviation</a> = 7, +<br/> +  <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a2395772fa2e74b3f617e20c76d579ad6">Count</a> = 8, +<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705aeed3a16d665eb789053b82fdd386ee7c">UnknownSummaryType</a> = 999 +<br/> + }</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76">AveragingMethod</a> { <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76ae8833d866dec593d29f1f4e3cd1e6e36">SampleAverage</a> = 0, +<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76a6af6316c12e29bdbdff90c5fec764baa">ContinuousTimeAverage</a> = 1 + }</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">AveragingMethod indicates how the adapter should handle average-based summaries of features whose results are not equally spaced in time. <a href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::set< <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a74e7f93c745802a2409185b63922466b">SegmentBoundaries</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, +<a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> + }</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< int, <br class="typebreak"/> +<a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a31b41f54560a2ae6c3ec1a945f3f1d68">PluginSummarisingAdapter</a> (<a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *plugin)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an...">PluginSummarisingAdapter</a> wrapping the given plugin. <a href="#a31b41f54560a2ae6c3ec1a945f3f1d68"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a47846e7cc0ef4a29335e08b9645316d0">~PluginSummarisingAdapter</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a1e994576d43efe103bf8f83b69716745">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr> +<tr><td class="mdescLeft"> </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="#a1e994576d43efe103bf8f83b69716745"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3402381d145d507bd26d1a67e3616911">reset</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#a3402381d145d507bd26d1a67e3616911"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3314b456a4780601c021dac25b478846">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Process a single block of input data. <a href="#a3314b456a4780601c021dac25b478846"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ae9dcbd1ba8197ff90b4fc6bf7ade7688">getRemainingFeatures</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#ae9dcbd1ba8197ff90b4fc6bf7ade7688"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a1a659500ca1290a228c0b9b91f6ac0b7">setSummarySegmentBoundaries</a> (const <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a74e7f93c745802a2409185b63922466b">SegmentBoundaries</a> &)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Specify a series of segment boundaries, such that one summary will be returned for each of the contiguous intra-boundary segments. <a href="#a1a659500ca1290a228c0b9b91f6ac0b7"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#abe13faa68d3244b962dbd362671e23f9">getSummaryForOutput</a> (int output, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705">SummaryType</a> type, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76">AveragingMethod</a> method=SampleAverage)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return summaries of the features that were returned on the given output, using the given SummaryType and AveragingMethod. <a href="#abe13faa68d3244b962dbd362671e23f9"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ac3f93d9ca2d25c9fdc80d0ba10eaaa6b">getSummaryForAllOutputs</a> (<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705">SummaryType</a> type, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76">AveragingMethod</a> method=SampleAverage)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return summaries of the features that were returned on all of the plugin's outputs, using the given SummaryType and AveragingMethod. <a href="#ac3f93d9ca2d25c9fdc80d0ba10eaaa6b"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae203faf8384c9e1fddc381409aa8a214">getInputDomain</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the plugin's required input domain. <a href="#ae203faf8384c9e1fddc381409aa8a214"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">getVampApiVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a74147fda6b44ff2169bd4a1eea0d46ff"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">getIdentifier</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#a4baa9e48f717c2b3e7f92496aa39d904"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">getName</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#ac70a3265bb25aeb03f6dd8f8a0442088"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">getDescription</a> () const </td></tr> +<tr><td class="mdescLeft"> </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="#ac334f699c0996055942785410d8a065c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">getMaker</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#a59d5a2298951b317995675e664b1c7bb"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">getPluginVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the version number of the plugin. <a href="#a47e1acf1696813008324a915c9ba59c5"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">getCopyright</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#ae14f6ecb78be909c4cd5f0cdaed3c566"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">getParameterDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#a9be71561265c2e6e43b7feaddaa91f36"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">getParameter</a> (std::string) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a named parameter. <a href="#a034920f56c8d7609a85447c42556048c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">setParameter</a> (std::string, float)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a named parameter. <a href="#a651b15a5dc4c27942ac0c87c6092bfe5"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">getPrograms</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the program settings available in this plugin. <a href="#a131fbe1df81215020b9aa8cecef4c802"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">getCurrentProgram</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current program. <a href="#a7a312dd42d161064b70afd7ff24c0651"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">selectProgram</a> (std::string)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Select a program. <a href="#a074978333a74fdcf336a8a1d8ea20abf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">getPreferredStepSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#a0137d93d7019bacc31104836fb4d352e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">getPreferredBlockSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function). <a href="#a2c62a656313a819650656643a867ad01"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">getMinChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a2b28f1cf37d46a514f1e1411a6037bf8"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">getMaxChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a985eb21f1827bfbc3950d6871b107a58"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a9411305f713b4c9827844b89acd270">getOutputDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the outputs of this plugin. <a href="#a5a9411305f713b4c9827844b89acd270"></a><br/></td></tr> +<tr><td class="memTemplParams" colspan="2">template<typename WrapperType > </td></tr> +<tr><td class="memTemplItemLeft" align="right" valign="top">WrapperType * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05">getWrapper</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. <a href="#a653d0308e8e34881a8749b7631d00f05"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr> +<tr><td class="mdescLeft"> </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 from audio o...">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="#abe13b3997a69fbcc09e2213faa352f91"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">Impl * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af131140817d9f131650af98b6b8d7a94">m_impl</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an...">PluginSummarisingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that provides summarisation methods such as mean and median averages of output features, for use in any context where an available plugin produces individual values but the result that is actually needed is some sort of aggregate. </p> +<p>To make use of <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an...">PluginSummarisingAdapter</a>, the host should configure, initialise and run the plugin through the adapter interface just as normal. Then, after the process and getRemainingFeatures methods have been properly called and processing is complete, the host may call getSummaryForOutput or getSummaryForAllOutputs to obtain summarised features: averages, maximum values, etc, depending on the SummaryType passed to the function.</p> +<p>By default <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an...">PluginSummarisingAdapter</a> calculates a single summary of each output's feature across the whole duration of processed audio. A host needing summaries of sub-segments of the whole audio may call setSummarySegmentBoundaries before retrieving the summaries, providing a list of times such that one summary will be provided for each segment between two consecutive times.</p> +<p><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an...">PluginSummarisingAdapter</a> is straightforward rather than fast. It calculates all of the summary types for all outputs always, and then returns only the ones that are requested. It is designed on the basis that, for most features, summarising and storing summarised results is far cheaper than calculating the results in the first place. If this is not true for your particular feature, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an...">PluginSummarisingAdapter</a> may not be the best approach for you.</p> +<dl class="note"><dt><b>Note:</b></dt><dd>This class was introduced in version 2.0 of the <a class="el" href="namespaceVamp.html">Vamp</a> plugin SDK. </dd></dl> + +<p>Definition at line <a class="el" href="PluginSummarisingAdapter_8h_source.html#l00086">86</a> of file <a class="el" href="PluginSummarisingAdapter_8h_source.html">PluginSummarisingAdapter.h</a>.</p> +</div><hr/><h2>Member Typedef Documentation</h2> +<a class="anchor" id="a74e7f93c745802a2409185b63922466b"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::SegmentBoundaries" ref="a74e7f93c745802a2409185b63922466b" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::set<<a class="el" href="structVamp_1_1RealTime.html">RealTime</a>> <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a74e7f93c745802a2409185b63922466b">Vamp::HostExt::PluginSummarisingAdapter::SegmentBoundaries</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginSummarisingAdapter_8h_source.html#l00104">104</a> of file <a class="el" href="PluginSummarisingAdapter_8h_source.html">PluginSummarisingAdapter.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::OutputList" ref="a30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>> <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::FeatureList" ref="a0730bc72c87fa02eb8d2854b233f7be1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>> <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::FeatureSet" ref="a448fb57dc245d47923ec9eeaf9856c5f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::map<int, <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>> <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>> <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<std::string> <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<hr/><h2>Member Enumeration Documentation</h2> +<a class="anchor" id="af504f810448961fc489e9b6572471705"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::SummaryType" ref="af504f810448961fc489e9b6572471705" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705">Vamp::HostExt::PluginSummarisingAdapter::SummaryType</a></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="af504f810448961fc489e9b6572471705a320b8a4cd0c3d492aeb17f7fc4ed930c"></a><!-- doxytag: member="Minimum" ref="af504f810448961fc489e9b6572471705a320b8a4cd0c3d492aeb17f7fc4ed930c" args="" -->Minimum</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="af504f810448961fc489e9b6572471705adefff4e5073aa298a96d99b92025b7f9"></a><!-- doxytag: member="Maximum" ref="af504f810448961fc489e9b6572471705adefff4e5073aa298a96d99b92025b7f9" args="" -->Maximum</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="af504f810448961fc489e9b6572471705ae8a03f013397d08c85734e47524f5a75"></a><!-- doxytag: member="Mean" ref="af504f810448961fc489e9b6572471705ae8a03f013397d08c85734e47524f5a75" args="" -->Mean</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="af504f810448961fc489e9b6572471705aadde1f9a5a6557f25223279433699195"></a><!-- doxytag: member="Median" ref="af504f810448961fc489e9b6572471705aadde1f9a5a6557f25223279433699195" args="" -->Median</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="af504f810448961fc489e9b6572471705a1688d03811a2268daa062220f5be0614"></a><!-- doxytag: member="Mode" ref="af504f810448961fc489e9b6572471705a1688d03811a2268daa062220f5be0614" args="" -->Mode</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="af504f810448961fc489e9b6572471705a9496664a605b3aa706f909070d73060b"></a><!-- doxytag: member="Sum" ref="af504f810448961fc489e9b6572471705a9496664a605b3aa706f909070d73060b" args="" -->Sum</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="af504f810448961fc489e9b6572471705ae965a9e5381745e6e3a75342d7c8e075"></a><!-- doxytag: member="Variance" ref="af504f810448961fc489e9b6572471705ae965a9e5381745e6e3a75342d7c8e075" args="" -->Variance</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="af504f810448961fc489e9b6572471705a9342cd2209e20b93843cd389d9511ec7"></a><!-- doxytag: member="StandardDeviation" ref="af504f810448961fc489e9b6572471705a9342cd2209e20b93843cd389d9511ec7" args="" -->StandardDeviation</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="af504f810448961fc489e9b6572471705a2395772fa2e74b3f617e20c76d579ad6"></a><!-- doxytag: member="Count" ref="af504f810448961fc489e9b6572471705a2395772fa2e74b3f617e20c76d579ad6" args="" -->Count</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="af504f810448961fc489e9b6572471705aeed3a16d665eb789053b82fdd386ee7c"></a><!-- doxytag: member="UnknownSummaryType" ref="af504f810448961fc489e9b6572471705aeed3a16d665eb789053b82fdd386ee7c" args="" -->UnknownSummaryType</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<p>Definition at line <a class="el" href="PluginSummarisingAdapter_8h_source.html#l00121">121</a> of file <a class="el" href="PluginSummarisingAdapter_8h_source.html">PluginSummarisingAdapter.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a294e9eed9c541dcedbaa4f2dfda1ac76"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::AveragingMethod" ref="a294e9eed9c541dcedbaa4f2dfda1ac76" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76">Vamp::HostExt::PluginSummarisingAdapter::AveragingMethod</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>AveragingMethod indicates how the adapter should handle average-based summaries of features whose results are not equally spaced in time. </p> +<p>If SampleAverage is specified, summary types based on averages will be calculated by treating each result individually without regard to its time: for example, the mean will be the sum of all values divided by the number of values.</p> +<p>If ContinuousTimeAverage is specified, each feature will be considered to have a duration, either as specified in the feature's duration field, or until the following feature: thus, for example, the mean will be the sum of the products of values and durations, divided by the total duration.</p> +<p>Although SampleAverage is useful for many types of feature, ContinuousTimeAverage is essential for some situations, for example finding the result that spans the largest proportion of the input given a feature that emits a new result only when the value changes (the modal value integrated over time). </p> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a294e9eed9c541dcedbaa4f2dfda1ac76ae8833d866dec593d29f1f4e3cd1e6e36"></a><!-- doxytag: member="SampleAverage" ref="a294e9eed9c541dcedbaa4f2dfda1ac76ae8833d866dec593d29f1f4e3cd1e6e36" args="" -->SampleAverage</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a294e9eed9c541dcedbaa4f2dfda1ac76a6af6316c12e29bdbdff90c5fec764baa"></a><!-- doxytag: member="ContinuousTimeAverage" ref="a294e9eed9c541dcedbaa4f2dfda1ac76a6af6316c12e29bdbdff90c5fec764baa" args="" -->ContinuousTimeAverage</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<p>Definition at line <a class="el" href="PluginSummarisingAdapter_8h_source.html#l00157">157</a> of file <a class="el" href="PluginSummarisingAdapter_8h_source.html">PluginSummarisingAdapter.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::InputDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<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> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a31b41f54560a2ae6c3ec1a945f3f1d68"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::PluginSummarisingAdapter" ref="a31b41f54560a2ae6c3ec1a945f3f1d68" args="(Plugin *plugin)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Vamp::HostExt::PluginSummarisingAdapter::PluginSummarisingAdapter </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> * </td> + <td class="paramname"><em>plugin</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an...">PluginSummarisingAdapter</a> wrapping the given plugin. </p> +<p>The adapter takes ownership of the plugin, which will be deleted when the adapter is deleted. </p> + +</div> +</div> +<a class="anchor" id="a47846e7cc0ef4a29335e08b9645316d0"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::~PluginSummarisingAdapter" ref="a47846e7cc0ef4a29335e08b9645316d0" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual Vamp::HostExt::PluginSummarisingAdapter::~PluginSummarisingAdapter </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="a1e994576d43efe103bf8f83b69716745"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::initialise" ref="a1e994576d43efe103bf8f83b69716745" args="(size_t channels, size_t stepSize, size_t blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool Vamp::HostExt::PluginSummarisingAdapter::initialise </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>inputChannels</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>stepSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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). </p> +<p>The input sample rate should have been already specified at construction time.</p> +<p>Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="a3402381d145d507bd26d1a67e3616911"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::reset" ref="a3402381d145d507bd26d1a67e3616911" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginSummarisingAdapter::reset </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Reset the plugin after use, to prepare it for another clean run. </p> +<p>Not called for the first initialisation (i.e. initialise must also do a reset). </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="a3314b456a4780601c021dac25b478846"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::process" ref="a3314b456a4780601c021dac25b478846" args="(const float *const *inputBuffers, RealTime timestamp)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginSummarisingAdapter::process </td> + <td>(</td> + <td class="paramtype">const float *const * </td> + <td class="paramname"><em>inputBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td> + <td class="paramname"><em>timestamp</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Process a single block of input data. </p> +<p>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> +<p>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> +<p>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.) </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="ae9dcbd1ba8197ff90b4fc6bf7ade7688"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getRemainingFeatures" ref="ae9dcbd1ba8197ff90b4fc6bf7ade7688" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginSummarisingAdapter::getRemainingFeatures </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2bc8c0992e64f06991fb7cf89f99857e">Vamp::HostExt::PluginWrapper</a>.</p> + +</div> +</div> +<a class="anchor" id="a1a659500ca1290a228c0b9b91f6ac0b7"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::setSummarySegmentBoundaries" ref="a1a659500ca1290a228c0b9b91f6ac0b7" args="(const SegmentBoundaries &)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginSummarisingAdapter::setSummarySegmentBoundaries </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a74e7f93c745802a2409185b63922466b">SegmentBoundaries</a> & </td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Specify a series of segment boundaries, such that one summary will be returned for each of the contiguous intra-boundary segments. </p> +<p>This function must be called before getSummaryForOutput or getSummaryForAllOutputs.</p> +<p>Note that you cannot retrieve results with multiple different segmentations by repeatedly calling this function followed by one of the getSummary functions. The summaries are all calculated at the first call to any getSummary function, and once the summaries have been calculated, they remain calculated. </p> + +</div> +</div> +<a class="anchor" id="abe13faa68d3244b962dbd362671e23f9"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getSummaryForOutput" ref="abe13faa68d3244b962dbd362671e23f9" args="(int output, SummaryType type, AveragingMethod method=SampleAverage)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> Vamp::HostExt::PluginSummarisingAdapter::getSummaryForOutput </td> + <td>(</td> + <td class="paramtype">int </td> + <td class="paramname"><em>output</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705">SummaryType</a> </td> + <td class="paramname"><em>type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76">AveragingMethod</a> </td> + <td class="paramname"><em>method</em> = <code>SampleAverage</code> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return summaries of the features that were returned on the given output, using the given SummaryType and AveragingMethod. </p> +<p>The plugin must have been fully run (<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3314b456a4780601c021dac25b478846" title="Process a single block of input data.">process()</a> and <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ae9dcbd1ba8197ff90b4fc6bf7ade7688" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">getRemainingFeatures()</a> calls all made as appropriate) before this function is called. </p> + +</div> +</div> +<a class="anchor" id="ac3f93d9ca2d25c9fdc80d0ba10eaaa6b"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getSummaryForAllOutputs" ref="ac3f93d9ca2d25c9fdc80d0ba10eaaa6b" args="(SummaryType type, AveragingMethod method=SampleAverage)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginSummarisingAdapter::getSummaryForAllOutputs </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705">SummaryType</a> </td> + <td class="paramname"><em>type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76">AveragingMethod</a> </td> + <td class="paramname"><em>method</em> = <code>SampleAverage</code> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return summaries of the features that were returned on all of the plugin's outputs, using the given SummaryType and AveragingMethod. </p> +<p>The plugin must have been fully run (<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3314b456a4780601c021dac25b478846" title="Process a single block of input data.">process()</a> and <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ae9dcbd1ba8197ff90b4fc6bf7ade7688" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">getRemainingFeatures()</a> calls all made as appropriate) before this function is called. </p> + +</div> +</div> +<a class="anchor" id="ae203faf8384c9e1fddc381409aa8a214"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getInputDomain" ref="ae203faf8384c9e1fddc381409aa8a214" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::HostExt::PluginWrapper::getInputDomain </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the plugin's required input domain. </p> +<p>If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" 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> +<p>If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" 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. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a74147fda6b44ff2169bd4a1eea0d46ff"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getVampApiVersion" ref="a74147fda6b44ff2169bd4a1eea0d46ff" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int Vamp::HostExt::PluginWrapper::getVampApiVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a4baa9e48f717c2b3e7f92496aa39d904"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getIdentifier" ref="a4baa9e48f717c2b3e7f92496aa39d904" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getIdentifier </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the computer-usable name of the plugin. </p> +<p>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> +<p>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> +<p>Example: "zero_crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ac70a3265bb25aeb03f6dd8f8a0442088"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getName" ref="ac70a3265bb25aeb03f6dd8f8a0442088" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getName </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a human-readable name or title of the plugin. </p> +<p>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> +<p>Example: "Zero Crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ac334f699c0996055942785410d8a065c"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getDescription" ref="ac334f699c0996055942785410d8a065c" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getDescription </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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". </p> +<p>May be empty if the name has said it all already.</p> +<p>Example: "Detect and count zero crossing points" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a59d5a2298951b317995675e664b1c7bb"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getMaker" ref="a59d5a2298951b317995675e664b1c7bb" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getMaker </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the name of the author or vendor of the plugin in human-readable form. </p> +<p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a47e1acf1696813008324a915c9ba59c5"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getPluginVersion" ref="a47e1acf1696813008324a915c9ba59c5" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int Vamp::HostExt::PluginWrapper::getPluginVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the version number of the plugin. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ae14f6ecb78be909c4cd5f0cdaed3c566"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getCopyright" ref="ae14f6ecb78be909c4cd5f0cdaed3c566" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCopyright </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the copyright statement or licensing summary for the plugin. </p> +<p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a9be71561265c2e6e43b7feaddaa91f36"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getParameterDescriptors" ref="a9be71561265c2e6e43b7feaddaa91f36" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::HostExt::PluginWrapper::getParameterDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the controllable parameters of this plugin. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a034920f56c8d7609a85447c42556048c"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getParameter" ref="a034920f56c8d7609a85447c42556048c" args="(std::string) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float Vamp::HostExt::PluginWrapper::getParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the value of a named parameter. </p> +<p>The argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a651b15a5dc4c27942ac0c87c6092bfe5"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::setParameter" ref="a651b15a5dc4c27942ac0c87c6092bfe5" args="(std::string, float)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginWrapper::setParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set a named parameter. </p> +<p>The first argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">Vamp::PluginBase</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a131fbe1df81215020b9aa8cecef4c802"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getPrograms" ref="a131fbe1df81215020b9aa8cecef4c802" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::HostExt::PluginWrapper::getPrograms </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the program settings available in this plugin. </p> +<p>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> +<p>The programs must have unique names. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a7a312dd42d161064b70afd7ff24c0651"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getCurrentProgram" ref="a7a312dd42d161064b70afd7ff24c0651" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCurrentProgram </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the current program. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a074978333a74fdcf336a8a1d8ea20abf"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::selectProgram" ref="a074978333a74fdcf336a8a1d8ea20abf" args="(std::string)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginWrapper::selectProgram </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Select a program. </p> +<p>(If the given program name is not one of the available programs, do nothing.) </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">Vamp::PluginBase</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a0137d93d7019bacc31104836fb4d352e"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getPreferredStepSize" ref="a0137d93d7019bacc31104836fb4d352e" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getPreferredStepSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function) for the plugin. </p> +<p>This should be called before <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137" title="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).">initialise()</a>.</p> +<p>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_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137" title="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).">initialise()</a> call. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ad979af9f1cbf2eeb16f4eaedb4a4f565">Vamp::HostExt::PluginInputDomainAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a2c62a656313a819650656643a867ad01"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getPreferredBlockSize" ref="a2c62a656313a819650656643a867ad01" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getPreferredBlockSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function). </p> +<p>This should be called before <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137" title="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).">initialise()</a>.</p> +<p>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_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137" title="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).">initialise()</a> call. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a21e45180b19873f9ab69fe7a4e184a03">Vamp::HostExt::PluginBufferingAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a2b28f1cf37d46a514f1e1411a6037bf8"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getMinChannelCount" ref="a2b28f1cf37d46a514f1e1411a6037bf8" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMinChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the minimum supported number of input channels. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a985eb21f1827bfbc3950d6871b107a58"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getMaxChannelCount" ref="a985eb21f1827bfbc3950d6871b107a58" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMaxChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the maximum supported number of input channels. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a5a9411305f713b4c9827844b89acd270"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getOutputDescriptors" ref="a5a9411305f713b4c9827844b89acd270" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::HostExt::PluginWrapper::getOutputDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the outputs of this plugin. </p> +<p>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="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> call. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#af8cc914897a284433de220f1153f3845">Vamp::HostExt::PluginBufferingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a653d0308e8e34881a8749b7631d00f05"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getWrapper" ref="a653d0308e8e34881a8749b7631d00f05" args="()" --> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<typename WrapperType > </div> + <table class="memname"> + <tr> + <td class="memname">WrapperType* Vamp::HostExt::PluginWrapper::getWrapper </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [inline, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. </p> +<p>This is useful in situations where a plugin is wrapped by multiple different wrappers (one inside another) and the host wants to call some wrapper-specific function on one of the layers without having to care about the order in which they are wrapped. For example, the plugin returned by <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f" title="Load a Vamp plugin, given its identifying key.">PluginLoader::loadPlugin</a> may have more than one wrapper; if the host wanted to query or fine-tune some property of one of them, it would be hard to do so without knowing the order of the wrappers. This function therefore gives direct access to the wrapper of a particular type. </p> + +<p>Definition at line <a class="el" href="PluginWrapper_8h_source.html#l00116">116</a> of file <a class="el" href="PluginWrapper_8h_source.html">PluginWrapper.h</a>.</p> + +<p>References <a class="el" href="PluginWrapper_8h_source.html#l00116">Vamp::HostExt::PluginWrapper::getWrapper()</a>.</p> + +<p>Referenced by <a class="el" href="PluginWrapper_8h_source.html#l00116">Vamp::HostExt::PluginWrapper::getWrapper()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getType" ref="abe13b3997a69fbcc09e2213faa352f91" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::Plugin::getType </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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 from audio o...">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>. </p> +<p>Do not reimplement this function in your subclass. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="af131140817d9f131650af98b6b8d7a94"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::m_impl" ref="af131140817d9f131650af98b6b8d7a94" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Impl* <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af131140817d9f131650af98b6b8d7a94">Vamp::HostExt::PluginSummarisingAdapter::m_impl</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginSummarisingAdapter_8h_source.html#l00187">187</a> of file <a class="el" href="PluginSummarisingAdapter_8h_source.html">PluginSummarisingAdapter.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ab4e40ecd98b445e1a2aa9e7baa280ea2"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::m_plugin" ref="ab4e40ecd98b445e1a2aa9e7baa280ea2" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a>* <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">Vamp::HostExt::PluginWrapper::m_plugin</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginWrapper_8h_source.html#l00126">126</a> of file <a class="el" href="PluginWrapper_8h_source.html">PluginWrapper.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::m_inputSampleRate" ref="a59b9dd82a4f4eb946cd0474cc81abc23" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00375">FixedTempoEstimator::D::calculate()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <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="FixedTempoEstimator_8cpp_source.html#l00252">FixedTempoEstimator::D::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00363">FixedTempoEstimator::D::lag2tempo()</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>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00369">FixedTempoEstimator::D::tempo2lag()</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="PluginSummarisingAdapter_8h_source.html">PluginSummarisingAdapter.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="namespaceVamp_1_1HostExt.html">HostExt</a> </li> + <li class="navelem"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">PluginSummarisingAdapter</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginSummarisingAdapter__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,5 @@ +<map id="G" name="G"> +<area shape="rect" id="node2" href="$classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="40,155,224,181"/> +<area shape="rect" id="node4" href="$classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="86,81,177,106"/> +<area shape="rect" id="node6" href="$classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="73,6,191,31"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginSummarisingAdapter__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +77bad68c7ea4516223818bad8bc14f95 \ No newline at end of file
Binary file code-docs/classVamp_1_1HostExt_1_1PluginSummarisingAdapter__inherit__graph.png has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginWrapper-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,133 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1HostExt_1_1PluginWrapper.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Vamp::HostExt::PluginWrapper Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">getCopyright</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">getCurrentProgram</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">getDescription</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">getIdentifier</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae203faf8384c9e1fddc381409aa8a214">getInputDomain</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">getMaker</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">getMaxChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">getMinChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">getName</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a9411305f713b4c9827844b89acd270">getOutputDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">getParameter</a>(std::string) const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">getParameterDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">getPluginVersion</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">getPreferredBlockSize</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">getPreferredStepSize</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">getPrograms</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2bc8c0992e64f06991fb7cf89f99857e">getRemainingFeatures</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">getVampApiVersion</a>() const </td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05">getWrapper</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137">initialise</a>(size_t channels, size_t stepSize, size_t blockSize)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> enum name</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a></td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a>(float inputSampleRate)</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a35cc2d42f8322f5022e89859a79c97be">PluginWrapper</a>(Plugin *plugin)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf">process</a>(const float *const *inputBuffers, RealTime timestamp)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad19cc0614ba41cdc26ef3394c5146fe6">reset</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">selectProgram</a>(std::string)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">setParameter</a>(std::string, float)</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a>()</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a>()</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac4fb6cfd7c0d3b2c8576a4e9dc61f518">~PluginWrapper</a>()</td><td><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a></td><td><code> [virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginWrapper.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,965 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::HostExt::PluginWrapper Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1HostExt_1_1PluginWrapper.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pro-methods">Protected Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">Vamp::HostExt::PluginWrapper Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="Vamp::HostExt::PluginWrapper" --><!-- doxytag: inherits="Vamp::Plugin" --> +<p><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a> is a simple base class for adapter plugins. + <a href="classVamp_1_1HostExt_1_1PluginWrapper.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="PluginWrapper_8h_source.html">vamp-hostsdk/PluginWrapper.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for Vamp::HostExt::PluginWrapper:</div> +<div class="dyncontent"> +<div class="center"><img src="classVamp_1_1HostExt_1_1PluginWrapper__inherit__graph.png" border="0" usemap="#Vamp_1_1HostExt_1_1PluginWrapper_inherit__map" alt="Inheritance graph"/></div> +<map name="Vamp_1_1HostExt_1_1PluginWrapper_inherit__map" id="Vamp_1_1HostExt_1_1PluginWrapper_inherit__map"> +<area shape="rect" id="node7" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an..." alt="" coords="558,5,789,30"/><area shape="rect" id="node9" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that..." alt="" coords="560,54,787,79"/><area shape="rect" id="node11" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma..." alt="" coords="547,103,800,129"/><area shape="rect" id="node13" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an..." alt="" coords="547,153,800,178"/><area shape="rect" id="node2" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="174,79,266,105"/><area shape="rect" id="node4" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="6,79,125,105"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classVamp_1_1HostExt_1_1PluginWrapper-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, +<a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> + }</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< int, <br class="typebreak"/> +<a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac4fb6cfd7c0d3b2c8576a4e9dc61f518">~PluginWrapper</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr> +<tr><td class="mdescLeft"> </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="#aa5a1f8290d8e9a315695584dcb3ad137"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad19cc0614ba41cdc26ef3394c5146fe6">reset</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#ad19cc0614ba41cdc26ef3394c5146fe6"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae203faf8384c9e1fddc381409aa8a214">getInputDomain</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the plugin's required input domain. <a href="#ae203faf8384c9e1fddc381409aa8a214"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">getVampApiVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a74147fda6b44ff2169bd4a1eea0d46ff"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">getIdentifier</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#a4baa9e48f717c2b3e7f92496aa39d904"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">getName</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#ac70a3265bb25aeb03f6dd8f8a0442088"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">getDescription</a> () const </td></tr> +<tr><td class="mdescLeft"> </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="#ac334f699c0996055942785410d8a065c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">getMaker</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#a59d5a2298951b317995675e664b1c7bb"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">getPluginVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the version number of the plugin. <a href="#a47e1acf1696813008324a915c9ba59c5"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">getCopyright</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#ae14f6ecb78be909c4cd5f0cdaed3c566"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">getParameterDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#a9be71561265c2e6e43b7feaddaa91f36"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">getParameter</a> (std::string) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a named parameter. <a href="#a034920f56c8d7609a85447c42556048c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">setParameter</a> (std::string, float)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a named parameter. <a href="#a651b15a5dc4c27942ac0c87c6092bfe5"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">getPrograms</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the program settings available in this plugin. <a href="#a131fbe1df81215020b9aa8cecef4c802"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">getCurrentProgram</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current program. <a href="#a7a312dd42d161064b70afd7ff24c0651"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">selectProgram</a> (std::string)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Select a program. <a href="#a074978333a74fdcf336a8a1d8ea20abf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">getPreferredStepSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#a0137d93d7019bacc31104836fb4d352e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">getPreferredBlockSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function). <a href="#a2c62a656313a819650656643a867ad01"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">getMinChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a2b28f1cf37d46a514f1e1411a6037bf8"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">getMaxChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a985eb21f1827bfbc3950d6871b107a58"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a9411305f713b4c9827844b89acd270">getOutputDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the outputs of this plugin. <a href="#a5a9411305f713b4c9827844b89acd270"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Process a single block of input data. <a href="#a6bd72d6dfb3047524dbe8ae3294527cf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2bc8c0992e64f06991fb7cf89f99857e">getRemainingFeatures</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#a2bc8c0992e64f06991fb7cf89f99857e"></a><br/></td></tr> +<tr><td class="memTemplParams" colspan="2">template<typename WrapperType > </td></tr> +<tr><td class="memTemplItemLeft" align="right" valign="top">WrapperType * </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05">getWrapper</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. <a href="#a653d0308e8e34881a8749b7631d00f05"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr> +<tr><td class="mdescLeft"> </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 from audio o...">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="#abe13b3997a69fbcc09e2213faa352f91"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pro-methods"></a> +Protected Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a35cc2d42f8322f5022e89859a79c97be">PluginWrapper</a> (<a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *plugin)</td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a> is a simple base class for adapter plugins. </p> +<p>It takes a pointer to a "to be wrapped" <a class="el" href="namespaceVamp.html">Vamp</a> plugin on construction, and provides implementations of all the <a class="el" href="namespaceVamp.html">Vamp</a> plugin methods that simply delegate through to the wrapped plugin. A subclass can therefore override only the methods that are meaningful for the particular adapter.</p> +<dl class="note"><dt><b>Note:</b></dt><dd>This class was introduced in version 1.1 of the <a class="el" href="namespaceVamp.html">Vamp</a> plugin SDK. </dd></dl> + +<p>Definition at line <a class="el" href="PluginWrapper_8h_source.html#l00062">62</a> of file <a class="el" href="PluginWrapper_8h_source.html">PluginWrapper.h</a>.</p> +</div><hr/><h2>Member Typedef Documentation</h2> +<a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::OutputList" ref="a30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>> <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::FeatureList" ref="a0730bc72c87fa02eb8d2854b233f7be1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>> <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::FeatureSet" ref="a448fb57dc245d47923ec9eeaf9856c5f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::map<int, <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>> <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>> <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<std::string> <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<hr/><h2>Member Enumeration Documentation</h2> +<a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::InputDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<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> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="ac4fb6cfd7c0d3b2c8576a4e9dc61f518"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::~PluginWrapper" ref="ac4fb6cfd7c0d3b2c8576a4e9dc61f518" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual Vamp::HostExt::PluginWrapper::~PluginWrapper </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="a35cc2d42f8322f5022e89859a79c97be"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::PluginWrapper" ref="a35cc2d42f8322f5022e89859a79c97be" args="(Plugin *plugin)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Vamp::HostExt::PluginWrapper::PluginWrapper </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> * </td> + <td class="paramname"><em>plugin</em></td><td>)</td> + <td><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="aa5a1f8290d8e9a315695584dcb3ad137"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::initialise" ref="aa5a1f8290d8e9a315695584dcb3ad137" args="(size_t channels, size_t stepSize, size_t blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool Vamp::HostExt::PluginWrapper::initialise </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>inputChannels</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>stepSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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). </p> +<p>The input sample rate should have been already specified at construction time.</p> +<p>Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ade0473c8fc54636431967cbf41649c1c">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a72d201eca10ec73bf16e07984f58f94c">Vamp::HostExt::PluginInputDomainAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a1e994576d43efe103bf8f83b69716745">Vamp::HostExt::PluginSummarisingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="ad19cc0614ba41cdc26ef3394c5146fe6"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::reset" ref="ad19cc0614ba41cdc26ef3394c5146fe6" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginWrapper::reset </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Reset the plugin after use, to prepare it for another clean run. </p> +<p>Not called for the first initialisation (i.e. initialise must also do a reset). </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a131fd9fe8a1795d7370d8a721176868a">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a984a12b5b4cb0be1e2f7a0aa84106c4c">Vamp::HostExt::PluginInputDomainAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3402381d145d507bd26d1a67e3616911">Vamp::HostExt::PluginSummarisingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="ae203faf8384c9e1fddc381409aa8a214"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getInputDomain" ref="ae203faf8384c9e1fddc381409aa8a214" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::HostExt::PluginWrapper::getInputDomain </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the plugin's required input domain. </p> +<p>If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" 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> +<p>If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" 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. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a74147fda6b44ff2169bd4a1eea0d46ff"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getVampApiVersion" ref="a74147fda6b44ff2169bd4a1eea0d46ff" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int Vamp::HostExt::PluginWrapper::getVampApiVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a4baa9e48f717c2b3e7f92496aa39d904"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getIdentifier" ref="a4baa9e48f717c2b3e7f92496aa39d904" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getIdentifier </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the computer-usable name of the plugin. </p> +<p>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> +<p>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> +<p>Example: "zero_crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ac70a3265bb25aeb03f6dd8f8a0442088"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getName" ref="ac70a3265bb25aeb03f6dd8f8a0442088" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getName </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a human-readable name or title of the plugin. </p> +<p>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> +<p>Example: "Zero Crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ac334f699c0996055942785410d8a065c"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getDescription" ref="ac334f699c0996055942785410d8a065c" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getDescription </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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". </p> +<p>May be empty if the name has said it all already.</p> +<p>Example: "Detect and count zero crossing points" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a59d5a2298951b317995675e664b1c7bb"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getMaker" ref="a59d5a2298951b317995675e664b1c7bb" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getMaker </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the name of the author or vendor of the plugin in human-readable form. </p> +<p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a47e1acf1696813008324a915c9ba59c5"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getPluginVersion" ref="a47e1acf1696813008324a915c9ba59c5" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int Vamp::HostExt::PluginWrapper::getPluginVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the version number of the plugin. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ae14f6ecb78be909c4cd5f0cdaed3c566"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getCopyright" ref="ae14f6ecb78be909c4cd5f0cdaed3c566" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCopyright </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the copyright statement or licensing summary for the plugin. </p> +<p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a9be71561265c2e6e43b7feaddaa91f36"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getParameterDescriptors" ref="a9be71561265c2e6e43b7feaddaa91f36" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::HostExt::PluginWrapper::getParameterDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the controllable parameters of this plugin. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a034920f56c8d7609a85447c42556048c"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getParameter" ref="a034920f56c8d7609a85447c42556048c" args="(std::string) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float Vamp::HostExt::PluginWrapper::getParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the value of a named parameter. </p> +<p>The argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a651b15a5dc4c27942ac0c87c6092bfe5"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::setParameter" ref="a651b15a5dc4c27942ac0c87c6092bfe5" args="(std::string, float)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginWrapper::setParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set a named parameter. </p> +<p>The first argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">Vamp::PluginBase</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a131fbe1df81215020b9aa8cecef4c802"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getPrograms" ref="a131fbe1df81215020b9aa8cecef4c802" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::HostExt::PluginWrapper::getPrograms </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the program settings available in this plugin. </p> +<p>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> +<p>The programs must have unique names. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a7a312dd42d161064b70afd7ff24c0651"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getCurrentProgram" ref="a7a312dd42d161064b70afd7ff24c0651" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCurrentProgram </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the current program. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a074978333a74fdcf336a8a1d8ea20abf"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::selectProgram" ref="a074978333a74fdcf336a8a1d8ea20abf" args="(std::string)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::HostExt::PluginWrapper::selectProgram </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Select a program. </p> +<p>(If the given program name is not one of the available programs, do nothing.) </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">Vamp::PluginBase</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a0137d93d7019bacc31104836fb4d352e"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getPreferredStepSize" ref="a0137d93d7019bacc31104836fb4d352e" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getPreferredStepSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function) for the plugin. </p> +<p>This should be called before <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137" title="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).">initialise()</a>.</p> +<p>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_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137" title="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).">initialise()</a> call. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ad979af9f1cbf2eeb16f4eaedb4a4f565">Vamp::HostExt::PluginInputDomainAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a2c62a656313a819650656643a867ad01"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getPreferredBlockSize" ref="a2c62a656313a819650656643a867ad01" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getPreferredBlockSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function). </p> +<p>This should be called before <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137" title="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).">initialise()</a>.</p> +<p>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_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137" title="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).">initialise()</a> call. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a21e45180b19873f9ab69fe7a4e184a03">Vamp::HostExt::PluginBufferingAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a2b28f1cf37d46a514f1e1411a6037bf8"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getMinChannelCount" ref="a2b28f1cf37d46a514f1e1411a6037bf8" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMinChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the minimum supported number of input channels. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a985eb21f1827bfbc3950d6871b107a58"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getMaxChannelCount" ref="a985eb21f1827bfbc3950d6871b107a58" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMaxChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the maximum supported number of input channels. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a5a9411305f713b4c9827844b89acd270"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getOutputDescriptors" ref="a5a9411305f713b4c9827844b89acd270" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::HostExt::PluginWrapper::getOutputDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the outputs of this plugin. </p> +<p>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="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> call. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#af8cc914897a284433de220f1153f3845">Vamp::HostExt::PluginBufferingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a6bd72d6dfb3047524dbe8ae3294527cf"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::process" ref="a6bd72d6dfb3047524dbe8ae3294527cf" args="(const float *const *inputBuffers, RealTime timestamp)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginWrapper::process </td> + <td>(</td> + <td class="paramtype">const float *const * </td> + <td class="paramname"><em>inputBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td> + <td class="paramname"><em>timestamp</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Process a single block of input data. </p> +<p>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> +<p>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> +<p>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.) </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a55058a20c1f8bffc0dc927350df778a0">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a6ff37bf754ff8711dbcb2f020fa3902c">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231">Vamp::HostExt::PluginInputDomainAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3314b456a4780601c021dac25b478846">Vamp::HostExt::PluginSummarisingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a2bc8c0992e64f06991fb7cf89f99857e"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getRemainingFeatures" ref="a2bc8c0992e64f06991fb7cf89f99857e" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginWrapper::getRemainingFeatures </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a>.</p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a28423951b2eda1a1fc371485434f417b">Vamp::HostExt::PluginBufferingAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ae9dcbd1ba8197ff90b4fc6bf7ade7688">Vamp::HostExt::PluginSummarisingAdapter</a>.</p> + +</div> +</div> +<a class="anchor" id="a653d0308e8e34881a8749b7631d00f05"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getWrapper" ref="a653d0308e8e34881a8749b7631d00f05" args="()" --> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<typename WrapperType > </div> + <table class="memname"> + <tr> + <td class="memname">WrapperType* Vamp::HostExt::PluginWrapper::getWrapper </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. </p> +<p>This is useful in situations where a plugin is wrapped by multiple different wrappers (one inside another) and the host wants to call some wrapper-specific function on one of the layers without having to care about the order in which they are wrapped. For example, the plugin returned by <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f" title="Load a Vamp plugin, given its identifying key.">PluginLoader::loadPlugin</a> may have more than one wrapper; if the host wanted to query or fine-tune some property of one of them, it would be hard to do so without knowing the order of the wrappers. This function therefore gives direct access to the wrapper of a particular type. </p> + +<p>Definition at line <a class="el" href="PluginWrapper_8h_source.html#l00116">116</a> of file <a class="el" href="PluginWrapper_8h_source.html">PluginWrapper.h</a>.</p> + +<p>References <a class="el" href="PluginWrapper_8h_source.html#l00116">getWrapper()</a>.</p> + +<p>Referenced by <a class="el" href="PluginWrapper_8h_source.html#l00116">getWrapper()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::getType" ref="abe13b3997a69fbcc09e2213faa352f91" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::Plugin::getType </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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 from audio o...">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>. </p> +<p>Do not reimplement this function in your subclass. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="ab4e40ecd98b445e1a2aa9e7baa280ea2"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::m_plugin" ref="ab4e40ecd98b445e1a2aa9e7baa280ea2" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a>* <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">Vamp::HostExt::PluginWrapper::m_plugin</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginWrapper_8h_source.html#l00126">126</a> of file <a class="el" href="PluginWrapper_8h_source.html">PluginWrapper.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::HostExt::PluginWrapper::m_inputSampleRate" ref="a59b9dd82a4f4eb946cd0474cc81abc23" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00375">FixedTempoEstimator::D::calculate()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <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="FixedTempoEstimator_8cpp_source.html#l00252">FixedTempoEstimator::D::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00363">FixedTempoEstimator::D::lag2tempo()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00146">SpectralCentroid::process()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">ZeroCrossing::process()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00369">FixedTempoEstimator::D::tempo2lag()</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="PluginWrapper_8h_source.html">PluginWrapper.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="namespaceVamp_1_1HostExt.html">HostExt</a> </li> + <li class="navelem"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">PluginWrapper</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginWrapper__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,8 @@ +<map id="G" name="G"> +<area shape="rect" id="node7" href="$classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an..." alt="" coords="558,5,789,30"/> +<area shape="rect" id="node9" href="$classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that..." alt="" coords="560,54,787,79"/> +<area shape="rect" id="node11" href="$classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma..." alt="" coords="547,103,800,129"/> +<area shape="rect" id="node13" href="$classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an..." alt="" coords="547,153,800,178"/> +<area shape="rect" id="node2" href="$classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="174,79,266,105"/> +<area shape="rect" id="node4" href="$classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="6,79,125,105"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1HostExt_1_1PluginWrapper__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +1cc5f1cfbd60adf995c3a7dba367125f \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1Plugin-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,129 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1Plugin.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Vamp::Plugin Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">getCopyright</a>() const =0</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">getDescription</a>() const =0</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">getIdentifier</a>() const =0</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">getInputDomain</a>() const =0</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">getMaker</a>() const =0</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">getMinChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">getName</a>() const =0</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">getOutputDescriptors</a>() const =0</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">getParameter</a>(std::string) const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">getParameterDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">getPluginVersion</a>() const =0</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">getPreferredBlockSize</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">getPreferredStepSize</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">getRemainingFeatures</a>()=0</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">initialise</a>(size_t inputChannels, size_t stepSize, size_t blockSize)=0</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> enum name</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a>(float inputSampleRate)</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">process</a>(const float *const *inputBuffers, RealTime timestamp)=0</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">reset</a>()=0</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a>(std::string)</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">setParameter</a>(std::string, float)</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a>()</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a>()</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1Plugin.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,975 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::Plugin Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1Plugin.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pro-methods">Protected Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">Vamp::Plugin Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="Vamp::Plugin" --><!-- doxytag: inherits="Vamp::PluginBase" --> +<p><a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> is a base class for plugin instance classes that provide feature extraction from audio or related data. + <a href="classVamp_1_1Plugin.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for Vamp::Plugin:</div> +<div class="dyncontent"> +<div class="center"><img src="classVamp_1_1Plugin__inherit__graph.png" border="0" usemap="#Vamp_1_1Plugin_inherit__map" alt="Inheritance graph"/></div> +<map name="Vamp_1_1Plugin_inherit__map" id="Vamp_1_1Plugin_inherit__map"> +<area shape="rect" id="node5" href="classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function." alt="" coords="345,5,468,30"/><area shape="rect" id="node7" href="classFixedTempoEstimator.html" title="Example plugin that estimates the tempo of a short fixed-tempo sample." alt="" coords="338,54,475,79"/><area shape="rect" id="node9" href="classPercussionOnsetDetector.html" title="Example plugin that detects percussive events." alt="" coords="329,103,484,129"/><area shape="rect" id="node11" href="classPowerSpectrum.html" title="Example plugin that returns a power spectrum calculated (trivially) from the frequency domain represe..." alt="" coords="353,153,460,178"/><area shape="rect" id="node13" href="classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation of each b..." alt="" coords="351,202,463,227"/><area shape="rect" id="node15" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="315,251,499,277"/><area shape="rect" id="node25" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri..." alt="" coords="327,301,486,326"/><area shape="rect" id="node27" href="classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero-crossing points in an audio waveform..." alt="" coords="360,350,453,375"/><area shape="rect" id="node2" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="6,178,125,203"/><area shape="rect" id="node17" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an..." alt="" coords="558,178,789,203"/><area shape="rect" id="node19" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that..." alt="" coords="560,227,787,253"/><area shape="rect" id="node21" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma..." alt="" coords="547,277,800,302"/><area shape="rect" id="node23" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an..." alt="" coords="547,326,800,351"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classVamp_1_1Plugin-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, +<a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> + }</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< int, <br class="typebreak"/> +<a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">initialise</a> (size_t inputChannels, size_t stepSize, size_t blockSize)=0</td></tr> +<tr><td class="mdescLeft"> </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="#af26212cf5fc511b603a8b48034247822"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">reset</a> ()=0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#aad67dc9d0052417511070c4ebcfbf24f"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">getInputDomain</a> () const =0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the plugin's required input domain. <a href="#ae1d317a9702cbeda65ddf0ec500c1ff6"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">getPreferredBlockSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). <a href="#aa529adf83f87a603954eb31407602aac"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">getPreferredStepSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#a514c716c22f81c055f19b56c3f882567"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">getMinChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a267b42e866df3cf0d190893e8096f525"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">getOutputDescriptors</a> () const =0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the outputs of this plugin. <a href="#ad064d5d132b5c9bd7064f429c3309e35"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)=0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Process a single block of input data. <a href="#ae4aed3bebfe80a2e2fccd3d37af26996"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">getRemainingFeatures</a> ()=0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#aeca2a26e658ba0314ba90d25dd2195d6"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr> +<tr><td class="mdescLeft"> </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 from audio o...">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="#abe13b3997a69fbcc09e2213faa352f91"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a8fd2c48291c64b790f0efb8948508dcf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">getIdentifier</a> () const =0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#ad1c6dfc77aa03d937a885b7f08258f4a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">getName</a> () const =0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#a18619d5097e444ecefee0c359da53232"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">getDescription</a> () const =0</td></tr> +<tr><td class="mdescLeft"> </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="#a59153a02364f75fff46973b2072e9e5a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">getMaker</a> () const =0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#a53d9918bf9ef4d12feedf66b2b26c637"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">getCopyright</a> () const =0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#ab7e9dedbe965f5ab9018b72920fe7661"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">getPluginVersion</a> () const =0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the version number of the plugin. <a href="#a63f686d77bc3d6b807e7944cdde83151"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">getParameterDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#aac3e49b3b66cacfbb768dfdf07444f21"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">getParameter</a> (std::string) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a named parameter. <a href="#a97ababcd45348ceec998d0f8e0f38bf7"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">setParameter</a> (std::string, float)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a named parameter. <a href="#a6c718ce822f7b73b98940d59dcaa9366"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the program settings available in this plugin. <a href="#abb307c60bdb981d5f5af50c3c4ae84af"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current program. <a href="#a24e77eccf1bdfbbca3c79bb25e8799b3"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a> (std::string)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Select a program. <a href="#aadd3a547ef140bae200473a9518e3353"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pro-methods"></a> +Protected Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a> (float inputSampleRate)</td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p><a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> is a base class for plugin instance classes that provide feature extraction from audio or related data. </p> +<p>In most cases, the input will be audio and the output will be a stream of derived data at a lower sampling resolution than the input.</p> +<p>Note that this class inherits several abstract methods from <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a>. These must be implemented by the subclass.</p> +<p>PLUGIN LIFECYCLE</p> +<p><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> extraction plugins are managed differently from real-time plugins (such as VST effects). The main difference is that the parameters for a feature extraction plugin are configured before the plugin is used, and do not change during use.</p> +<p>1. Host constructs the plugin, passing it the input sample rate. The plugin may do basic initialisation, but should not do anything computationally expensive at this point. You must make sure your plugin is cheap to construct, otherwise you'll seriously affect the startup performance of almost all hosts. If you have serious initialisation to do, the proper place is in <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a> (step 5).</p> +<p>2. Host may query the plugin's available outputs.</p> +<p>3. Host queries programs and parameter descriptors, and may set some or all of them. Parameters that are not explicitly set should take their default values as specified in the parameter descriptor. When a program is set, the parameter values may change and the host will re-query them to check.</p> +<p>4. Host queries the preferred step size, block size and number of channels. These may all vary depending on the parameter values. (Note however that you cannot make the number of distinct outputs dependent on parameter values.)</p> +<p>5. <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> is properly initialised with a call to initialise. This fixes the step size, block size, and number of channels, as well as all of the parameter and program settings. If the values passed in to initialise do not match the plugin's advertised preferred values from step 4, the plugin may refuse to initialise and return false (although if possible it should accept the new values). Any computationally expensive setup code should take place here.</p> +<p>6. Host finally checks the number of values, resolution, extents etc per output (which may vary depending on the number of channels, step size and block size as well as the parameter values).</p> +<p>7. Host will repeatedly call the process method to pass in blocks of input data. This method may return features extracted from that data (if the plugin is causal).</p> +<p>8. Host will call getRemainingFeatures exactly once, after all the input data has been processed. This may return any non-causal or leftover features.</p> +<p>9. At any point after initialise was called, the host may optionally call the reset method and restart processing. (This does not mean it can change the parameters, which are fixed from initialise until destruction.)</p> +<p>A plugin does not need to handle the case where setParameter or selectProgram is called after initialise has been called. It's the host's responsibility not to do that. Similarly, the plugin may safely assume that initialise is called no more than once. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00124">124</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> +</div><hr/><h2>Member Typedef Documentation</h2> +<a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::Plugin::OutputList" ref="a30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>> <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::Plugin::FeatureList" ref="a0730bc72c87fa02eb8d2854b233f7be1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>> <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::Plugin::FeatureSet" ref="a448fb57dc245d47923ec9eeaf9856c5f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::map<int, <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>> <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::Plugin::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>> <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::Plugin::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<std::string> <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<hr/><h2>Member Enumeration Documentation</h2> +<a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::Plugin::InputDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<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> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a42d3096f9c1f58b1876024cd8d9ab80b"></a><!-- doxytag: member="Vamp::Plugin::~Plugin" ref="a42d3096f9c1f58b1876024cd8d9ab80b" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual Vamp::Plugin::~Plugin </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00127">127</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a1b78c4f46c72ef345ed27f0b9bf20ac9"></a><!-- doxytag: member="Vamp::Plugin::Plugin" ref="a1b78c4f46c72ef345ed27f0b9bf20ac9" args="(float inputSampleRate)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Vamp::Plugin::Plugin </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"><em>inputSampleRate</em></td><td>)</td> + <td><code> [inline, protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00433">433</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="af26212cf5fc511b603a8b48034247822"></a><!-- doxytag: member="Vamp::Plugin::initialise" ref="af26212cf5fc511b603a8b48034247822" args="(size_t inputChannels, size_t stepSize, size_t blockSize)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual bool Vamp::Plugin::initialise </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>inputChannels</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>stepSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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). </p> +<p>The input sample rate should have been already specified at construction time.</p> +<p>Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. </p> + +<p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ade0473c8fc54636431967cbf41649c1c">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a72d201eca10ec73bf16e07984f58f94c">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a1e994576d43efe103bf8f83b69716745">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#add6a2f1ee7e47bd97fa599cead14b738">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#ae2d046334c4bede5be72a0d97e4dfb29">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#aeb727e44ee8ad1aceb90964d20f8d90d">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#aab1ae16f5c68e2b319668f447908cedb">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#af21bbcc87a6eb7875dfab7d86222dccc">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#aa7500a4ffbc4653baaf5101defdb37f5">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a349c528260622308f3850bcda8a448ab">PercussionOnsetDetector</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="aad67dc9d0052417511070c4ebcfbf24f"></a><!-- doxytag: member="Vamp::Plugin::reset" ref="aad67dc9d0052417511070c4ebcfbf24f" args="()=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void Vamp::Plugin::reset </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Reset the plugin after use, to prepare it for another clean run. </p> +<p>Not called for the first initialisation (i.e. initialise must also do a reset). </p> + +<p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a131fd9fe8a1795d7370d8a721176868a">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a984a12b5b4cb0be1e2f7a0aa84106c4c">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3402381d145d507bd26d1a67e3616911">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a5d54c5bbd76bc27b7a243827148afeaa">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a091ba21e1697ea4208f42e8295c389d9">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#acebd835e80e84669df078fbd7591d8f7">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a9b5f5581691ff8f46bb7674d8d74395c">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#a9ae6c4a31ea027dceb1e97ead807e228">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#ac41708397255400c6682fee6c1b3d45f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a9b1075e992cd9599764ef3881fb91d1a">PercussionOnsetDetector</a>.</p> + +</div> +</div> +<a class="anchor" id="ae1d317a9702cbeda65ddf0ec500c1ff6"></a><!-- doxytag: member="Vamp::Plugin::getInputDomain" ref="ae1d317a9702cbeda65ddf0ec500c1ff6" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::Plugin::getInputDomain </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the plugin's required input domain. </p> +<p>If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" 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> +<p>If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" 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. </p> + +<p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8e9d25673367c741631a60cbb36e91d2">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae203faf8384c9e1fddc381409aa8a214">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#ae04e0e34847a93f3444d04c802ee56ef">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#afc07a389b5f922b944b0350fd232d2eb">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a0ec2cb74c1c5f6e57d0bd9dcf7c8f469">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#aafe2ce6ebd353a14c40db7e8e60f4051">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a055689c9b41b0945e8d3cdbc3b8c3a2e">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a4f6954267696ee5bfa7dd1c4a6cfa92a">PercussionOnsetDetector</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="aa529adf83f87a603954eb31407602aac"></a><!-- doxytag: member="Vamp::Plugin::getPreferredBlockSize" ref="aa529adf83f87a603954eb31407602aac" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getPreferredBlockSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). </p> +<p>This should be called before <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a>.</p> +<p>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#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a> call. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a21e45180b19873f9ab69fe7a4e184a03">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#ad5e0ea8042bdec4dd18428991117e07a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#a68b8569b71504a0478caf990dbe30683">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a410c0b47c6c849d7ed9b726b84402ad0">PercussionOnsetDetector</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a514c716c22f81c055f19b56c3f882567"></a><!-- doxytag: member="Vamp::Plugin::getPreferredStepSize" ref="a514c716c22f81c055f19b56c3f882567" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getPreferredStepSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. </p> +<p>This should be called before <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a>.</p> +<p>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#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a> call. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ad979af9f1cbf2eeb16f4eaedb4a4f565">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a859ad5d59402691daed3cf1af1899ebe">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#ad450bb7e7df559ae3d68dfbfb085676f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a733824891e11c306a7a678534b89b968">PercussionOnsetDetector</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a267b42e866df3cf0d190893e8096f525"></a><!-- doxytag: member="Vamp::Plugin::getMinChannelCount" ref="a267b42e866df3cf0d190893e8096f525" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the minimum supported number of input channels. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a67d1198c0e58d3f0076d0eda599ff28d">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="Vamp::Plugin::getMaxChannelCount" ref="a2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the maximum supported number of input channels. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a25091905e97e39d515d8ffc1a9f2b9e0">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">ZeroCrossing::initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="ad064d5d132b5c9bd7064f429c3309e35"></a><!-- doxytag: member="Vamp::Plugin::getOutputDescriptors" ref="ad064d5d132b5c9bd7064f429c3309e35" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::Plugin::getOutputDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the outputs of this plugin. </p> +<p>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="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> call. </p> + +<p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#af8cc914897a284433de220f1153f3845">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a9649a113da0252fe8bd9fc731b047ae0">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a9411305f713b4c9827844b89acd270">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#a83121c205a723fe6297e2bf8870622a4">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#aa4537aa0eb58a67d6e824d46924cf782">PercussionOnsetDetector</a>, <a class="el" href="classPowerSpectrum.html#a6aac5f93e3a8c033026d739fed427242">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a043e3c3db77d76267cd8069e1485bf26">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a894ca9740927102bb80b56b5e9e95877">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#ac9d590a6feb1fc9a37d7892aefe2b688">ZeroCrossing</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="ae4aed3bebfe80a2e2fccd3d37af26996"></a><!-- doxytag: member="Vamp::Plugin::process" ref="ae4aed3bebfe80a2e2fccd3d37af26996" args="(const float *const *inputBuffers, RealTime timestamp)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::Plugin::process </td> + <td>(</td> + <td class="paramtype">const float *const * </td> + <td class="paramname"><em>inputBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td> + <td class="paramname"><em>timestamp</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Process a single block of input data. </p> +<p>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> +<p>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> +<p>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.) </p> + +<p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a55058a20c1f8bffc0dc927350df778a0">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a6ff37bf754ff8711dbcb2f020fa3902c">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a38fe1080b343ba10e5d8a4b30c87cbdd">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3314b456a4780601c021dac25b478846">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#a1cf76b0e55cf4ed3da095cffcdeaec3c">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614">PercussionOnsetDetector</a>, <a class="el" href="classAmplitudeFollower.html#a48d0f95cac31ffd190cff89b50a2a5bd">AmplitudeFollower</a>, <a class="el" href="classPowerSpectrum.html#aa5664ffc2b37a16db471fae791c1f55f">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#aca96c70e7e75c9e4a7db38485018914c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#abf4aaa6fd8cc03de63f4e1e8942633da">ZeroCrossing</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="aeca2a26e658ba0314ba90d25dd2195d6"></a><!-- doxytag: member="Vamp::Plugin::getRemainingFeatures" ref="aeca2a26e658ba0314ba90d25dd2195d6" args="()=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::Plugin::getRemainingFeatures </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p> + +<p>Implemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a28423951b2eda1a1fc371485434f417b">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a984a4c11f3fbdcfd90e4837b1619a5ab">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ae9dcbd1ba8197ff90b4fc6bf7ade7688">Vamp::HostExt::PluginSummarisingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2bc8c0992e64f06991fb7cf89f99857e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#a4965cf99be77fc4d1de51e11d83936b0">FixedTempoEstimator</a>, <a class="el" href="classPercussionOnsetDetector.html#ad3d6767ed137783e84f842b4d4732ffa">PercussionOnsetDetector</a>, <a class="el" href="classAmplitudeFollower.html#a368606f643b88e0df0823d85e36f030c">AmplitudeFollower</a>, <a class="el" href="classPowerSpectrum.html#ac8a9661a785d38f4c5ce8ca2d53e69f9">PowerSpectrum</a>, <a class="el" href="classSpectralCentroid.html#a83ba39f0870a2f86837605a958dfab1a">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#a70996d1b7166e303903daf92a9a37ad8">ZeroCrossing</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::Plugin::getType" ref="abe13b3997a69fbcc09e2213faa352f91" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::Plugin::getType </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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 from audio o...">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>. </p> +<p>Do not reimplement this function in your subclass. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="Vamp::Plugin::getVampApiVersion" ref="a8fd2c48291c64b790f0efb8948508dcf" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a98aadddc8403eb46c9d8c5a9d1fdd19e">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="ad1c6dfc77aa03d937a885b7f08258f4a"></a><!-- doxytag: member="Vamp::Plugin::getIdentifier" ref="ad1c6dfc77aa03d937a885b7f08258f4a" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getIdentifier </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [pure virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the computer-usable name of the plugin. </p> +<p>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> +<p>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> +<p>Example: "zero_crossings" </p> + +<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ab27423a656f878d97d2ad2eba4e76c7a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a9e9d8349461cbb88d7565a5e8c51b64e">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#afe7576af95c8fcc7f5bad42eec9f9f29">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a1b2c4c8440c024c4c635fcef5697949f">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#af2baf9e19fcdd11cfe97ace56d4f5c1a">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#ab818edcf1555177d10260e197e3a5e7a">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a267c83a7533146c127e2c3be310e0154">PercussionOnsetDetector</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a18619d5097e444ecefee0c359da53232"></a><!-- doxytag: member="Vamp::Plugin::getName" ref="a18619d5097e444ecefee0c359da53232" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getName </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [pure virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a human-readable name or title of the plugin. </p> +<p>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> +<p>Example: "Zero Crossings" </p> + +<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a45f1d0377e233eeddd1b7cefb48be62a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#ac9214f9cafeeed3fca549c90aef57623">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a7cfed00bc9d96ba6c709b69ab6a40594">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#ab7e6a620fea568af431be3cfd9dd5a41">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#afa96f7ce6e7d9f03768f48c6a9d88498">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#af9eb6fa8a98aa66b55e64e1795f9405f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#aa98f1ad061a11af98c054011a8844e6f">PercussionOnsetDetector</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00797">printPluginCategoryList()</a>.</p> + +</div> +</div> +<a class="anchor" id="a59153a02364f75fff46973b2072e9e5a"></a><!-- doxytag: member="Vamp::Plugin::getDescription" ref="a59153a02364f75fff46973b2072e9e5a" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getDescription </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [pure virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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". </p> +<p>May be empty if the name has said it all already.</p> +<p>Example: "Detect and count zero crossing points" </p> + +<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a5eaafcef030e81b90a3e77cf16cf8ae1">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a7b48d56dc954f3af344f7e4dcd8993e5">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a6f0f2fea1fdb4b51e688edfe859d5062">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a8fbb74a46283057d9a0b0e4718ee943c">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#a710bb0b013157adaeef2a9e6867b4478">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a06b00853f00c2e78d490697fcd7d1920">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a9061d189705802a48973a7ccab6360db">PercussionOnsetDetector</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00797">printPluginCategoryList()</a>.</p> + +</div> +</div> +<a class="anchor" id="a53d9918bf9ef4d12feedf66b2b26c637"></a><!-- doxytag: member="Vamp::Plugin::getMaker" ref="a53d9918bf9ef4d12feedf66b2b26c637" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getMaker </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [pure virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the name of the author or vendor of the plugin in human-readable form. </p> +<p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p> + +<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#af572be0b175f5661559006a380a0f3db">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a9f3e3f759e2b67c771a41f1c276984b2">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a44fc43838f203f58bc2ce6e3cb2b03dd">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#ac01ff858bf67e2e93ad5d24a6ba8c8c8">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#ac68561634a3c329a029c2fd3deaeae2a">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#ae910d1b9250b11097fd6b51cd8285b68">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a63d63f2cb7ea8d8b09d58cc13b541375">PercussionOnsetDetector</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00797">printPluginCategoryList()</a>.</p> + +</div> +</div> +<a class="anchor" id="ab7e9dedbe965f5ab9018b72920fe7661"></a><!-- doxytag: member="Vamp::Plugin::getCopyright" ref="ab7e9dedbe965f5ab9018b72920fe7661" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getCopyright </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [pure virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the copyright statement or licensing summary for the plugin. </p> +<p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p> + +<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ac73c9d6baad04369beee695e99584815">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a708b4d335c57643d5ef2b2e1caf43bd9">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a0c197fc90f30d91cb4403115c83c9134">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a925747d513d598e0fa21ed0ed6520980">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#af9c41b92aa8ff8bddaebf75569ff789c">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a50c6b64530c84c0707ba3936c5022a48">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a1a22ece271330c94cc08798a77416351">PercussionOnsetDetector</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="a63f686d77bc3d6b807e7944cdde83151"></a><!-- doxytag: member="Vamp::Plugin::getPluginVersion" ref="a63f686d77bc3d6b807e7944cdde83151" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual int Vamp::PluginBase::getPluginVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [pure virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the version number of the plugin. </p> + +<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a6fbd94781867ca46a20368c2a3593c77">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#ad23d27e4e82f10404a37b933f6a72c33">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a8a5d7a834eb996d517c51f84b2a72250">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#af64622e66bf678ac2b0b58aa832ca2b3">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#ad685f6c2f443f07a1634550c335571eb">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#ad002fddb3735c2dd7e31e6a9def9949f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#ad6b818dbd81867ce7be71c99cae861be">PercussionOnsetDetector</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="aac3e49b3b66cacfbb768dfdf07444f21"></a><!-- doxytag: member="Vamp::Plugin::getParameterDescriptors" ref="aac3e49b3b66cacfbb768dfdf07444f21" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginBase::getParameterDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the controllable parameters of this plugin. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a602faa0bfaae83e2ca53b36292271a76">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#a9df01323a09e117bc12354ebe9244edf">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#ae157465a4e07d180bab05b5c3a4d8987">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#abceae88cc9762b0ea310d7aad71de815">PercussionOnsetDetector</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="a97ababcd45348ceec998d0f8e0f38bf7"></a><!-- doxytag: member="Vamp::Plugin::getParameter" ref="a97ababcd45348ceec998d0f8e0f38bf7" args="(std::string) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual float Vamp::PluginBase::getParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the value of a named parameter. </p> +<p>The argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#af0c46d4f67ca93be7c76f3ea2e6c8efb">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#ab278c4b6f2ca23248dc94ad775273f39">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a2030b05fb1228b30ace16200780c9152">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a9b28da8315fcde46ce7644d6592ba527">PercussionOnsetDetector</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a6c718ce822f7b73b98940d59dcaa9366"></a><!-- doxytag: member="Vamp::Plugin::setParameter" ref="a6c718ce822f7b73b98940d59dcaa9366" args="(std::string, float)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void Vamp::PluginBase::setParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set a named parameter. </p> +<p>The first argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a29f75395aa75b9de0228aa11edf9c6d6">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#ae1fc37ece4d20e40f3066a3361a99340">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#aa097d72488e1211f05fc661ff5c6dc01">PercussionOnsetDetector</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="abb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="Vamp::Plugin::getPrograms" ref="abb307c60bdb981d5f5af50c3c4ae84af" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the program settings available in this plugin. </p> +<p>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> +<p>The programs must have unique names. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ae0cde5cd625418c1bc470b91f75daafc">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="Vamp::Plugin::getCurrentProgram" ref="a24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the current program. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a34859eff8ca8d862af39be9636ec1867">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="aadd3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="Vamp::Plugin::selectProgram" ref="aadd3a547ef140bae200473a9518e3353" args="(std::string)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void Vamp::PluginBase::selectProgram </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td><code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Select a program. </p> +<p>(If the given program name is not one of the available programs, do nothing.) </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::Plugin::m_inputSampleRate" ref="a59b9dd82a4f4eb946cd0474cc81abc23" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00375">FixedTempoEstimator::D::calculate()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <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="FixedTempoEstimator_8cpp_source.html#l00252">FixedTempoEstimator::D::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00363">FixedTempoEstimator::D::lag2tempo()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00146">SpectralCentroid::process()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">ZeroCrossing::process()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00369">FixedTempoEstimator::D::tempo2lag()</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginAdapter-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1PluginAdapter.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Vamp::PluginAdapter< P > Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter< P ></a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginAdapter.html#a3f387e7e37409e00d32477903b5b13d3">createPlugin</a>(float inputSampleRate)</td><td><a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter< P ></a></td><td><code> [inline, protected, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginAdapterBase.html#ad24595002512f9f00e8e45216d6f5dfb">getDescriptor</a>()</td><td><a class="el" href="classVamp_1_1PluginAdapterBase.html">Vamp::PluginAdapterBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginAdapterBase.html#a0e3594c54884efd5a7ef38030645745b">m_impl</a></td><td><a class="el" href="classVamp_1_1PluginAdapterBase.html">Vamp::PluginAdapterBase</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginAdapter.html#a16312efd629b7063d7b6d67889a2c15a">PluginAdapter</a>()</td><td><a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter< P ></a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginAdapterBase.html#a5dad6a9b4b170c0f284962e125ac988e">PluginAdapterBase</a>()</td><td><a class="el" href="classVamp_1_1PluginAdapterBase.html">Vamp::PluginAdapterBase</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginAdapter.html#a9612c9df7d4844959a36921d43d4bd50">~PluginAdapter</a>()</td><td><a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter< P ></a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginAdapterBase.html#aaa8afd318b6c3da108e1cbcc7e46603d">~PluginAdapterBase</a>()</td><td><a class="el" href="classVamp_1_1PluginAdapterBase.html">Vamp::PluginAdapterBase</a></td><td><code> [virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginAdapter.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,238 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::PluginAdapter< P > Class Template Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1PluginAdapter.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pro-methods">Protected Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">Vamp::PluginAdapter< P > Class Template Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="Vamp::PluginAdapter" --><!-- doxytag: inherits="Vamp::PluginAdapterBase" --> +<p><a class="el" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">PluginAdapter</a> turns a <a class="el" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a> into a specific wrapper for a particular plugin implementation. + <a href="classVamp_1_1PluginAdapter.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="PluginAdapter_8h_source.html">vamp-sdk/PluginAdapter.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for Vamp::PluginAdapter< P >:</div> +<div class="dyncontent"> +<div class="center"><img src="classVamp_1_1PluginAdapter__inherit__graph.png" border="0" usemap="#Vamp_1_1PluginAdapter_3_01P_01_4_inherit__map" alt="Inheritance graph"/></div> +<map name="Vamp_1_1PluginAdapter_3_01P_01_4_inherit__map" id="Vamp_1_1PluginAdapter_3_01P_01_4_inherit__map"> +<area shape="rect" id="node2" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its..." alt="" coords="7,6,165,31"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classVamp_1_1PluginAdapter-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapter.html#a16312efd629b7063d7b6d67889a2c15a">PluginAdapter</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapter.html#a9612c9df7d4844959a36921d43d4bd50">~PluginAdapter</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#ad24595002512f9f00e8e45216d6f5dfb">getDescriptor</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return a VampPluginDescriptor describing the plugin that is wrapped by this adapter. <a href="#ad24595002512f9f00e8e45216d6f5dfb"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pro-methods"></a> +Protected Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapter.html#a3f387e7e37409e00d32477903b5b13d3">createPlugin</a> (float inputSampleRate)</td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">Impl * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#a0e3594c54884efd5a7ef38030645745b">m_impl</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><h3>template<typename P><br/> +class Vamp::PluginAdapter< P ></h3> + +<p><a class="el" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">PluginAdapter</a> turns a <a class="el" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a> into a specific wrapper for a particular plugin implementation. </p> +<p>See <a class="el" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a>. </p> + +<p>Definition at line <a class="el" href="PluginAdapter_8h_source.html#l00095">95</a> of file <a class="el" href="PluginAdapter_8h_source.html">PluginAdapter.h</a>.</p> +</div><hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a16312efd629b7063d7b6d67889a2c15a"></a><!-- doxytag: member="Vamp::PluginAdapter::PluginAdapter" ref="a16312efd629b7063d7b6d67889a2c15a" args="()" --> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<typename P> </div> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter</a>< P >::<a class="el" href="classVamp_1_1PluginAdapter.html">PluginAdapter</a> </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginAdapter_8h_source.html#l00098">98</a> of file <a class="el" href="PluginAdapter_8h_source.html">PluginAdapter.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a9612c9df7d4844959a36921d43d4bd50"></a><!-- doxytag: member="Vamp::PluginAdapter::~PluginAdapter" ref="a9612c9df7d4844959a36921d43d4bd50" args="()" --> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<typename P> </div> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter</a>< P >::~<a class="el" href="classVamp_1_1PluginAdapter.html">PluginAdapter</a> </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginAdapter_8h_source.html#l00099">99</a> of file <a class="el" href="PluginAdapter_8h_source.html">PluginAdapter.h</a>.</p> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="a3f387e7e37409e00d32477903b5b13d3"></a><!-- doxytag: member="Vamp::PluginAdapter::createPlugin" ref="a3f387e7e37409e00d32477903b5b13d3" args="(float inputSampleRate)" --> +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<typename P> </div> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a>* <a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter</a>< P >::createPlugin </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"><em>inputSampleRate</em></td><td>)</td> + <td><code> [inline, protected, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Implements <a class="el" href="classVamp_1_1PluginAdapterBase.html#a9116adb9b7a426f4f0ded15e45a5531b">Vamp::PluginAdapterBase</a>.</p> + +<p>Definition at line <a class="el" href="PluginAdapter_8h_source.html#l00102">102</a> of file <a class="el" href="PluginAdapter_8h_source.html">PluginAdapter.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ad24595002512f9f00e8e45216d6f5dfb"></a><!-- doxytag: member="Vamp::PluginAdapter::getDescriptor" ref="ad24595002512f9f00e8e45216d6f5dfb" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a>* Vamp::PluginAdapterBase::getDescriptor </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return a VampPluginDescriptor describing the plugin that is wrapped by this adapter. </p> + +<p>Referenced by <a class="el" href="plugins_8cpp_source.html#l00054">vampGetPluginDescriptor()</a>.</p> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a0e3594c54884efd5a7ef38030645745b"></a><!-- doxytag: member="Vamp::PluginAdapter::m_impl" ref="a0e3594c54884efd5a7ef38030645745b" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Impl* <a class="el" href="classVamp_1_1PluginAdapterBase.html#a0e3594c54884efd5a7ef38030645745b">Vamp::PluginAdapterBase::m_impl</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginAdapter_8h_source.html#l00081">81</a> of file <a class="el" href="PluginAdapter_8h_source.html">PluginAdapter.h</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="PluginAdapter_8h_source.html">PluginAdapter.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="classVamp_1_1PluginAdapter.html">PluginAdapter</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginAdapterBase-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1PluginAdapterBase.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Vamp::PluginAdapterBase Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classVamp_1_1PluginAdapterBase.html">Vamp::PluginAdapterBase</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginAdapterBase.html#a9116adb9b7a426f4f0ded15e45a5531b">createPlugin</a>(float inputSampleRate)=0</td><td><a class="el" href="classVamp_1_1PluginAdapterBase.html">Vamp::PluginAdapterBase</a></td><td><code> [protected, pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginAdapterBase.html#ad24595002512f9f00e8e45216d6f5dfb">getDescriptor</a>()</td><td><a class="el" href="classVamp_1_1PluginAdapterBase.html">Vamp::PluginAdapterBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginAdapterBase.html#a0e3594c54884efd5a7ef38030645745b">m_impl</a></td><td><a class="el" href="classVamp_1_1PluginAdapterBase.html">Vamp::PluginAdapterBase</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginAdapterBase.html#a5dad6a9b4b170c0f284962e125ac988e">PluginAdapterBase</a>()</td><td><a class="el" href="classVamp_1_1PluginAdapterBase.html">Vamp::PluginAdapterBase</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginAdapterBase.html#aaa8afd318b6c3da108e1cbcc7e46603d">~PluginAdapterBase</a>()</td><td><a class="el" href="classVamp_1_1PluginAdapterBase.html">Vamp::PluginAdapterBase</a></td><td><code> [virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginAdapterBase.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,224 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::PluginAdapterBase Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1PluginAdapterBase.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pro-methods">Protected Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">Vamp::PluginAdapterBase Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="Vamp::PluginAdapterBase" --> +<p><a class="el" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">PluginAdapter</a> and <a class="el" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a> provide a wrapper class that a plugin library can use to make its C++ <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> objects available through the <a class="el" href="namespaceVamp.html">Vamp</a> C API. + <a href="classVamp_1_1PluginAdapterBase.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="PluginAdapter_8h_source.html">vamp-sdk/PluginAdapter.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for Vamp::PluginAdapterBase:</div> +<div class="dyncontent"> +<div class="center"><img src="classVamp_1_1PluginAdapterBase__inherit__graph.png" border="0" usemap="#Vamp_1_1PluginAdapterBase_inherit__map" alt="Inheritance graph"/></div> +<map name="Vamp_1_1PluginAdapterBase_inherit__map" id="Vamp_1_1PluginAdapterBase_inherit__map"> +<area shape="rect" id="node3" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio..." alt="" coords="5,81,168,106"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classVamp_1_1PluginAdapterBase-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#aaa8afd318b6c3da108e1cbcc7e46603d">~PluginAdapterBase</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#ad24595002512f9f00e8e45216d6f5dfb">getDescriptor</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return a VampPluginDescriptor describing the plugin that is wrapped by this adapter. <a href="#ad24595002512f9f00e8e45216d6f5dfb"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pro-methods"></a> +Protected Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#a5dad6a9b4b170c0f284962e125ac988e">PluginAdapterBase</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html">Plugin</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#a9116adb9b7a426f4f0ded15e45a5531b">createPlugin</a> (float inputSampleRate)=0</td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">Impl * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#a0e3594c54884efd5a7ef38030645745b">m_impl</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p><a class="el" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">PluginAdapter</a> and <a class="el" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a> provide a wrapper class that a plugin library can use to make its C++ <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> objects available through the <a class="el" href="namespaceVamp.html">Vamp</a> C API. </p> +<p>Almost all <a class="el" href="namespaceVamp.html">Vamp</a> plugin libraries will want to make use of this. To do so, all they need to do is declare a PluginAdapter<T> for each plugin class T in their library. It's very simple, and you need to know absolutely nothing about how it works in order to use it. Just cut and paste from an existing plugin's discovery function. </p> +<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="plugins_8cpp.html#abb0fd6db76ddd39698bc370e0fd0ea78" title="Get the descriptor for a given plugin index in this library.">vampGetPluginDescriptor</a> </dd></dl> + +<p>Definition at line <a class="el" href="PluginAdapter_8h_source.html#l00065">65</a> of file <a class="el" href="PluginAdapter_8h_source.html">PluginAdapter.h</a>.</p> +</div><hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="aaa8afd318b6c3da108e1cbcc7e46603d"></a><!-- doxytag: member="Vamp::PluginAdapterBase::~PluginAdapterBase" ref="aaa8afd318b6c3da108e1cbcc7e46603d" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual Vamp::PluginAdapterBase::~PluginAdapterBase </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="a5dad6a9b4b170c0f284962e125ac988e"></a><!-- doxytag: member="Vamp::PluginAdapterBase::PluginAdapterBase" ref="a5dad6a9b4b170c0f284962e125ac988e" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Vamp::PluginAdapterBase::PluginAdapterBase </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="ad24595002512f9f00e8e45216d6f5dfb"></a><!-- doxytag: member="Vamp::PluginAdapterBase::getDescriptor" ref="ad24595002512f9f00e8e45216d6f5dfb" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a>* Vamp::PluginAdapterBase::getDescriptor </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return a VampPluginDescriptor describing the plugin that is wrapped by this adapter. </p> + +<p>Referenced by <a class="el" href="plugins_8cpp_source.html#l00054">vampGetPluginDescriptor()</a>.</p> + +</div> +</div> +<a class="anchor" id="a9116adb9b7a426f4f0ded15e45a5531b"></a><!-- doxytag: member="Vamp::PluginAdapterBase::createPlugin" ref="a9116adb9b7a426f4f0ded15e45a5531b" args="(float inputSampleRate)=0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html">Plugin</a>* Vamp::PluginAdapterBase::createPlugin </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"><em>inputSampleRate</em></td><td>)</td> + <td><code> [protected, pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Implemented in <a class="el" href="classVamp_1_1PluginAdapter.html#a3f387e7e37409e00d32477903b5b13d3">Vamp::PluginAdapter< P ></a>.</p> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a0e3594c54884efd5a7ef38030645745b"></a><!-- doxytag: member="Vamp::PluginAdapterBase::m_impl" ref="a0e3594c54884efd5a7ef38030645745b" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Impl* <a class="el" href="classVamp_1_1PluginAdapterBase.html#a0e3594c54884efd5a7ef38030645745b">Vamp::PluginAdapterBase::m_impl</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginAdapter_8h_source.html#l00081">81</a> of file <a class="el" href="PluginAdapter_8h_source.html">PluginAdapter.h</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="PluginAdapter_8h_source.html">PluginAdapter.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="classVamp_1_1PluginAdapterBase.html">PluginAdapterBase</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginAdapterBase__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node3" href="$classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio..." alt="" coords="5,81,168,106"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginAdapterBase__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +4569c9c6c32b74fbfa74700a2924fb33 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginAdapter__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node2" href="$classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its..." alt="" coords="7,6,165,31"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginAdapter__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +f312ca787c956ac63a107eac4f63ee01 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginBase-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,110 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1PluginBase.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Vamp::PluginBase Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">getCopyright</a>() const =0</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">getDescription</a>() const =0</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">getIdentifier</a>() const =0</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">getMaker</a>() const =0</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">getName</a>() const =0</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">getParameter</a>(std::string) const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">getParameterDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">getPluginVersion</a>() const =0</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">getType</a>() const =0</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [pure virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a>(std::string)</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">setParameter</a>(std::string, float)</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a>()</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginBase.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,551 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::PluginBase Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1PluginBase.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> </div> + <div class="headertitle"> +<div class="title">Vamp::PluginBase Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="Vamp::PluginBase" --> +<p>A base class for plugins with optional configurable parameters, programs, etc. + <a href="classVamp_1_1PluginBase.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="vamp-sdk_2PluginBase_8h_source.html">PluginBase.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for Vamp::PluginBase:</div> +<div class="dyncontent"> +<div class="center"><img src="classVamp_1_1PluginBase__inherit__graph.png" border="0" usemap="#Vamp_1_1PluginBase_inherit__map" alt="Inheritance graph"/></div> +<map name="Vamp_1_1PluginBase_inherit__map" id="Vamp_1_1PluginBase_inherit__map"> +<area shape="rect" id="node3" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="174,178,266,203"/><area shape="rect" id="node5" href="classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function." alt="" coords="345,5,468,30"/><area shape="rect" id="node7" href="classFixedTempoEstimator.html" title="Example plugin that estimates the tempo of a short fixed-tempo sample." alt="" coords="338,54,475,79"/><area shape="rect" id="node9" href="classPercussionOnsetDetector.html" title="Example plugin that detects percussive events." alt="" coords="329,103,484,129"/><area shape="rect" id="node11" href="classPowerSpectrum.html" title="Example plugin that returns a power spectrum calculated (trivially) from the frequency domain represe..." alt="" coords="353,153,460,178"/><area shape="rect" id="node13" href="classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation of each b..." alt="" coords="351,202,463,227"/><area shape="rect" id="node15" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="315,251,499,277"/><area shape="rect" id="node25" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri..." alt="" coords="327,301,486,326"/><area shape="rect" id="node27" href="classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero-crossing points in an audio waveform..." alt="" coords="360,350,453,375"/><area shape="rect" id="node17" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an..." alt="" coords="558,178,789,203"/><area shape="rect" id="node19" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that..." alt="" coords="560,227,787,253"/><area shape="rect" id="node21" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma..." alt="" coords="547,277,800,302"/><area shape="rect" id="node23" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an..." alt="" coords="547,326,800,351"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classVamp_1_1PluginBase-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a8fd2c48291c64b790f0efb8948508dcf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">getIdentifier</a> () const =0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#ad1c6dfc77aa03d937a885b7f08258f4a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">getName</a> () const =0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#a18619d5097e444ecefee0c359da53232"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">getDescription</a> () const =0</td></tr> +<tr><td class="mdescLeft"> </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="#a59153a02364f75fff46973b2072e9e5a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">getMaker</a> () const =0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#a53d9918bf9ef4d12feedf66b2b26c637"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">getCopyright</a> () const =0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#ab7e9dedbe965f5ab9018b72920fe7661"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">getPluginVersion</a> () const =0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the version number of the plugin. <a href="#a63f686d77bc3d6b807e7944cdde83151"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">getParameterDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#aac3e49b3b66cacfbb768dfdf07444f21"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">getParameter</a> (std::string) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a named parameter. <a href="#a97ababcd45348ceec998d0f8e0f38bf7"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">setParameter</a> (std::string, float)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a named parameter. <a href="#a6c718ce822f7b73b98940d59dcaa9366"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the program settings available in this plugin. <a href="#abb307c60bdb981d5f5af50c3c4ae84af"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current program. <a href="#a24e77eccf1bdfbbca3c79bb25e8799b3"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a> (std::string)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Select a program. <a href="#aadd3a547ef140bae200473a9518e3353"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">getType</a> () const =0</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the type of plugin. <a href="#a2da03e9ced8dc7e4382205e6dc05dbff"></a><br/></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p>A base class for plugins with optional configurable parameters, programs, etc. </p> +<p>The <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> is derived from this, and individual <a class="el" href="namespaceVamp.html">Vamp</a> plugins should derive from that.</p> +<p>This class does not provide the necessary interfaces to instantiate or run a plugin. It only specifies an interface for retrieving those controls that the host may wish to show to the user for editing. It could meaningfully be subclassed by real-time plugins or other sorts of plugin as well as <a class="el" href="namespaceVamp.html">Vamp</a> plugins. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00064">64</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> +</div><hr/><h2>Member Typedef Documentation</h2> +<a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::PluginBase::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>> <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::PluginBase::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<std::string> <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a3773b37c658cf22d7f135c575a28f5c5"></a><!-- doxytag: member="Vamp::PluginBase::~PluginBase" ref="a3773b37c658cf22d7f135c575a28f5c5" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual Vamp::PluginBase::~PluginBase </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00067">67</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="a8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="Vamp::PluginBase::getVampApiVersion" ref="a8fd2c48291c64b790f0efb8948508dcf" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a98aadddc8403eb46c9d8c5a9d1fdd19e">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="ad1c6dfc77aa03d937a885b7f08258f4a"></a><!-- doxytag: member="Vamp::PluginBase::getIdentifier" ref="ad1c6dfc77aa03d937a885b7f08258f4a" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getIdentifier </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the computer-usable name of the plugin. </p> +<p>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> +<p>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> +<p>Example: "zero_crossings" </p> + +<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ab27423a656f878d97d2ad2eba4e76c7a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a9e9d8349461cbb88d7565a5e8c51b64e">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#afe7576af95c8fcc7f5bad42eec9f9f29">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a1b2c4c8440c024c4c635fcef5697949f">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#af2baf9e19fcdd11cfe97ace56d4f5c1a">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#ab818edcf1555177d10260e197e3a5e7a">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a267c83a7533146c127e2c3be310e0154">PercussionOnsetDetector</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a18619d5097e444ecefee0c359da53232"></a><!-- doxytag: member="Vamp::PluginBase::getName" ref="a18619d5097e444ecefee0c359da53232" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getName </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a human-readable name or title of the plugin. </p> +<p>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> +<p>Example: "Zero Crossings" </p> + +<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a45f1d0377e233eeddd1b7cefb48be62a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#ac9214f9cafeeed3fca549c90aef57623">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a7cfed00bc9d96ba6c709b69ab6a40594">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#ab7e6a620fea568af431be3cfd9dd5a41">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#afa96f7ce6e7d9f03768f48c6a9d88498">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#af9eb6fa8a98aa66b55e64e1795f9405f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#aa98f1ad061a11af98c054011a8844e6f">PercussionOnsetDetector</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00797">printPluginCategoryList()</a>.</p> + +</div> +</div> +<a class="anchor" id="a59153a02364f75fff46973b2072e9e5a"></a><!-- doxytag: member="Vamp::PluginBase::getDescription" ref="a59153a02364f75fff46973b2072e9e5a" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getDescription </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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". </p> +<p>May be empty if the name has said it all already.</p> +<p>Example: "Detect and count zero crossing points" </p> + +<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a5eaafcef030e81b90a3e77cf16cf8ae1">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a7b48d56dc954f3af344f7e4dcd8993e5">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a6f0f2fea1fdb4b51e688edfe859d5062">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a8fbb74a46283057d9a0b0e4718ee943c">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#a710bb0b013157adaeef2a9e6867b4478">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a06b00853f00c2e78d490697fcd7d1920">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a9061d189705802a48973a7ccab6360db">PercussionOnsetDetector</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00797">printPluginCategoryList()</a>.</p> + +</div> +</div> +<a class="anchor" id="a53d9918bf9ef4d12feedf66b2b26c637"></a><!-- doxytag: member="Vamp::PluginBase::getMaker" ref="a53d9918bf9ef4d12feedf66b2b26c637" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getMaker </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the name of the author or vendor of the plugin in human-readable form. </p> +<p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p> + +<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#af572be0b175f5661559006a380a0f3db">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a9f3e3f759e2b67c771a41f1c276984b2">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a44fc43838f203f58bc2ce6e3cb2b03dd">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#ac01ff858bf67e2e93ad5d24a6ba8c8c8">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#ac68561634a3c329a029c2fd3deaeae2a">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#ae910d1b9250b11097fd6b51cd8285b68">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a63d63f2cb7ea8d8b09d58cc13b541375">PercussionOnsetDetector</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00797">printPluginCategoryList()</a>.</p> + +</div> +</div> +<a class="anchor" id="ab7e9dedbe965f5ab9018b72920fe7661"></a><!-- doxytag: member="Vamp::PluginBase::getCopyright" ref="ab7e9dedbe965f5ab9018b72920fe7661" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getCopyright </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the copyright statement or licensing summary for the plugin. </p> +<p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p> + +<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ac73c9d6baad04369beee695e99584815">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a708b4d335c57643d5ef2b2e1caf43bd9">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a0c197fc90f30d91cb4403115c83c9134">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a925747d513d598e0fa21ed0ed6520980">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#af9c41b92aa8ff8bddaebf75569ff789c">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a50c6b64530c84c0707ba3936c5022a48">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a1a22ece271330c94cc08798a77416351">PercussionOnsetDetector</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="a63f686d77bc3d6b807e7944cdde83151"></a><!-- doxytag: member="Vamp::PluginBase::getPluginVersion" ref="a63f686d77bc3d6b807e7944cdde83151" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual int Vamp::PluginBase::getPluginVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the version number of the plugin. </p> + +<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a6fbd94781867ca46a20368c2a3593c77">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#ad23d27e4e82f10404a37b933f6a72c33">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a8a5d7a834eb996d517c51f84b2a72250">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#af64622e66bf678ac2b0b58aa832ca2b3">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#ad685f6c2f443f07a1634550c335571eb">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#ad002fddb3735c2dd7e31e6a9def9949f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#ad6b818dbd81867ce7be71c99cae861be">PercussionOnsetDetector</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="aac3e49b3b66cacfbb768dfdf07444f21"></a><!-- doxytag: member="Vamp::PluginBase::getParameterDescriptors" ref="aac3e49b3b66cacfbb768dfdf07444f21" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginBase::getParameterDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the controllable parameters of this plugin. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a602faa0bfaae83e2ca53b36292271a76">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#a9df01323a09e117bc12354ebe9244edf">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#ae157465a4e07d180bab05b5c3a4d8987">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#abceae88cc9762b0ea310d7aad71de815">PercussionOnsetDetector</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="a97ababcd45348ceec998d0f8e0f38bf7"></a><!-- doxytag: member="Vamp::PluginBase::getParameter" ref="a97ababcd45348ceec998d0f8e0f38bf7" args="(std::string) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual float Vamp::PluginBase::getParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the value of a named parameter. </p> +<p>The argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#af0c46d4f67ca93be7c76f3ea2e6c8efb">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#ab278c4b6f2ca23248dc94ad775273f39">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a2030b05fb1228b30ace16200780c9152">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a9b28da8315fcde46ce7644d6592ba527">PercussionOnsetDetector</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a6c718ce822f7b73b98940d59dcaa9366"></a><!-- doxytag: member="Vamp::PluginBase::setParameter" ref="a6c718ce822f7b73b98940d59dcaa9366" args="(std::string, float)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void Vamp::PluginBase::setParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set a named parameter. </p> +<p>The first argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a29f75395aa75b9de0228aa11edf9c6d6">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#ae1fc37ece4d20e40f3066a3361a99340">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#aa097d72488e1211f05fc661ff5c6dc01">PercussionOnsetDetector</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="abb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="Vamp::PluginBase::getPrograms" ref="abb307c60bdb981d5f5af50c3c4ae84af" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the program settings available in this plugin. </p> +<p>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> +<p>The programs must have unique names. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ae0cde5cd625418c1bc470b91f75daafc">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="Vamp::PluginBase::getCurrentProgram" ref="a24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the current program. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a34859eff8ca8d862af39be9636ec1867">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="aadd3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="Vamp::PluginBase::selectProgram" ref="aadd3a547ef140bae200473a9518e3353" args="(std::string)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void Vamp::PluginBase::selectProgram </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td><code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Select a program. </p> +<p>(If the given program name is not one of the available programs, do nothing.) </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a2da03e9ced8dc7e4382205e6dc05dbff"></a><!-- doxytag: member="Vamp::PluginBase::getType" ref="a2da03e9ced8dc7e4382205e6dc05dbff" args="() const =0" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getType </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [pure virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the type of plugin. </p> +<p>This is to be implemented by the immediate subclass, not by actual plugins. Do not attempt to implement this in plugin code. </p> + +<p>Implemented in <a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">Vamp::Plugin</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="classVamp_1_1PluginBase.html">PluginBase</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginBase__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,15 @@ +<map id="G" name="G"> +<area shape="rect" id="node3" href="$classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="174,178,266,203"/> +<area shape="rect" id="node5" href="$classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function." alt="" coords="345,5,468,30"/> +<area shape="rect" id="node7" href="$classFixedTempoEstimator.html" title="Example plugin that estimates the tempo of a short fixed-tempo sample." alt="" coords="338,54,475,79"/> +<area shape="rect" id="node9" href="$classPercussionOnsetDetector.html" title="Example plugin that detects percussive events." alt="" coords="329,103,484,129"/> +<area shape="rect" id="node11" href="$classPowerSpectrum.html" title="Example plugin that returns a power spectrum calculated (trivially) from the frequency domain represe..." alt="" coords="353,153,460,178"/> +<area shape="rect" id="node13" href="$classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation of each b..." alt="" coords="351,202,463,227"/> +<area shape="rect" id="node15" href="$classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="315,251,499,277"/> +<area shape="rect" id="node25" href="$classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri..." alt="" coords="327,301,486,326"/> +<area shape="rect" id="node27" href="$classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero-crossing points in an audio waveform..." alt="" coords="360,350,453,375"/> +<area shape="rect" id="node17" href="$classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an..." alt="" coords="558,178,789,203"/> +<area shape="rect" id="node19" href="$classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that..." alt="" coords="560,227,787,253"/> +<area shape="rect" id="node21" href="$classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma..." alt="" coords="547,277,800,302"/> +<area shape="rect" id="node23" href="$classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an..." alt="" coords="547,326,800,351"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginBase__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +da9feec0bcf181e5e0ad0867eb4bd7fe \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginHostAdapter-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1PluginHostAdapter.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Vamp::PluginHostAdapter Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#aee417a4c9ba9dbb63777c963d5f9452a">convertFeatures</a>(VampFeatureList *, FeatureSet &)</td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#ac73c9d6baad04369beee695e99584815">getCopyright</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a34859eff8ca8d862af39be9636ec1867">getCurrentProgram</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a5eaafcef030e81b90a3e77cf16cf8ae1">getDescription</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#ab27423a656f878d97d2ad2eba4e76c7a">getIdentifier</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a8e9d25673367c741631a60cbb36e91d2">getInputDomain</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#af572be0b175f5661559006a380a0f3db">getMaker</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a25091905e97e39d515d8ffc1a9f2b9e0">getMaxChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a67d1198c0e58d3f0076d0eda599ff28d">getMinChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a45f1d0377e233eeddd1b7cefb48be62a">getName</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a9649a113da0252fe8bd9fc731b047ae0">getOutputDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#af0c46d4f67ca93be7c76f3ea2e6c8efb">getParameter</a>(std::string) const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a602faa0bfaae83e2ca53b36292271a76">getParameterDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a09cbfb7903d28f10d6d556c6cb81c5f6">getPluginPath</a>()</td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [static]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a6fbd94781867ca46a20368c2a3593c77">getPluginVersion</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#ad5e0ea8042bdec4dd18428991117e07a">getPreferredBlockSize</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a859ad5d59402691daed3cf1af1899ebe">getPreferredStepSize</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#ae0cde5cd625418c1bc470b91f75daafc">getPrograms</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a984a4c11f3fbdcfd90e4837b1619a5ab">getRemainingFeatures</a>()</td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a98aadddc8403eb46c9d8c5a9d1fdd19e">getVampApiVersion</a>() const </td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#add6a2f1ee7e47bd97fa599cead14b738">initialise</a>(size_t channels, size_t stepSize, size_t blockSize)</td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> enum name</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a0c9f252aca8ac298e30cadd0de032ec2">m_descriptor</a></td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a02ebd03b226b4a467cad747ce77e79ee">m_handle</a></td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a>(float inputSampleRate)</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a6535abd551acfbbaab381bbe1268cd49">PluginHostAdapter</a>(const VampPluginDescriptor *descriptor, float inputSampleRate)</td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a38fe1080b343ba10e5d8a4b30c87cbdd">process</a>(const float *const *inputBuffers, RealTime timestamp)</td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a5d54c5bbd76bc27b7a243827148afeaa">reset</a>()</td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f5515ab34cc13d9403ccc6b4b788683">selectProgram</a>(std::string)</td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#a29f75395aa75b9de0228aa11edf9c6d6">setParameter</a>(std::string, float)</td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a>()</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a>()</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginHostAdapter.html#aed66c091340aa668d3be89c4b4c24474">~PluginHostAdapter</a>()</td><td><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></td><td><code> [virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginHostAdapter.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,988 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::PluginHostAdapter Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classVamp_1_1PluginHostAdapter.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pub-static-methods">Static Public Member Functions</a> | +<a href="#pro-methods">Protected Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">Vamp::PluginHostAdapter Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="Vamp::PluginHostAdapter" --><!-- doxytag: inherits="Vamp::Plugin" --> +<p><a class="el" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri...">PluginHostAdapter</a> is a wrapper class that a <a class="el" href="namespaceVamp.html">Vamp</a> host can use to make the C-language VampPluginDescriptor object appear as a C++ <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> object. + <a href="classVamp_1_1PluginHostAdapter.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="PluginHostAdapter_8h_source.html">vamp-hostsdk/PluginHostAdapter.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for Vamp::PluginHostAdapter:</div> +<div class="dyncontent"> +<div class="center"><img src="classVamp_1_1PluginHostAdapter__inherit__graph.png" border="0" usemap="#Vamp_1_1PluginHostAdapter_inherit__map" alt="Inheritance graph"/></div> +<map name="Vamp_1_1PluginHostAdapter_inherit__map" id="Vamp_1_1PluginHostAdapter_inherit__map"> +<area shape="rect" id="node2" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="38,81,129,106"/><area shape="rect" id="node4" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="25,6,143,31"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classVamp_1_1PluginHostAdapter-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, +<a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> + }</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< int, <br class="typebreak"/> +<a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a6535abd551acfbbaab381bbe1268cd49">PluginHostAdapter</a> (const <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a> *descriptor, float inputSampleRate)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#aed66c091340aa668d3be89c4b4c24474">~PluginHostAdapter</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#add6a2f1ee7e47bd97fa599cead14b738">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr> +<tr><td class="mdescLeft"> </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="#add6a2f1ee7e47bd97fa599cead14b738"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a5d54c5bbd76bc27b7a243827148afeaa">reset</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#a5d54c5bbd76bc27b7a243827148afeaa"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a8e9d25673367c741631a60cbb36e91d2">getInputDomain</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the plugin's required input domain. <a href="#a8e9d25673367c741631a60cbb36e91d2"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a98aadddc8403eb46c9d8c5a9d1fdd19e">getVampApiVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a98aadddc8403eb46c9d8c5a9d1fdd19e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#ab27423a656f878d97d2ad2eba4e76c7a">getIdentifier</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#ab27423a656f878d97d2ad2eba4e76c7a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a45f1d0377e233eeddd1b7cefb48be62a">getName</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#a45f1d0377e233eeddd1b7cefb48be62a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a5eaafcef030e81b90a3e77cf16cf8ae1">getDescription</a> () const </td></tr> +<tr><td class="mdescLeft"> </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="#a5eaafcef030e81b90a3e77cf16cf8ae1"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#af572be0b175f5661559006a380a0f3db">getMaker</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#af572be0b175f5661559006a380a0f3db"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a6fbd94781867ca46a20368c2a3593c77">getPluginVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the version number of the plugin. <a href="#a6fbd94781867ca46a20368c2a3593c77"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#ac73c9d6baad04369beee695e99584815">getCopyright</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#ac73c9d6baad04369beee695e99584815"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a602faa0bfaae83e2ca53b36292271a76">getParameterDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#a602faa0bfaae83e2ca53b36292271a76"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#af0c46d4f67ca93be7c76f3ea2e6c8efb">getParameter</a> (std::string) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a named parameter. <a href="#af0c46d4f67ca93be7c76f3ea2e6c8efb"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a29f75395aa75b9de0228aa11edf9c6d6">setParameter</a> (std::string, float)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a named parameter. <a href="#a29f75395aa75b9de0228aa11edf9c6d6"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#ae0cde5cd625418c1bc470b91f75daafc">getPrograms</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the program settings available in this plugin. <a href="#ae0cde5cd625418c1bc470b91f75daafc"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a34859eff8ca8d862af39be9636ec1867">getCurrentProgram</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current program. <a href="#a34859eff8ca8d862af39be9636ec1867"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f5515ab34cc13d9403ccc6b4b788683">selectProgram</a> (std::string)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Select a program. <a href="#a8f5515ab34cc13d9403ccc6b4b788683"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a859ad5d59402691daed3cf1af1899ebe">getPreferredStepSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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_1PluginHostAdapter.html#a38fe1080b343ba10e5d8a4b30c87cbdd" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#a859ad5d59402691daed3cf1af1899ebe"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#ad5e0ea8042bdec4dd18428991117e07a">getPreferredBlockSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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_1PluginHostAdapter.html#a38fe1080b343ba10e5d8a4b30c87cbdd" title="Process a single block of input data.">process()</a> function). <a href="#ad5e0ea8042bdec4dd18428991117e07a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a67d1198c0e58d3f0076d0eda599ff28d">getMinChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a67d1198c0e58d3f0076d0eda599ff28d"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a25091905e97e39d515d8ffc1a9f2b9e0">getMaxChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a25091905e97e39d515d8ffc1a9f2b9e0"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a9649a113da0252fe8bd9fc731b047ae0">getOutputDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the outputs of this plugin. <a href="#a9649a113da0252fe8bd9fc731b047ae0"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a38fe1080b343ba10e5d8a4b30c87cbdd">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Process a single block of input data. <a href="#a38fe1080b343ba10e5d8a4b30c87cbdd"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a984a4c11f3fbdcfd90e4837b1619a5ab">getRemainingFeatures</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#a984a4c11f3fbdcfd90e4837b1619a5ab"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr> +<tr><td class="mdescLeft"> </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 from audio o...">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="#abe13b3997a69fbcc09e2213faa352f91"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pub-static-methods"></a> +Static Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a09cbfb7903d28f10d6d556c6cb81c5f6">getPluginPath</a> ()</td></tr> +<tr><td colspan="2"><h2><a name="pro-methods"></a> +Protected Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#aee417a4c9ba9dbb63777c963d5f9452a">convertFeatures</a> (<a class="el" href="vamp_8h.html#a5f257e3f8b5ca1ca4c159d486e219078">VampFeatureList</a> *, <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> &)</td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a0c9f252aca8ac298e30cadd0de032ec2">m_descriptor</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html#a02ebd03b226b4a467cad747ce77e79ee">m_handle</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p><a class="el" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri...">PluginHostAdapter</a> is a wrapper class that a <a class="el" href="namespaceVamp.html">Vamp</a> host can use to make the C-language VampPluginDescriptor object appear as a C++ <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> object. </p> +<p>The <a class="el" href="namespaceVamp.html">Vamp</a> API is defined in <a class="el" href="vamp_8h.html">vamp/vamp.h</a> as a C API. The C++ objects used for convenience by plugins and hosts actually communicate using the C low-level API, but the details of this communication are handled seamlessly by the <a class="el" href="namespaceVamp.html">Vamp</a> SDK implementation provided the plugin and host use the proper C++ wrapper objects.</p> +<p>See also <a class="el" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">PluginAdapter</a>, the plugin-side wrapper that makes a C++ plugin object available using the C query API. </p> + +<p>Definition at line <a class="el" href="PluginHostAdapter_8h_source.html#l00068">68</a> of file <a class="el" href="PluginHostAdapter_8h_source.html">PluginHostAdapter.h</a>.</p> +</div><hr/><h2>Member Typedef Documentation</h2> +<a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::PluginHostAdapter::OutputList" ref="a30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>> <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::PluginHostAdapter::FeatureList" ref="a0730bc72c87fa02eb8d2854b233f7be1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>> <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::PluginHostAdapter::FeatureSet" ref="a448fb57dc245d47923ec9eeaf9856c5f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::map<int, <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>> <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::PluginHostAdapter::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>> <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::PluginHostAdapter::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<std::string> <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<hr/><h2>Member Enumeration Documentation</h2> +<a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::PluginHostAdapter::InputDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<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> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a6535abd551acfbbaab381bbe1268cd49"></a><!-- doxytag: member="Vamp::PluginHostAdapter::PluginHostAdapter" ref="a6535abd551acfbbaab381bbe1268cd49" args="(const VampPluginDescriptor *descriptor, float inputSampleRate)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Vamp::PluginHostAdapter::PluginHostAdapter </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a> * </td> + <td class="paramname"><em>descriptor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"><em>inputSampleRate</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="aed66c091340aa668d3be89c4b4c24474"></a><!-- doxytag: member="Vamp::PluginHostAdapter::~PluginHostAdapter" ref="aed66c091340aa668d3be89c4b4c24474" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual Vamp::PluginHostAdapter::~PluginHostAdapter </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="a09cbfb7903d28f10d6d556c6cb81c5f6"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getPluginPath" ref="a09cbfb7903d28f10d6d556c6cb81c5f6" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">static std::vector<std::string> Vamp::PluginHostAdapter::getPluginPath </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="add6a2f1ee7e47bd97fa599cead14b738"></a><!-- doxytag: member="Vamp::PluginHostAdapter::initialise" ref="add6a2f1ee7e47bd97fa599cead14b738" args="(size_t channels, size_t stepSize, size_t blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool Vamp::PluginHostAdapter::initialise </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>inputChannels</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>stepSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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). </p> +<p>The input sample rate should have been already specified at construction time.</p> +<p>Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a5d54c5bbd76bc27b7a243827148afeaa"></a><!-- doxytag: member="Vamp::PluginHostAdapter::reset" ref="a5d54c5bbd76bc27b7a243827148afeaa" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::PluginHostAdapter::reset </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Reset the plugin after use, to prepare it for another clean run. </p> +<p>Not called for the first initialisation (i.e. initialise must also do a reset). </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a8e9d25673367c741631a60cbb36e91d2"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getInputDomain" ref="a8e9d25673367c741631a60cbb36e91d2" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::PluginHostAdapter::getInputDomain </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the plugin's required input domain. </p> +<p>If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1PluginHostAdapter.html#a38fe1080b343ba10e5d8a4b30c87cbdd" 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> +<p>If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classVamp_1_1PluginHostAdapter.html#a38fe1080b343ba10e5d8a4b30c87cbdd" 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. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a98aadddc8403eb46c9d8c5a9d1fdd19e"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getVampApiVersion" ref="a98aadddc8403eb46c9d8c5a9d1fdd19e" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int Vamp::PluginHostAdapter::getVampApiVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ab27423a656f878d97d2ad2eba4e76c7a"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getIdentifier" ref="ab27423a656f878d97d2ad2eba4e76c7a" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::PluginHostAdapter::getIdentifier </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the computer-usable name of the plugin. </p> +<p>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> +<p>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> +<p>Example: "zero_crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a45f1d0377e233eeddd1b7cefb48be62a"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getName" ref="a45f1d0377e233eeddd1b7cefb48be62a" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::PluginHostAdapter::getName </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a human-readable name or title of the plugin. </p> +<p>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> +<p>Example: "Zero Crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a5eaafcef030e81b90a3e77cf16cf8ae1"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getDescription" ref="a5eaafcef030e81b90a3e77cf16cf8ae1" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::PluginHostAdapter::getDescription </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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". </p> +<p>May be empty if the name has said it all already.</p> +<p>Example: "Detect and count zero crossing points" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="af572be0b175f5661559006a380a0f3db"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getMaker" ref="af572be0b175f5661559006a380a0f3db" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::PluginHostAdapter::getMaker </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the name of the author or vendor of the plugin in human-readable form. </p> +<p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a6fbd94781867ca46a20368c2a3593c77"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getPluginVersion" ref="a6fbd94781867ca46a20368c2a3593c77" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int Vamp::PluginHostAdapter::getPluginVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the version number of the plugin. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ac73c9d6baad04369beee695e99584815"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getCopyright" ref="ac73c9d6baad04369beee695e99584815" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::PluginHostAdapter::getCopyright </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the copyright statement or licensing summary for the plugin. </p> +<p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a602faa0bfaae83e2ca53b36292271a76"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getParameterDescriptors" ref="a602faa0bfaae83e2ca53b36292271a76" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginHostAdapter::getParameterDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the controllable parameters of this plugin. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="af0c46d4f67ca93be7c76f3ea2e6c8efb"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getParameter" ref="af0c46d4f67ca93be7c76f3ea2e6c8efb" args="(std::string) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float Vamp::PluginHostAdapter::getParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the value of a named parameter. </p> +<p>The argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a29f75395aa75b9de0228aa11edf9c6d6"></a><!-- doxytag: member="Vamp::PluginHostAdapter::setParameter" ref="a29f75395aa75b9de0228aa11edf9c6d6" args="(std::string, float)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::PluginHostAdapter::setParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set a named parameter. </p> +<p>The first argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="ae0cde5cd625418c1bc470b91f75daafc"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getPrograms" ref="ae0cde5cd625418c1bc470b91f75daafc" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginHostAdapter::getPrograms </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the program settings available in this plugin. </p> +<p>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> +<p>The programs must have unique names. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a34859eff8ca8d862af39be9636ec1867"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getCurrentProgram" ref="a34859eff8ca8d862af39be9636ec1867" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::PluginHostAdapter::getCurrentProgram </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the current program. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a8f5515ab34cc13d9403ccc6b4b788683"></a><!-- doxytag: member="Vamp::PluginHostAdapter::selectProgram" ref="a8f5515ab34cc13d9403ccc6b4b788683" args="(std::string)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::PluginHostAdapter::selectProgram </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Select a program. </p> +<p>(If the given program name is not one of the available programs, do nothing.) </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">Vamp::PluginBase</a>.</p> + +</div> +</div> +<a class="anchor" id="a859ad5d59402691daed3cf1af1899ebe"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getPreferredStepSize" ref="a859ad5d59402691daed3cf1af1899ebe" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::PluginHostAdapter::getPreferredStepSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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_1PluginHostAdapter.html#a38fe1080b343ba10e5d8a4b30c87cbdd" title="Process a single block of input data.">process()</a> function) for the plugin. </p> +<p>This should be called before <a class="el" href="classVamp_1_1PluginHostAdapter.html#add6a2f1ee7e47bd97fa599cead14b738" title="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).">initialise()</a>.</p> +<p>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_1PluginHostAdapter.html#add6a2f1ee7e47bd97fa599cead14b738" title="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).">initialise()</a> call. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="ad5e0ea8042bdec4dd18428991117e07a"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getPreferredBlockSize" ref="ad5e0ea8042bdec4dd18428991117e07a" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::PluginHostAdapter::getPreferredBlockSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1PluginHostAdapter.html#a38fe1080b343ba10e5d8a4b30c87cbdd" title="Process a single block of input data.">process()</a> function). </p> +<p>This should be called before <a class="el" href="classVamp_1_1PluginHostAdapter.html#add6a2f1ee7e47bd97fa599cead14b738" title="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).">initialise()</a>.</p> +<p>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_1PluginHostAdapter.html#add6a2f1ee7e47bd97fa599cead14b738" title="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).">initialise()</a> call. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a67d1198c0e58d3f0076d0eda599ff28d"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getMinChannelCount" ref="a67d1198c0e58d3f0076d0eda599ff28d" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::PluginHostAdapter::getMinChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the minimum supported number of input channels. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a25091905e97e39d515d8ffc1a9f2b9e0"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getMaxChannelCount" ref="a25091905e97e39d515d8ffc1a9f2b9e0" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t Vamp::PluginHostAdapter::getMaxChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the maximum supported number of input channels. </p> + +<p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a9649a113da0252fe8bd9fc731b047ae0"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getOutputDescriptors" ref="a9649a113da0252fe8bd9fc731b047ae0" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::PluginHostAdapter::getOutputDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the outputs of this plugin. </p> +<p>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="classVamp_1_1PluginHostAdapter.html#a38fe1080b343ba10e5d8a4b30c87cbdd" title="Process a single block of input data.">process()</a> call. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a38fe1080b343ba10e5d8a4b30c87cbdd"></a><!-- doxytag: member="Vamp::PluginHostAdapter::process" ref="a38fe1080b343ba10e5d8a4b30c87cbdd" args="(const float *const *inputBuffers, RealTime timestamp)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::PluginHostAdapter::process </td> + <td>(</td> + <td class="paramtype">const float *const * </td> + <td class="paramname"><em>inputBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td> + <td class="paramname"><em>timestamp</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Process a single block of input data. </p> +<p>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> +<p>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> +<p>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.) </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="a984a4c11f3fbdcfd90e4837b1619a5ab"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getRemainingFeatures" ref="a984a4c11f3fbdcfd90e4837b1619a5ab" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::PluginHostAdapter::getRemainingFeatures </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a>.</p> + +</div> +</div> +<a class="anchor" id="aee417a4c9ba9dbb63777c963d5f9452a"></a><!-- doxytag: member="Vamp::PluginHostAdapter::convertFeatures" ref="aee417a4c9ba9dbb63777c963d5f9452a" args="(VampFeatureList *, FeatureSet &)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void Vamp::PluginHostAdapter::convertFeatures </td> + <td>(</td> + <td class="paramtype"><a class="el" href="vamp_8h.html#a5f257e3f8b5ca1ca4c159d486e219078">VampFeatureList</a> * </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> & </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::PluginHostAdapter::getType" ref="abe13b3997a69fbcc09e2213faa352f91" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::Plugin::getType </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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 from audio o...">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>. </p> +<p>Do not reimplement this function in your subclass. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a0c9f252aca8ac298e30cadd0de032ec2"></a><!-- doxytag: member="Vamp::PluginHostAdapter::m_descriptor" ref="a0c9f252aca8ac298e30cadd0de032ec2" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a>* <a class="el" href="classVamp_1_1PluginHostAdapter.html#a0c9f252aca8ac298e30cadd0de032ec2">Vamp::PluginHostAdapter::m_descriptor</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginHostAdapter_8h_source.html#l00113">113</a> of file <a class="el" href="PluginHostAdapter_8h_source.html">PluginHostAdapter.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a02ebd03b226b4a467cad747ce77e79ee"></a><!-- doxytag: member="Vamp::PluginHostAdapter::m_handle" ref="a02ebd03b226b4a467cad747ce77e79ee" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a> <a class="el" href="classVamp_1_1PluginHostAdapter.html#a02ebd03b226b4a467cad747ce77e79ee">Vamp::PluginHostAdapter::m_handle</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="PluginHostAdapter_8h_source.html#l00114">114</a> of file <a class="el" href="PluginHostAdapter_8h_source.html">PluginHostAdapter.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::PluginHostAdapter::m_inputSampleRate" ref="a59b9dd82a4f4eb946cd0474cc81abc23" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00375">FixedTempoEstimator::D::calculate()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <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="FixedTempoEstimator_8cpp_source.html#l00252">FixedTempoEstimator::D::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00363">FixedTempoEstimator::D::lag2tempo()</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>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00369">FixedTempoEstimator::D::tempo2lag()</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="PluginHostAdapter_8h_source.html">PluginHostAdapter.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="classVamp_1_1PluginHostAdapter.html">PluginHostAdapter</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginHostAdapter__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,4 @@ +<map id="G" name="G"> +<area shape="rect" id="node2" href="$classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="38,81,129,106"/> +<area shape="rect" id="node4" href="$classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="25,6,143,31"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1PluginHostAdapter__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +2992e89428ff4fe754343c5ad5231eb9 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1Plugin__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,15 @@ +<map id="G" name="G"> +<area shape="rect" id="node5" href="$classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function." alt="" coords="345,5,468,30"/> +<area shape="rect" id="node7" href="$classFixedTempoEstimator.html" title="Example plugin that estimates the tempo of a short fixed-tempo sample." alt="" coords="338,54,475,79"/> +<area shape="rect" id="node9" href="$classPercussionOnsetDetector.html" title="Example plugin that detects percussive events." alt="" coords="329,103,484,129"/> +<area shape="rect" id="node11" href="$classPowerSpectrum.html" title="Example plugin that returns a power spectrum calculated (trivially) from the frequency domain represe..." alt="" coords="353,153,460,178"/> +<area shape="rect" id="node13" href="$classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation of each b..." alt="" coords="351,202,463,227"/> +<area shape="rect" id="node15" href="$classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="315,251,499,277"/> +<area shape="rect" id="node25" href="$classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri..." alt="" coords="327,301,486,326"/> +<area shape="rect" id="node27" href="$classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero-crossing points in an audio waveform..." alt="" coords="360,350,453,375"/> +<area shape="rect" id="node2" href="$classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="6,178,125,203"/> +<area shape="rect" id="node17" href="$classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an..." alt="" coords="558,178,789,203"/> +<area shape="rect" id="node19" href="$classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that..." alt="" coords="560,227,787,253"/> +<area shape="rect" id="node21" href="$classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma..." alt="" coords="547,277,800,302"/> +<area shape="rect" id="node23" href="$classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an..." alt="" coords="547,326,800,351"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1Plugin__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +f76e0377de46d8a56f43bb69e9f014ea \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classVamp_1_1RealTime-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,120 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('structVamp_1_1RealTime.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Vamp::RealTime Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#a939b4b1d1ca190db69a418883f16ce8a">frame2RealTime</a>(long frame, unsigned int sampleRate)</td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [static]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#a6992d9959fc4f19c11a98f17506f4905">fromMilliseconds</a>(int msec)</td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [static]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#ae29ae57d19c66f256839988a0959c6bb">fromSeconds</a>(double sec)</td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [static]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#a7f1e1e35ca5196283b2086e3d9cd9d3b">fromTimeval</a>(const struct timeval &)</td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [static]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#a76e22815db51ae180c38021110da9947">msec</a>() const </td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#a2078835bef7bb92514a65b6051cfc6c8">nsec</a></td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#ae9b0ea7c217163d5327b1a2a0662a90b">operator!=</a>(const RealTime &r) const </td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#a6b74748d1eb4c3c751e7a12aefae0bde">operator+</a>(const RealTime &r) const </td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#af0360b5b0d23a464025a6823912c6291">operator-</a>(const RealTime &r) const </td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#af62915355c482f2e1611a52a7f17f5ed">operator-</a>() const </td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#ac88cda961da5cb728d823b29c5456c06">operator/</a>(int d) const </td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#aa6e50a94c81a1448ec1d61421ccf6e3f">operator/</a>(const RealTime &r) const </td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#a78e378a5dd0137a6514dca18edda6f9a">operator<</a>(const RealTime &r) const </td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#acf4278eec678c558d62bbda6bc1da44e">operator<=</a>(const RealTime &r) const </td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#adb82f838804a9a3ad49988de5944d090">operator=</a>(const RealTime &r)</td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#abc5f06b5b9973012cb7453192df3ea5e">operator==</a>(const RealTime &r) const </td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#a6f0aced679e2f97133ed63c688b335e4">operator></a>(const RealTime &r) const </td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#a5cb785a410e3a91ed3092b7bba22afc3">operator>=</a>(const RealTime &r) const </td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#ad703be11b7beb07af08ddf133aa2ae79">RealTime</a>()</td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#a75b2f0af2f9c49e649f8d30b452b049d">RealTime</a>(int s, int n)</td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#a8f4dbd8ef24a0ec6a77dce67fff5434e">RealTime</a>(const RealTime &r)</td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#ac046c73d88da6715e55b12e10534bb5c">realTime2Frame</a>(const RealTime &r, unsigned int sampleRate)</td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [static]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a></td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#ad44476618183bd736996a87292d03c07">toString</a>() const </td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#ad75b927afadfa422ae512d169ccda0aa">toText</a>(bool fixedDp=false) const </td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#aace9e2c60af62273e45ccd98d623914c">usec</a>() const </td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1RealTime.html#abe453371597710148b0fd19bb452f8a9">zeroTime</a></td><td><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td><td><code> [static]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classZeroCrossing-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,133 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classZeroCrossing.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">ZeroCrossing Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="classZeroCrossing.html">ZeroCrossing</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#af9c41b92aa8ff8bddaebf75569ff789c">getCopyright</a>() const </td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#a710bb0b013157adaeef2a9e6867b4478">getDescription</a>() const </td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#af2baf9e19fcdd11cfe97ace56d4f5c1a">getIdentifier</a>() const </td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#aafe2ce6ebd353a14c40db7e8e60f4051">getInputDomain</a>() const </td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#ac68561634a3c329a029c2fd3deaeae2a">getMaker</a>() const </td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">getMinChannelCount</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#afa96f7ce6e7d9f03768f48c6a9d88498">getName</a>() const </td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#ac9d590a6feb1fc9a37d7892aefe2b688">getOutputDescriptors</a>() const </td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">getParameter</a>(std::string) const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">getParameterDescriptors</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#ad685f6c2f443f07a1634550c335571eb">getPluginVersion</a>() const </td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">getPreferredBlockSize</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">getPreferredStepSize</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#a70996d1b7166e303903daf92a9a37ad8">getRemainingFeatures</a>()</td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a>() const </td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a>() const </td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#af21bbcc87a6eb7875dfab7d86222dccc">initialise</a>(size_t channels, size_t stepSize, size_t blockSize)</td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> enum name</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#a0f2d9f2cab0a8a30344e1f2c0ebb8ee8">m_previousSample</a></td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#a584f100b87c78f9af9da040d79567d52">m_stepSize</a></td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td><code> [protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> typedef</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Plugin</a>(float inputSampleRate)</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, protected]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#abf4aaa6fd8cc03de63f4e1e8942633da">process</a>(const float *const *inputBuffers, Vamp::RealTime timestamp)</td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> typedef</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#a9ae6c4a31ea027dceb1e97ead807e228">reset</a>()</td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td><code> [virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a>(std::string)</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">setParameter</a>(std::string, float)</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a> enum value</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#a9855153a54bdc9ba75cc1a705a149473">ZeroCrossing</a>(float inputSampleRate)</td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a>()</td><td><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a>()</td><td><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td><td><code> [inline, virtual]</code></td></tr> + <tr class="memlist"><td><a class="el" href="classZeroCrossing.html#af1de0da862e6e2443581e4e16044675b">~ZeroCrossing</a>()</td><td><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></td><td><code> [virtual]</code></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classZeroCrossing.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1001 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: ZeroCrossing Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classZeroCrossing.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pro-attribs">Protected Attributes</a> </div> + <div class="headertitle"> +<div class="title">ZeroCrossing Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="ZeroCrossing" --><!-- doxytag: inherits="Vamp::Plugin" --> +<p>Example plugin that calculates the positions and density of zero-crossing points in an audio waveform. + <a href="classZeroCrossing.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="ZeroCrossing_8h_source.html">ZeroCrossing.h</a>></code></p> +<div class="dynheader"> +Inheritance diagram for ZeroCrossing:</div> +<div class="dyncontent"> +<div class="center"><img src="classZeroCrossing__inherit__graph.png" border="0" usemap="#ZeroCrossing_inherit__map" alt="Inheritance graph"/></div> +<map name="ZeroCrossing_inherit__map" id="ZeroCrossing_inherit__map"> +<area shape="rect" id="node2" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="18,81,109,106"/><area shape="rect" id="node4" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="5,6,123,31"/></map> +<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> + +<p><a href="classZeroCrossing-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, +<a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a> + }</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::map< int, <br class="typebreak"/> +<a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/> +< <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#a9855153a54bdc9ba75cc1a705a149473">ZeroCrossing</a> (float inputSampleRate)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#af1de0da862e6e2443581e4e16044675b">~ZeroCrossing</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#af21bbcc87a6eb7875dfab7d86222dccc">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr> +<tr><td class="mdescLeft"> </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="#af21bbcc87a6eb7875dfab7d86222dccc"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#a9ae6c4a31ea027dceb1e97ead807e228">reset</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#a9ae6c4a31ea027dceb1e97ead807e228"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#aafe2ce6ebd353a14c40db7e8e60f4051">getInputDomain</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the plugin's required input domain. <a href="#aafe2ce6ebd353a14c40db7e8e60f4051"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#af2baf9e19fcdd11cfe97ace56d4f5c1a">getIdentifier</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#af2baf9e19fcdd11cfe97ace56d4f5c1a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#afa96f7ce6e7d9f03768f48c6a9d88498">getName</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#afa96f7ce6e7d9f03768f48c6a9d88498"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#a710bb0b013157adaeef2a9e6867b4478">getDescription</a> () const </td></tr> +<tr><td class="mdescLeft"> </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="#a710bb0b013157adaeef2a9e6867b4478"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#ac68561634a3c329a029c2fd3deaeae2a">getMaker</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form. <a href="#ac68561634a3c329a029c2fd3deaeae2a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#ad685f6c2f443f07a1634550c335571eb">getPluginVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the version number of the plugin. <a href="#ad685f6c2f443f07a1634550c335571eb"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#af9c41b92aa8ff8bddaebf75569ff789c">getCopyright</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#af9c41b92aa8ff8bddaebf75569ff789c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#ac9d590a6feb1fc9a37d7892aefe2b688">getOutputDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the outputs of this plugin. <a href="#ac9d590a6feb1fc9a37d7892aefe2b688"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#abf4aaa6fd8cc03de63f4e1e8942633da">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> timestamp)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Process a single block of input data. <a href="#abf4aaa6fd8cc03de63f4e1e8942633da"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#a70996d1b7166e303903daf92a9a37ad8">getRemainingFeatures</a> ()</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">After all blocks have been processed, calculate and return any remaining features derived from the complete input. <a href="#a70996d1b7166e303903daf92a9a37ad8"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">getPreferredBlockSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). <a href="#aa529adf83f87a603954eb31407602aac"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">getPreferredStepSize</a> () const </td></tr> +<tr><td class="mdescLeft"> </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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#a514c716c22f81c055f19b56c3f882567"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">getMinChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#a267b42e866df3cf0d190893e8096f525"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr> +<tr><td class="mdescLeft"> </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 from audio o...">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="#abe13b3997a69fbcc09e2213faa352f91"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. <a href="#a8fd2c48291c64b790f0efb8948508dcf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">getParameterDescriptors</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#aac3e49b3b66cacfbb768dfdf07444f21"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">getParameter</a> (std::string) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a named parameter. <a href="#a97ababcd45348ceec998d0f8e0f38bf7"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">setParameter</a> (std::string, float)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a named parameter. <a href="#a6c718ce822f7b73b98940d59dcaa9366"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the program settings available in this plugin. <a href="#abb307c60bdb981d5f5af50c3c4ae84af"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current program. <a href="#a24e77eccf1bdfbbca3c79bb25e8799b3"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a> (std::string)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Select a program. <a href="#aadd3a547ef140bae200473a9518e3353"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pro-attribs"></a> +Protected Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#a584f100b87c78f9af9da040d79567d52">m_stepSize</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classZeroCrossing.html#a0f2d9f2cab0a8a30344e1f2c0ebb8ee8">m_previousSample</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p>Example plugin that calculates the positions and density of zero-crossing points in an audio waveform. </p> + +<p>Definition at line <a class="el" href="ZeroCrossing_8h_source.html#l00047">47</a> of file <a class="el" href="ZeroCrossing_8h_source.html">ZeroCrossing.h</a>.</p> +</div><hr/><h2>Member Typedef Documentation</h2> +<a class="anchor" id="a30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="ZeroCrossing::OutputList" ref="a30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>> <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="ZeroCrossing::FeatureList" ref="a0730bc72c87fa02eb8d2854b233f7be1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>> <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="ZeroCrossing::FeatureSet" ref="a448fb57dc245d47923ec9eeaf9856c5f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::map<int, <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>> <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="ZeroCrossing::ParameterList" ref="a3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>> <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<a class="anchor" id="a7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="ZeroCrossing::ProgramList" ref="a7f66f00437b21e5f694fe02356b12f20" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef std::vector<std::string> <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +</div> +</div> +<hr/><h2>Member Enumeration Documentation</h2> +<a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="ZeroCrossing::InputDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<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> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a9855153a54bdc9ba75cc1a705a149473"></a><!-- doxytag: member="ZeroCrossing::ZeroCrossing" ref="a9855153a54bdc9ba75cc1a705a149473" args="(float inputSampleRate)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">ZeroCrossing::ZeroCrossing </td> + <td>(</td> + <td class="paramtype">float </td> + <td class="paramname"><em>inputSampleRate</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="ZeroCrossing_8cpp_source.html#l00046">46</a> of file <a class="el" href="ZeroCrossing_8cpp_source.html">ZeroCrossing.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="af1de0da862e6e2443581e4e16044675b"></a><!-- doxytag: member="ZeroCrossing::~ZeroCrossing" ref="af1de0da862e6e2443581e4e16044675b" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">ZeroCrossing::~ZeroCrossing </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="ZeroCrossing_8cpp_source.html#l00053">53</a> of file <a class="el" href="ZeroCrossing_8cpp_source.html">ZeroCrossing.cpp</a>.</p> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="af21bbcc87a6eb7875dfab7d86222dccc"></a><!-- doxytag: member="ZeroCrossing::initialise" ref="af21bbcc87a6eb7875dfab7d86222dccc" args="(size_t channels, size_t stepSize, size_t blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool ZeroCrossing::initialise </td> + <td>(</td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>inputChannels</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>stepSize</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>blockSize</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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). </p> +<p>The input sample rate should have been already specified at construction time.</p> +<p>Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">94</a> of file <a class="el" href="ZeroCrossing_8cpp_source.html">ZeroCrossing.cpp</a>.</p> + +<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="ZeroCrossing_8h_source.html#l00073">m_stepSize</a>.</p> + +</div> +</div> +<a class="anchor" id="a9ae6c4a31ea027dceb1e97ead807e228"></a><!-- doxytag: member="ZeroCrossing::reset" ref="a9ae6c4a31ea027dceb1e97ead807e228" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void ZeroCrossing::reset </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Reset the plugin after use, to prepare it for another clean run. </p> +<p>Not called for the first initialisation (i.e. initialise must also do a reset). </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="ZeroCrossing_8cpp_source.html#l00105">105</a> of file <a class="el" href="ZeroCrossing_8cpp_source.html">ZeroCrossing.cpp</a>.</p> + +<p>References <a class="el" href="ZeroCrossing_8h_source.html#l00074">m_previousSample</a>.</p> + +</div> +</div> +<a class="anchor" id="aafe2ce6ebd353a14c40db7e8e60f4051"></a><!-- doxytag: member="ZeroCrossing::getInputDomain" ref="aafe2ce6ebd353a14c40db7e8e60f4051" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> ZeroCrossing::getInputDomain </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the plugin's required input domain. </p> +<p>If this is TimeDomain, the samples provided to the <a class="el" href="classZeroCrossing.html#abf4aaa6fd8cc03de63f4e1e8942633da" 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> +<p>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="classZeroCrossing.html#abf4aaa6fd8cc03de63f4e1e8942633da" 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. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="ZeroCrossing_8h_source.html#l00056">56</a> of file <a class="el" href="ZeroCrossing_8h_source.html">ZeroCrossing.h</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00152">Vamp::Plugin::TimeDomain</a>.</p> + +</div> +</div> +<a class="anchor" id="af2baf9e19fcdd11cfe97ace56d4f5c1a"></a><!-- doxytag: member="ZeroCrossing::getIdentifier" ref="af2baf9e19fcdd11cfe97ace56d4f5c1a" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string ZeroCrossing::getIdentifier </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the computer-usable name of the plugin. </p> +<p>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> +<p>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> +<p>Example: "zero_crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="ZeroCrossing_8cpp_source.html#l00058">58</a> of file <a class="el" href="ZeroCrossing_8cpp_source.html">ZeroCrossing.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="afa96f7ce6e7d9f03768f48c6a9d88498"></a><!-- doxytag: member="ZeroCrossing::getName" ref="afa96f7ce6e7d9f03768f48c6a9d88498" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string ZeroCrossing::getName </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a human-readable name or title of the plugin. </p> +<p>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> +<p>Example: "Zero Crossings" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="ZeroCrossing_8cpp_source.html#l00064">64</a> of file <a class="el" href="ZeroCrossing_8cpp_source.html">ZeroCrossing.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a710bb0b013157adaeef2a9e6867b4478"></a><!-- doxytag: member="ZeroCrossing::getDescription" ref="a710bb0b013157adaeef2a9e6867b4478" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string ZeroCrossing::getDescription </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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". </p> +<p>May be empty if the name has said it all already.</p> +<p>Example: "Detect and count zero crossing points" </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="ZeroCrossing_8cpp_source.html#l00070">70</a> of file <a class="el" href="ZeroCrossing_8cpp_source.html">ZeroCrossing.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="ac68561634a3c329a029c2fd3deaeae2a"></a><!-- doxytag: member="ZeroCrossing::getMaker" ref="ac68561634a3c329a029c2fd3deaeae2a" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string ZeroCrossing::getMaker </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the name of the author or vendor of the plugin in human-readable form. </p> +<p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="ZeroCrossing_8cpp_source.html#l00076">76</a> of file <a class="el" href="ZeroCrossing_8cpp_source.html">ZeroCrossing.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="ad685f6c2f443f07a1634550c335571eb"></a><!-- doxytag: member="ZeroCrossing::getPluginVersion" ref="ad685f6c2f443f07a1634550c335571eb" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int ZeroCrossing::getPluginVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the version number of the plugin. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="ZeroCrossing_8cpp_source.html#l00082">82</a> of file <a class="el" href="ZeroCrossing_8cpp_source.html">ZeroCrossing.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="af9c41b92aa8ff8bddaebf75569ff789c"></a><!-- doxytag: member="ZeroCrossing::getCopyright" ref="af9c41b92aa8ff8bddaebf75569ff789c" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">string ZeroCrossing::getCopyright </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the copyright statement or licensing summary for the plugin. </p> +<p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p> + +<p>Definition at line <a class="el" href="ZeroCrossing_8cpp_source.html#l00088">88</a> of file <a class="el" href="ZeroCrossing_8cpp_source.html">ZeroCrossing.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="ac9d590a6feb1fc9a37d7892aefe2b688"></a><!-- doxytag: member="ZeroCrossing::getOutputDescriptors" ref="ac9d590a6feb1fc9a37d7892aefe2b688" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">ZeroCrossing::OutputList</a> ZeroCrossing::getOutputDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the outputs of this plugin. </p> +<p>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="classZeroCrossing.html#abf4aaa6fd8cc03de63f4e1e8942633da" title="Process a single block of input data.">process()</a> call. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="ZeroCrossing_8cpp_source.html#l00111">111</a> of file <a class="el" href="ZeroCrossing_8cpp_source.html">ZeroCrossing.cpp</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00247">Vamp::Plugin::OutputDescriptor::binCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00227">Vamp::Plugin::OutputDescriptor::description</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00239">Vamp::Plugin::OutputDescriptor::hasFixedBinCount</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00260">Vamp::Plugin::OutputDescriptor::hasKnownExtents</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00214">Vamp::Plugin::OutputDescriptor::identifier</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00278">Vamp::Plugin::OutputDescriptor::isQuantized</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00436">Vamp::Plugin::m_inputSampleRate</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00220">Vamp::Plugin::OutputDescriptor::name</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00290">Vamp::Plugin::OutputDescriptor::OneSamplePerStep</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00285">Vamp::Plugin::OutputDescriptor::quantizeStep</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00314">Vamp::Plugin::OutputDescriptor::sampleRate</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00302">Vamp::Plugin::OutputDescriptor::sampleType</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00232">Vamp::Plugin::OutputDescriptor::unit</a>, and <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00296">Vamp::Plugin::OutputDescriptor::VariableSampleRate</a>.</p> + +</div> +</div> +<a class="anchor" id="abf4aaa6fd8cc03de63f4e1e8942633da"></a><!-- doxytag: member="ZeroCrossing::process" ref="abf4aaa6fd8cc03de63f4e1e8942633da" args="(const float *const *inputBuffers, Vamp::RealTime timestamp)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">ZeroCrossing::FeatureSet</a> ZeroCrossing::process </td> + <td>(</td> + <td class="paramtype">const float *const * </td> + <td class="paramname"><em>inputBuffers</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a> </td> + <td class="paramname"><em>timestamp</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Process a single block of input data. </p> +<p>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> +<p>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> +<p>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.) </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">142</a> of file <a class="el" href="ZeroCrossing_8cpp_source.html">ZeroCrossing.cpp</a>.</p> + +<p>References <a class="el" href="structVamp_1_1RealTime.html#a939b4b1d1ca190db69a418883f16ce8a">Vamp::RealTime::frame2RealTime()</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00344">Vamp::Plugin::Feature::hasTimestamp</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00436">Vamp::Plugin::m_inputSampleRate</a>, <a class="el" href="ZeroCrossing_8h_source.html#l00074">m_previousSample</a>, <a class="el" href="ZeroCrossing_8h_source.html#l00073">m_stepSize</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00352">Vamp::Plugin::Feature::timestamp</a>, and <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00374">Vamp::Plugin::Feature::values</a>.</p> + +</div> +</div> +<a class="anchor" id="a70996d1b7166e303903daf92a9a37ad8"></a><!-- doxytag: member="ZeroCrossing::getRemainingFeatures" ref="a70996d1b7166e303903daf92a9a37ad8" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">ZeroCrossing::FeatureSet</a> ZeroCrossing::getRemainingFeatures </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [virtual]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>After all blocks have been processed, calculate and return any remaining features derived from the complete input. </p> + +<p>Implements <a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a>.</p> + +<p>Definition at line <a class="el" href="ZeroCrossing_8cpp_source.html#l00191">191</a> of file <a class="el" href="ZeroCrossing_8cpp_source.html">ZeroCrossing.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="aa529adf83f87a603954eb31407602aac"></a><!-- doxytag: member="ZeroCrossing::getPreferredBlockSize" ref="aa529adf83f87a603954eb31407602aac" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getPreferredBlockSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). </p> +<p>This should be called before <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a>.</p> +<p>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#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a> call. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a21e45180b19873f9ab69fe7a4e184a03">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#ad5e0ea8042bdec4dd18428991117e07a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#a68b8569b71504a0478caf990dbe30683">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a410c0b47c6c849d7ed9b726b84402ad0">PercussionOnsetDetector</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a514c716c22f81c055f19b56c3f882567"></a><!-- doxytag: member="ZeroCrossing::getPreferredStepSize" ref="a514c716c22f81c055f19b56c3f882567" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getPreferredStepSize </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. </p> +<p>This should be called before <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a>.</p> +<p>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#af26212cf5fc511b603a8b48034247822" title="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).">initialise()</a> call. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ad979af9f1cbf2eeb16f4eaedb4a4f565">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a859ad5d59402691daed3cf1af1899ebe">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classFixedTempoEstimator.html#ad450bb7e7df559ae3d68dfbfb085676f">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a733824891e11c306a7a678534b89b968">PercussionOnsetDetector</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a267b42e866df3cf0d190893e8096f525"></a><!-- doxytag: member="ZeroCrossing::getMinChannelCount" ref="a267b42e866df3cf0d190893e8096f525" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the minimum supported number of input channels. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a67d1198c0e58d3f0076d0eda599ff28d">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="a2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="ZeroCrossing::getMaxChannelCount" ref="a2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the maximum supported number of input channels. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a25091905e97e39d515d8ffc1a9f2b9e0">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00677">FixedTempoEstimator::initialise()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00113">PercussionOnsetDetector::initialise()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00104">SpectralCentroid::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">initialise()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00092">PowerSpectrum::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="abe13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="ZeroCrossing::getType" ref="abe13b3997a69fbcc09e2213faa352f91" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::Plugin::getType </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>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 from audio o...">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>. </p> +<p>Do not reimplement this function in your subclass. </p> + +<p>Implements <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="ZeroCrossing::getVampApiVersion" ref="a8fd2c48291c64b790f0efb8948508dcf" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a98aadddc8403eb46c9d8c5a9d1fdd19e">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="aac3e49b3b66cacfbb768dfdf07444f21"></a><!-- doxytag: member="ZeroCrossing::getParameterDescriptors" ref="aac3e49b3b66cacfbb768dfdf07444f21" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginBase::getParameterDescriptors </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the controllable parameters of this plugin. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a602faa0bfaae83e2ca53b36292271a76">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#a9df01323a09e117bc12354ebe9244edf">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#ae157465a4e07d180bab05b5c3a4d8987">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#abceae88cc9762b0ea310d7aad71de815">PercussionOnsetDetector</a>.</p> + +<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> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +<a class="anchor" id="a97ababcd45348ceec998d0f8e0f38bf7"></a><!-- doxytag: member="ZeroCrossing::getParameter" ref="a97ababcd45348ceec998d0f8e0f38bf7" args="(std::string) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual float Vamp::PluginBase::getParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the value of a named parameter. </p> +<p>The argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#af0c46d4f67ca93be7c76f3ea2e6c8efb">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#ab278c4b6f2ca23248dc94ad775273f39">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a2030b05fb1228b30ace16200780c9152">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a9b28da8315fcde46ce7644d6592ba527">PercussionOnsetDetector</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a6c718ce822f7b73b98940d59dcaa9366"></a><!-- doxytag: member="ZeroCrossing::setParameter" ref="a6c718ce822f7b73b98940d59dcaa9366" args="(std::string, float)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void Vamp::PluginBase::setParameter </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">float </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set a named parameter. </p> +<p>The first argument is the identifier field from that parameter's descriptor. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a29f75395aa75b9de0228aa11edf9c6d6">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#ae1fc37ece4d20e40f3066a3361a99340">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#aa097d72488e1211f05fc661ff5c6dc01">PercussionOnsetDetector</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="abb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="ZeroCrossing::getPrograms" ref="abb307c60bdb981d5f5af50c3c4ae84af" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the program settings available in this plugin. </p> +<p>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> +<p>The programs must have unique names. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ae0cde5cd625418c1bc470b91f75daafc">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="a24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="ZeroCrossing::getCurrentProgram" ref="a24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the current program. </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a34859eff8ca8d862af39be9636ec1867">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<a class="anchor" id="aadd3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="ZeroCrossing::selectProgram" ref="aadd3a547ef140bae200473a9518e3353" args="(std::string)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">virtual void Vamp::PluginBase::selectProgram </td> + <td>(</td> + <td class="paramtype">std::string </td> + <td class="paramname"></td><td>)</td> + <td><code> [inline, virtual, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Select a program. </p> +<p>(If the given program name is not one of the available programs, do nothing.) </p> + +<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p> + +<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> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a584f100b87c78f9af9da040d79567d52"></a><!-- doxytag: member="ZeroCrossing::m_stepSize" ref="a584f100b87c78f9af9da040d79567d52" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t <a class="el" href="classZeroCrossing.html#a584f100b87c78f9af9da040d79567d52">ZeroCrossing::m_stepSize</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="ZeroCrossing_8h_source.html#l00073">73</a> of file <a class="el" href="ZeroCrossing_8h_source.html">ZeroCrossing.h</a>.</p> + +<p>Referenced by <a class="el" href="ZeroCrossing_8cpp_source.html#l00094">initialise()</a>, and <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">process()</a>.</p> + +</div> +</div> +<a class="anchor" id="a0f2d9f2cab0a8a30344e1f2c0ebb8ee8"></a><!-- doxytag: member="ZeroCrossing::m_previousSample" ref="a0f2d9f2cab0a8a30344e1f2c0ebb8ee8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classZeroCrossing.html#a0f2d9f2cab0a8a30344e1f2c0ebb8ee8">ZeroCrossing::m_previousSample</a><code> [protected]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="ZeroCrossing_8h_source.html#l00074">74</a> of file <a class="el" href="ZeroCrossing_8h_source.html">ZeroCrossing.h</a>.</p> + +<p>Referenced by <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">process()</a>, and <a class="el" href="ZeroCrossing_8cpp_source.html#l00105">reset()</a>.</p> + +</div> +</div> +<a class="anchor" id="a59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="ZeroCrossing::m_inputSampleRate" ref="a59b9dd82a4f4eb946cd0474cc81abc23" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<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> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00375">FixedTempoEstimator::D::calculate()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00111">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="FixedTempoEstimator_8cpp_source.html#l00252">FixedTempoEstimator::D::initialise()</a>, <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00363">FixedTempoEstimator::D::lag2tempo()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">process()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00146">SpectralCentroid::process()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>, and <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00369">FixedTempoEstimator::D::tempo2lag()</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following files:<ul> +<li><a class="el" href="ZeroCrossing_8h_source.html">ZeroCrossing.h</a></li> +<li><a class="el" href="ZeroCrossing_8cpp_source.html">ZeroCrossing.cpp</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="classZeroCrossing.html">ZeroCrossing</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classZeroCrossing__inherit__graph.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,4 @@ +<map id="G" name="G"> +<area shape="rect" id="node2" href="$classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="18,81,109,106"/> +<area shape="rect" id="node4" href="$classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="5,6,123,31"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classZeroCrossing__inherit__graph.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +c606d7f9fcc452640c504b2f9e279914 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/classes.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,122 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Index</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('classes.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Class Index</div> </div> +</div> +<div class="contents"> +<div class="qindex"><a class="qindex" href="#letter_A">A</a> | <a class="qindex" href="#letter_D">D</a> | <a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_O">O</a> | <a class="qindex" href="#letter_P">P</a> | <a class="qindex" href="#letter_R">R</a> | <a class="qindex" href="#letter_S">S</a> | <a class="qindex" href="#letter_Z">Z</a> | <a class="qindex" href="#letter__">_</a></div> +<table style="margin: 10px;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0"> +<tr><td rowspan="2" valign="bottom"><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  A  </div></td></tr></table> +</td><td valign="top"><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a>   </td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  S  </div></td></tr></table> +</td></tr> +<tr><td valign="top"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> (<a class="el" href="namespaceVamp.html">Vamp</a>)   </td></tr> +<tr><td valign="top"><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a>   </td><td valign="top"><a class="el" href="classVamp_1_1PluginAdapter.html">PluginAdapter</a> (<a class="el" href="namespaceVamp.html">Vamp</a>)   </td><td valign="top"><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a>   </td></tr> +<tr><td rowspan="2" valign="bottom"><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  D  </div></td></tr></table> +</td><td valign="top"><a class="el" href="classVamp_1_1PluginAdapterBase.html">PluginAdapterBase</a> (<a class="el" href="namespaceVamp.html">Vamp</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_Z"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  Z  </div></td></tr></table> +</td></tr> +<tr><td valign="top"><a class="el" href="classVamp_1_1PluginBase.html">PluginBase</a> (<a class="el" href="namespaceVamp.html">Vamp</a>)   </td></tr> +<tr><td valign="top"><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a>   </td><td valign="top"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">PluginBufferingAdapter</a> (<a class="el" href="namespaceVamp_1_1HostExt.html">Vamp::HostExt</a>)   </td><td valign="top"><a class="el" href="classZeroCrossing.html">ZeroCrossing</a>   </td></tr> +<tr><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  F  </div></td></tr></table> +</td><td valign="top"><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html">PluginChannelAdapter</a> (<a class="el" href="namespaceVamp_1_1HostExt.html">Vamp::HostExt</a>)   </td><td rowspan="2" valign="bottom"><a name="letter__"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  _  </div></td></tr></table> +</td></tr> +<tr><td valign="top"><a class="el" href="classVamp_1_1PluginHostAdapter.html">PluginHostAdapter</a> (<a class="el" href="namespaceVamp.html">Vamp</a>)   </td></tr> +<tr><td valign="top"><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Plugin::Feature</a> (<a class="el" href="namespaceVamp.html">Vamp</a>)   </td><td valign="top"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">PluginInputDomainAdapter</a> (<a class="el" href="namespaceVamp_1_1HostExt.html">Vamp::HostExt</a>)   </td><td valign="top"><a class="el" href="struct__VampFeature.html">_VampFeature</a>   </td></tr> +<tr><td valign="top"><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a>   </td><td valign="top"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">PluginLoader</a> (<a class="el" href="namespaceVamp_1_1HostExt.html">Vamp::HostExt</a>)   </td><td valign="top"><a class="el" href="struct__VampFeatureList.html">_VampFeatureList</a>   </td></tr> +<tr><td rowspan="2" valign="bottom"><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  O  </div></td></tr></table> +</td><td valign="top"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">PluginSummarisingAdapter</a> (<a class="el" href="namespaceVamp_1_1HostExt.html">Vamp::HostExt</a>)   </td><td valign="top"><a class="el" href="union__VampFeatureUnion.html">_VampFeatureUnion</a>   </td></tr> +<tr><td valign="top"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">PluginWrapper</a> (<a class="el" href="namespaceVamp_1_1HostExt.html">Vamp::HostExt</a>)   </td><td valign="top"><a class="el" href="struct__VampFeatureV2.html">_VampFeatureV2</a>   </td></tr> +<tr><td valign="top"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Plugin::OutputDescriptor</a> (<a class="el" href="namespaceVamp.html">Vamp</a>)   </td><td valign="top"><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a>   </td><td valign="top"><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a>   </td></tr> +<tr><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  P  </div></td></tr></table> +</td><td rowspan="2" valign="bottom"><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  R  </div></td></tr></table> +</td><td valign="top"><a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a>   </td></tr> +<tr><td valign="top"><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a>   </td></tr> +<tr><td valign="top"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">PluginBase::ParameterDescriptor</a> (<a class="el" href="namespaceVamp.html">Vamp</a>)   </td><td valign="top"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> (<a class="el" href="namespaceVamp.html">Vamp</a>)   </td><td></td></tr> +<tr><td></td><td></td><td></td></tr> +</table> +<div class="qindex"><a class="qindex" href="#letter_A">A</a> | <a class="qindex" href="#letter_D">D</a> | <a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_O">O</a> | <a class="qindex" href="#letter_P">P</a> | <a class="qindex" href="#letter_R">R</a> | <a class="qindex" href="#letter_S">S</a> | <a class="qindex" href="#letter_Z">Z</a> | <a class="qindex" href="#letter__">_</a></div> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_09d7d2829940fe46b7bc0eab58bbbc83.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: vamp/ Directory Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('dir_09d7d2829940fe46b7bc0eab58bbbc83.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp Directory Reference</div> </div> +</div> +<div class="contents"> +<div class="dynheader"> +Directory dependency graph for vamp/:</div> +<div class="dyncontent"> +<div class="center"><img src="dir_09d7d2829940fe46b7bc0eab58bbbc83_dep.png" border="0" usemap="#dir__09d7d2829940fe46b7bc0eab58bbbc83__dep" alt="vamp/"/></div> +<map name="dir__09d7d2829940fe46b7bc0eab58bbbc83__dep" id="dir__09d7d2829940fe46b7bc0eab58bbbc83__dep"> +<area shape="rect" id="node1" href="dir_09d7d2829940fe46b7bc0eab58bbbc83.html" title="vamp" alt="" coords="5,5,77,53"/></map> +</div> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="files"></a> +Files</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp_8h.html">vamp.h</a> <a href="vamp_8h_source.html">[code]</a></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="dir_09d7d2829940fe46b7bc0eab58bbbc83.html">vamp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_09d7d2829940fe46b7bc0eab58bbbc83_dep.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="dir_09d7d2829940fe46b7bc0eab58bbbc83.html" title="vamp" alt="" coords="5,5,77,53"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_09d7d2829940fe46b7bc0eab58bbbc83_dep.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +fa1a12dce37ca78c8c973be4a9615a8b \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_4ec587bfce30b9b784fbf1cea7303b09.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,110 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: examples/ Directory Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('dir_4ec587bfce30b9b784fbf1cea7303b09.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">examples Directory Reference</div> </div> +</div> +<div class="contents"> +<div class="dynheader"> +Directory dependency graph for examples/:</div> +<div class="dyncontent"> +<div class="center"><img src="dir_4ec587bfce30b9b784fbf1cea7303b09_dep.png" border="0" usemap="#dir__4ec587bfce30b9b784fbf1cea7303b09__dep" alt="examples/"/></div> +<map name="dir__4ec587bfce30b9b784fbf1cea7303b09__dep" id="dir__4ec587bfce30b9b784fbf1cea7303b09__dep"> +<area shape="rect" id="node1" href="dir_4ec587bfce30b9b784fbf1cea7303b09.html" title="examples" alt="" coords="5,5,77,53"/></map> +</div> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="files"></a> +Files</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="AmplitudeFollower_8cpp.html">AmplitudeFollower.cpp</a> <a href="AmplitudeFollower_8cpp_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="AmplitudeFollower_8h.html">AmplitudeFollower.h</a> <a href="AmplitudeFollower_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="FixedTempoEstimator_8cpp.html">FixedTempoEstimator.cpp</a> <a href="FixedTempoEstimator_8cpp_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="FixedTempoEstimator_8h.html">FixedTempoEstimator.h</a> <a href="FixedTempoEstimator_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="PercussionOnsetDetector_8cpp.html">PercussionOnsetDetector.cpp</a> <a href="PercussionOnsetDetector_8cpp_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="PercussionOnsetDetector_8h.html">PercussionOnsetDetector.h</a> <a href="PercussionOnsetDetector_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="plugins_8cpp.html">plugins.cpp</a> <a href="plugins_8cpp_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="PowerSpectrum_8cpp.html">PowerSpectrum.cpp</a> <a href="PowerSpectrum_8cpp_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="PowerSpectrum_8h.html">PowerSpectrum.h</a> <a href="PowerSpectrum_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="SpectralCentroid_8cpp.html">SpectralCentroid.cpp</a> <a href="SpectralCentroid_8cpp_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="SpectralCentroid_8h.html">SpectralCentroid.h</a> <a href="SpectralCentroid_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="ZeroCrossing_8cpp.html">ZeroCrossing.cpp</a> <a href="ZeroCrossing_8cpp_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="ZeroCrossing_8h.html">ZeroCrossing.h</a> <a href="ZeroCrossing_8h_source.html">[code]</a></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="dir_4ec587bfce30b9b784fbf1cea7303b09.html">examples</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_4ec587bfce30b9b784fbf1cea7303b09_dep.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="dir_4ec587bfce30b9b784fbf1cea7303b09.html" title="examples" alt="" coords="5,5,77,53"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_4ec587bfce30b9b784fbf1cea7303b09_dep.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +eeb315c6124b9c6db8bdfcd24cd37d2c \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_629e1dda0168f818e2ee3ab23f68039a.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: src/ Directory Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('dir_629e1dda0168f818e2ee3ab23f68039a.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">src Directory Reference</div> </div> +</div> +<div class="contents"> +<div class="dynheader"> +Directory dependency graph for src/:</div> +<div class="dyncontent"> +<div class="center"><img src="dir_629e1dda0168f818e2ee3ab23f68039a_dep.png" border="0" usemap="#dir__629e1dda0168f818e2ee3ab23f68039a__dep" alt="src/"/></div> +<map name="dir__629e1dda0168f818e2ee3ab23f68039a__dep" id="dir__629e1dda0168f818e2ee3ab23f68039a__dep"> +<area shape="rect" id="node1" href="dir_629e1dda0168f818e2ee3ab23f68039a.html" title="src" alt="" coords="5,5,77,53"/></map> +</div> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="files"></a> +Files</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="doc-overview.html">doc-overview</a> <a href="doc-overview_source.html">[code]</a></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="dir_629e1dda0168f818e2ee3ab23f68039a.html">src</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_629e1dda0168f818e2ee3ab23f68039a_dep.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="dir_629e1dda0168f818e2ee3ab23f68039a.html" title="src" alt="" coords="5,5,77,53"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_629e1dda0168f818e2ee3ab23f68039a_dep.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +db9baf074e4c9fbd7f1b51c19609d148 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_6fbd4b7d3be43d486a3cce3231e92c53.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,99 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: host/ Directory Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('dir_6fbd4b7d3be43d486a3cce3231e92c53.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">host Directory Reference</div> </div> +</div> +<div class="contents"> +<div class="dynheader"> +Directory dependency graph for host/:</div> +<div class="dyncontent"> +<div class="center"><img src="dir_6fbd4b7d3be43d486a3cce3231e92c53_dep.png" border="0" usemap="#dir__6fbd4b7d3be43d486a3cce3231e92c53__dep" alt="host/"/></div> +<map name="dir__6fbd4b7d3be43d486a3cce3231e92c53__dep" id="dir__6fbd4b7d3be43d486a3cce3231e92c53__dep"> +<area shape="rect" id="node1" href="dir_6fbd4b7d3be43d486a3cce3231e92c53.html" title="host" alt="" coords="5,5,77,53"/></map> +</div> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="files"></a> +Files</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="system_8h.html">system.h</a> <a href="system_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-simple-host_8cpp.html">vamp-simple-host.cpp</a> <a href="vamp-simple-host_8cpp_source.html">[code]</a></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="dir_6fbd4b7d3be43d486a3cce3231e92c53.html">host</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_6fbd4b7d3be43d486a3cce3231e92c53_dep.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="dir_6fbd4b7d3be43d486a3cce3231e92c53.html" title="host" alt="" coords="5,5,77,53"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_6fbd4b7d3be43d486a3cce3231e92c53_dep.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +668f8aa105255542a7dc8dd8fbe710ef \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_878d155c6c7dea35ce3fc23c898c55e3.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,109 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: vamp-hostsdk/ Directory Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('dir_878d155c6c7dea35ce3fc23c898c55e3.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-hostsdk Directory Reference</div> </div> +</div> +<div class="contents"> +<div class="dynheader"> +Directory dependency graph for vamp-hostsdk/:</div> +<div class="dyncontent"> +<div class="center"><img src="dir_878d155c6c7dea35ce3fc23c898c55e3_dep.png" border="0" usemap="#dir__878d155c6c7dea35ce3fc23c898c55e3__dep" alt="vamp-hostsdk/"/></div> +<map name="dir__878d155c6c7dea35ce3fc23c898c55e3__dep" id="dir__878d155c6c7dea35ce3fc23c898c55e3__dep"> +<area shape="rect" id="node1" href="dir_878d155c6c7dea35ce3fc23c898c55e3.html" title="vamp-hostsdk" alt="" coords="5,5,104,53"/></map> +</div> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="files"></a> +Files</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="hostguard_8h.html">hostguard.h</a> <a href="hostguard_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-hostsdk_2Plugin_8h.html">vamp-hostsdk/Plugin.h</a> <a href="vamp-hostsdk_2Plugin_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-hostsdk_2PluginBase_8h.html">vamp-hostsdk/PluginBase.h</a> <a href="vamp-hostsdk_2PluginBase_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="PluginBufferingAdapter_8h.html">PluginBufferingAdapter.h</a> <a href="PluginBufferingAdapter_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="PluginChannelAdapter_8h.html">PluginChannelAdapter.h</a> <a href="PluginChannelAdapter_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="PluginHostAdapter_8h.html">PluginHostAdapter.h</a> <a href="PluginHostAdapter_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="PluginInputDomainAdapter_8h.html">PluginInputDomainAdapter.h</a> <a href="PluginInputDomainAdapter_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="PluginLoader_8h.html">PluginLoader.h</a> <a href="PluginLoader_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="PluginSummarisingAdapter_8h.html">PluginSummarisingAdapter.h</a> <a href="PluginSummarisingAdapter_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="PluginWrapper_8h.html">PluginWrapper.h</a> <a href="PluginWrapper_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-hostsdk_2RealTime_8h.html">vamp-hostsdk/RealTime.h</a> <a href="vamp-hostsdk_2RealTime_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-hostsdk_8h.html">vamp-hostsdk.h</a> <a href="vamp-hostsdk_8h_source.html">[code]</a></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="dir_878d155c6c7dea35ce3fc23c898c55e3.html">vamp-hostsdk</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_878d155c6c7dea35ce3fc23c898c55e3_dep.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="dir_878d155c6c7dea35ce3fc23c898c55e3.html" title="vamp-hostsdk" alt="" coords="5,5,104,53"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_878d155c6c7dea35ce3fc23c898c55e3_dep.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +6489b905a9c2c157c9372559650cab77 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_fc29d784de6894b015ce0522888485dd.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,103 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: vamp-sdk/ Directory Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('dir_fc29d784de6894b015ce0522888485dd.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-sdk Directory Reference</div> </div> +</div> +<div class="contents"> +<div class="dynheader"> +Directory dependency graph for vamp-sdk/:</div> +<div class="dyncontent"> +<div class="center"><img src="dir_fc29d784de6894b015ce0522888485dd_dep.png" border="0" usemap="#dir__fc29d784de6894b015ce0522888485dd__dep" alt="vamp-sdk/"/></div> +<map name="dir__fc29d784de6894b015ce0522888485dd__dep" id="dir__fc29d784de6894b015ce0522888485dd__dep"> +<area shape="rect" id="node1" href="dir_fc29d784de6894b015ce0522888485dd.html" title="vamp-sdk" alt="" coords="4,5,77,53"/></map> +</div> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="files"></a> +Files</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="plugguard_8h.html">plugguard.h</a> <a href="plugguard_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-sdk_2Plugin_8h.html">vamp-sdk/Plugin.h</a> <a href="vamp-sdk_2Plugin_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="PluginAdapter_8h.html">PluginAdapter.h</a> <a href="PluginAdapter_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-sdk_2PluginBase_8h.html">vamp-sdk/PluginBase.h</a> <a href="vamp-sdk_2PluginBase_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-sdk_2RealTime_8h.html">vamp-sdk/RealTime.h</a> <a href="vamp-sdk_2RealTime_8h_source.html">[code]</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-sdk_8h.html">vamp-sdk.h</a> <a href="vamp-sdk_8h_source.html">[code]</a></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="dir_fc29d784de6894b015ce0522888485dd.html">vamp-sdk</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_fc29d784de6894b015ce0522888485dd_dep.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="dir_fc29d784de6894b015ce0522888485dd.html" title="vamp-sdk" alt="" coords="4,5,77,53"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dir_fc29d784de6894b015ce0522888485dd_dep.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +39bc4a0383683e8d24319be4132d8cc8 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/dirs.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,93 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Directories</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li class="current"><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('dirs.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Directories</div> </div> +</div> +<div class="contents"> +<div class="textblock">This directory hierarchy is sorted roughly, but not completely, alphabetically:</div><ul> +<li><a class="el" href="dir_4ec587bfce30b9b784fbf1cea7303b09.html">examples</a></li> +<li><a class="el" href="dir_6fbd4b7d3be43d486a3cce3231e92c53.html">host</a></li> +<li><a class="el" href="dir_629e1dda0168f818e2ee3ab23f68039a.html">src</a></li> +<li><a class="el" href="dir_09d7d2829940fe46b7bc0eab58bbbc83.html">vamp</a></li> +<li><a class="el" href="dir_878d155c6c7dea35ce3fc23c898c55e3.html">vamp-hostsdk</a></li> +<li><a class="el" href="dir_fc29d784de6894b015ce0522888485dd.html">vamp-sdk</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/doc-overview.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: doc-overview File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('doc-overview.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">doc-overview File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="doc-overview_source.html">Go to the source code of this file.</a></p> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="doc-overview.html">doc-overview</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/doc-overview_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,93 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: doc-overview Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('doc-overview.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">doc-overview</div> </div> +</div> +<div class="contents"> +<a href="doc-overview.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="doc-overview.html">doc-overview</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/doxygen.css Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,946 @@ +/* The standard CSS for doxygen */ + +body, table, div, p, dl { + font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; + font-size: 12px; +} + +/* @group Heading Levels */ + +h1 { + font-size: 150%; +} + +.title { + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2 { + font-size: 120%; +} + +h3 { + font-size: 100%; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd, p.starttd { + margin-top: 2px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code { + color: #4665A2; +} + +a.codeRef { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +.fragment { + font-family: monospace, fixed; + font-size: 105%; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 8px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memItemLeft, .memItemRight, .memTemplParams { + border-top: 1px solid #C4CFE5; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; +} + +.memname { + white-space: nowrap; + font-weight: bold; + margin-left: 6px; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 8px; + border-top-left-radius: 8px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 8px; + -moz-border-radius-topleft: 8px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 8px; + -webkit-border-top-left-radius: 8px; + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 2px 5px; + background-color: #FBFCFD; + border-top-width: 0; + /* opera specific markup */ + border-bottom-left-radius: 8px; + border-bottom-right-radius: 8px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 8px; + -moz-border-radius-bottomright: 8px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7); + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7)); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} + +.params, .retval, .exception, .tparams { + border-spacing: 6px 2px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + + + + +/* @end */ + +/* @group Directory (tree) */ + +/* for the tree view */ + +.ftvtree { + font-family: sans-serif; + margin: 0px; +} + +/* these are for tree view when used as main index */ + +.directory { + font-size: 9pt; + font-weight: bold; + margin: 5px; +} + +.directory h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +/* +The following two styles can be used to replace the root node title +with an image of your choice. Simply uncomment the next two styles, +specify the name of your image and be sure to set 'height' to the +proper pixel height of your image. +*/ + +/* +.directory h3.swap { + height: 61px; + background-repeat: no-repeat; + background-image: url("yourimage.gif"); +} +.directory h3.swap span { + display: none; +} +*/ + +.directory > h3 { + margin-top: 0; +} + +.directory p { + margin: 0px; + white-space: nowrap; +} + +.directory div { + display: none; + margin: 0px; +} + +.directory img { + vertical-align: -30%; +} + +/* these are for tree view when not used as main index */ + +.directory-alt { + font-size: 100%; + font-weight: bold; +} + +.directory-alt h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +.directory-alt > h3 { + margin-top: 0; +} + +.directory-alt p { + margin: 0px; + white-space: nowrap; +} + +.directory-alt div { + display: none; + margin: 0px; +} + +.directory-alt img { + vertical-align: -30%; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; +} + +table.fieldtable { + width: 100%; + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + margin-left: 5px; + font-size: 8pt; + padding-left: 5px; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 7px; +} + +dl +{ + padding: 0 0 0 10px; +} + +dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug +{ + border-left:4px solid; + padding: 0 0 0 6px; +} + +dl.note +{ + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + border-color: #00D000; +} + +dl.deprecated +{ + border-color: #505050; +} + +dl.todo +{ + border-color: #00C0E0; +} + +dl.test +{ + border-color: #3030E0; +} + +dl.bug +{ + border-color: #C08050; +} + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } + pre.fragment + { + overflow: visible; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + } +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/files.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: File List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('files.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">File List</div> </div> +</div> +<div class="contents"> +<div class="textblock">Here is a list of all files with brief descriptions:</div><table> + <tr><td class="indexkey"><a class="el" href="AmplitudeFollower_8cpp.html">AmplitudeFollower.cpp</a> <a href="AmplitudeFollower_8cpp_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="AmplitudeFollower_8h.html">AmplitudeFollower.h</a> <a href="AmplitudeFollower_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="doc-overview.html">doc-overview</a> <a href="doc-overview_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="FixedTempoEstimator_8cpp.html">FixedTempoEstimator.cpp</a> <a href="FixedTempoEstimator_8cpp_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="FixedTempoEstimator_8h.html">FixedTempoEstimator.h</a> <a href="FixedTempoEstimator_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="hostguard_8h.html">hostguard.h</a> <a href="hostguard_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="PercussionOnsetDetector_8cpp.html">PercussionOnsetDetector.cpp</a> <a href="PercussionOnsetDetector_8cpp_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="PercussionOnsetDetector_8h.html">PercussionOnsetDetector.h</a> <a href="PercussionOnsetDetector_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="plugguard_8h.html">plugguard.h</a> <a href="plugguard_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="vamp-sdk_2Plugin_8h.html">vamp-sdk/Plugin.h</a> <a href="vamp-sdk_2Plugin_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="vamp-hostsdk_2Plugin_8h.html">vamp-hostsdk/Plugin.h</a> <a href="vamp-hostsdk_2Plugin_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="PluginAdapter_8h.html">PluginAdapter.h</a> <a href="PluginAdapter_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="vamp-sdk_2PluginBase_8h.html">vamp-sdk/PluginBase.h</a> <a href="vamp-sdk_2PluginBase_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="vamp-hostsdk_2PluginBase_8h.html">vamp-hostsdk/PluginBase.h</a> <a href="vamp-hostsdk_2PluginBase_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="PluginBufferingAdapter_8h.html">PluginBufferingAdapter.h</a> <a href="PluginBufferingAdapter_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="PluginChannelAdapter_8h.html">PluginChannelAdapter.h</a> <a href="PluginChannelAdapter_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="PluginHostAdapter_8h.html">PluginHostAdapter.h</a> <a href="PluginHostAdapter_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="PluginInputDomainAdapter_8h.html">PluginInputDomainAdapter.h</a> <a href="PluginInputDomainAdapter_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="PluginLoader_8h.html">PluginLoader.h</a> <a href="PluginLoader_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="plugins_8cpp.html">plugins.cpp</a> <a href="plugins_8cpp_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="PluginSummarisingAdapter_8h.html">PluginSummarisingAdapter.h</a> <a href="PluginSummarisingAdapter_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="PluginWrapper_8h.html">PluginWrapper.h</a> <a href="PluginWrapper_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="PowerSpectrum_8cpp.html">PowerSpectrum.cpp</a> <a href="PowerSpectrum_8cpp_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="PowerSpectrum_8h.html">PowerSpectrum.h</a> <a href="PowerSpectrum_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="vamp-sdk_2RealTime_8h.html">vamp-sdk/RealTime.h</a> <a href="vamp-sdk_2RealTime_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="vamp-hostsdk_2RealTime_8h.html">vamp-hostsdk/RealTime.h</a> <a href="vamp-hostsdk_2RealTime_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="SpectralCentroid_8cpp.html">SpectralCentroid.cpp</a> <a href="SpectralCentroid_8cpp_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="SpectralCentroid_8h.html">SpectralCentroid.h</a> <a href="SpectralCentroid_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="system_8h.html">system.h</a> <a href="system_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="vamp-hostsdk_8h.html">vamp-hostsdk.h</a> <a href="vamp-hostsdk_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="vamp-sdk_8h.html">vamp-sdk.h</a> <a href="vamp-sdk_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="vamp-simple-host_8cpp.html">vamp-simple-host.cpp</a> <a href="vamp-simple-host_8cpp_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="vamp_8h.html">vamp.h</a> <a href="vamp_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="ZeroCrossing_8cpp.html">ZeroCrossing.cpp</a> <a href="ZeroCrossing_8cpp_source.html">[code]</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="ZeroCrossing_8h.html">ZeroCrossing.h</a> <a href="ZeroCrossing_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,155 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li class="current"><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_a"></a>- a -</h3><ul> +<li>ADAPT_ALL +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a3b1e08415c0cbc96f7900eac955ad6d0">Vamp::HostExt::PluginLoader</a> +</li> +<li>ADAPT_ALL_SAFE +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a8220529e851ae30d37f413c40a389e08">Vamp::HostExt::PluginLoader</a> +</li> +<li>ADAPT_BUFFER_SIZE +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a5c0c389797922630a6b54ffd1eed21f1">Vamp::HostExt::PluginLoader</a> +</li> +<li>ADAPT_CHANNEL_COUNT +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a54c43b85382d78e8ea8da192bce3a139">Vamp::HostExt::PluginLoader</a> +</li> +<li>ADAPT_INPUT_DOMAIN +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a763a9a0caf512d9671b90c05c2808a09">Vamp::HostExt::PluginLoader</a> +</li> +<li>AdapterFlags +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494">Vamp::HostExt::PluginLoader</a> +</li> +<li>AmplitudeFollower() +: <a class="el" href="classAmplitudeFollower.html#a29eaeffc353da2614ae508abcd0ab63f">AmplitudeFollower</a> +</li> +<li>assembleFeatures() +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a20389ba1515f6ce4181d3f41e5c4f347">FixedTempoEstimator::D</a> +</li> +<li>AveragingMethod +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x62.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li class="current"><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_b"></a>- b -</h3><ul> +<li>BartlettWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca77fd88a7d94fcd9c6c4aef30b86f077d">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>binCount +: <a class="el" href="struct__VampOutputDescriptor.html#a652ee422092720e44d23d98bdb68f978">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>binNames +: <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a31d9b79e2d8241344f551a22fcb5c8c7">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#a10fffaa32bd894843ff7592240dfe447">_VampOutputDescriptor</a> +</li> +<li>BlackmanHarrisWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca7cbf5d8c58f33bcfa28e3a5863d6ac94">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>BlackmanWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca2e298b1bee28272721953b2921891da6">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x63.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,153 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li class="current"><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_c"></a>- c -</h3><ul> +<li>calculate() +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a4f2cbc11fba5bc8af3fd2a0078156091">FixedTempoEstimator::D</a> +</li> +<li>cleanup +: <a class="el" href="struct__VampPluginDescriptor.html#a0e4522c33e59c3c518b9262f2477bc27">_VampPluginDescriptor</a> +</li> +<li>composePluginKey() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#acc6865d27825c100d7b6f9ed6ecf5207">Vamp::HostExt::PluginLoader</a> +</li> +<li>ContinuousTimeAverage +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76a6af6316c12e29bdbdff90c5fec764baa">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>convertFeatures() +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#aee417a4c9ba9dbb63777c963d5f9452a">Vamp::PluginHostAdapter</a> +</li> +<li>copyright +: <a class="el" href="struct__VampPluginDescriptor.html#ae704bba384af0de056a26da1b13ee521">_VampPluginDescriptor</a> +</li> +<li>Count +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a2395772fa2e74b3f617e20c76d579ad6">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>createPlugin() +: <a class="el" href="classVamp_1_1PluginAdapterBase.html#a9116adb9b7a426f4f0ded15e45a5531b">Vamp::PluginAdapterBase</a> +, <a class="el" href="classVamp_1_1PluginAdapter.html#a3f387e7e37409e00d32477903b5b13d3">Vamp::PluginAdapter< P ></a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x64.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,151 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li class="current"><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_d"></a>- d -</h3><ul> +<li>D() +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a104a9b64d47eca678844584f69ca0b9d">FixedTempoEstimator::D</a> +</li> +<li>defaultValue +: <a class="el" href="struct__VampParameterDescriptor.html#a3d37f986ee152ab55feb9902b35f7aca">_VampParameterDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#aec4ef77451ec02193ecc4a0856673fbc">Vamp::PluginBase::ParameterDescriptor</a> +</li> +<li>description +: <a class="el" href="struct__VampParameterDescriptor.html#a95489272d6cf5a5b487e949da8e4fac6">_VampParameterDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a780ddad41e433d85c82f9ea4d959cbaf">Vamp::PluginBase::ParameterDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#abfa911b138cfb80cf63e8f2e0fa0fb89">_VampOutputDescriptor</a> +, <a class="el" href="struct__VampPluginDescriptor.html#a9ff8050f92f1a04a68bb34a9d368295e">_VampPluginDescriptor</a> +</li> +<li>duration +: <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#af687c0a7fe041757e922ec296862b115">Vamp::Plugin::Feature</a> +</li> +<li>durationNsec +: <a class="el" href="struct__VampFeatureV2.html#af71693d907f69048d602d28edbce679e">_VampFeatureV2</a> +</li> +<li>durationSec +: <a class="el" href="struct__VampFeatureV2.html#abc95aac3a2efdef6ef0b17e7b6bd3daf">_VampFeatureV2</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x66.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,164 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li class="current"><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_f"></a>- f -</h3><ul> +<li>Feature() +: <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#acd4b4cd0d2c31512f4a5df50f8f7a7b8">Vamp::Plugin::Feature</a> +</li> +<li>featureCount +: <a class="el" href="struct__VampFeatureList.html#a01db33a31ae5e04a4bd097f4b6aa75f1">_VampFeatureList</a> +</li> +<li>FeatureList +: <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin</a> +</li> +<li>features +: <a class="el" href="struct__VampFeatureList.html#a103c817094643ac5ff4410768f4f92a7">_VampFeatureList</a> +</li> +<li>FeatureSet +: <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin</a> +</li> +<li>FixedSampleRate +: <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca4c74bd2fc96dfe2815623f94b40e5629">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>FixedTempoEstimator() +: <a class="el" href="classFixedTempoEstimator.html#a3967c189f054f864639837c2519bd64d">FixedTempoEstimator</a> +</li> +<li>frame2RealTime() +: <a class="el" href="structVamp_1_1RealTime.html#a939b4b1d1ca190db69a418883f16ce8a">Vamp::RealTime</a> +</li> +<li>FrequencyDomain +: <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">Vamp::Plugin</a> +</li> +<li>fromMilliseconds() +: <a class="el" href="structVamp_1_1RealTime.html#a6992d9959fc4f19c11a98f17506f4905">Vamp::RealTime</a> +</li> +<li>fromSeconds() +: <a class="el" href="structVamp_1_1RealTime.html#ae29ae57d19c66f256839988a0959c6bb">Vamp::RealTime</a> +</li> +<li>fromTimeval() +: <a class="el" href="structVamp_1_1RealTime.html#a7f1e1e35ca5196283b2086e3d9cd9d3b">Vamp::RealTime</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x67.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,355 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li class="current"><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_g"></a>- g -</h3><ul> +<li>getActualStepAndBlockSizes() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#aa065985fd864f6869d1bc7fea6fa2ece">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>getCopyright() +: <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classPowerSpectrum.html#a708b4d335c57643d5ef2b2e1caf43bd9">PowerSpectrum</a> +, <a class="el" href="classSpectralCentroid.html#a925747d513d598e0fa21ed0ed6520980">SpectralCentroid</a> +, <a class="el" href="classAmplitudeFollower.html#a0c197fc90f30d91cb4403115c83c9134">AmplitudeFollower</a> +, <a class="el" href="classZeroCrossing.html#af9c41b92aa8ff8bddaebf75569ff789c">ZeroCrossing</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#ac73c9d6baad04369beee695e99584815">Vamp::PluginHostAdapter</a> +, <a class="el" href="classFixedTempoEstimator.html#a50c6b64530c84c0707ba3936c5022a48">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#a1a22ece271330c94cc08798a77416351">PercussionOnsetDetector</a> +</li> +<li>getCurrentProgram +: <a class="el" href="struct__VampPluginDescriptor.html#a861a77525a95d424cb846820b018af53">_VampPluginDescriptor</a> +, <a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a34859eff8ca8d862af39be9636ec1867">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">Vamp::HostExt::PluginWrapper</a> +</li> +<li>getDescription() +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#a5eaafcef030e81b90a3e77cf16cf8ae1">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#a6f0f2fea1fdb4b51e688edfe859d5062">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator.html#a06b00853f00c2e78d490697fcd7d1920">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#a9061d189705802a48973a7ccab6360db">PercussionOnsetDetector</a> +, <a class="el" href="classPowerSpectrum.html#a7b48d56dc954f3af344f7e4dcd8993e5">PowerSpectrum</a> +, <a class="el" href="classSpectralCentroid.html#a8fbb74a46283057d9a0b0e4718ee943c">SpectralCentroid</a> +, <a class="el" href="classZeroCrossing.html#a710bb0b013157adaeef2a9e6867b4478">ZeroCrossing</a> +, <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a> +</li> +<li>getDescriptor() +: <a class="el" href="classVamp_1_1PluginAdapterBase.html#ad24595002512f9f00e8e45216d6f5dfb">Vamp::PluginAdapterBase</a> +</li> +<li>getIdentifier() +: <a class="el" href="classSpectralCentroid.html#a1b2c4c8440c024c4c635fcef5697949f">SpectralCentroid</a> +, <a class="el" href="classZeroCrossing.html#af2baf9e19fcdd11cfe97ace56d4f5c1a">ZeroCrossing</a> +, <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#ab27423a656f878d97d2ad2eba4e76c7a">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#afe7576af95c8fcc7f5bad42eec9f9f29">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator.html#ab818edcf1555177d10260e197e3a5e7a">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#a267c83a7533146c127e2c3be310e0154">PercussionOnsetDetector</a> +, <a class="el" href="classPowerSpectrum.html#a9e9d8349461cbb88d7565a5e8c51b64e">PowerSpectrum</a> +</li> +<li>getInputDomain() +: <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8e9d25673367c741631a60cbb36e91d2">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae203faf8384c9e1fddc381409aa8a214">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#afc07a389b5f922b944b0350fd232d2eb">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator.html#a055689c9b41b0945e8d3cdbc3b8c3a2e">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#a4f6954267696ee5bfa7dd1c4a6cfa92a">PercussionOnsetDetector</a> +, <a class="el" href="classPowerSpectrum.html#ae04e0e34847a93f3444d04c802ee56ef">PowerSpectrum</a> +, <a class="el" href="classSpectralCentroid.html#a0ec2cb74c1c5f6e57d0bd9dcf7c8f469">SpectralCentroid</a> +, <a class="el" href="classZeroCrossing.html#aafe2ce6ebd353a14c40db7e8e60f4051">ZeroCrossing</a> +</li> +<li>getInstance() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a1d77fa1d58ee4fee2985b5af02380326">Vamp::HostExt::PluginLoader</a> +</li> +<li>getLibraryPathForPlugin() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a4bbcb7873e617bbc9f79eade1f90f7ad">Vamp::HostExt::PluginLoader</a> +</li> +<li>getMaker() +: <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#af572be0b175f5661559006a380a0f3db">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#a44fc43838f203f58bc2ce6e3cb2b03dd">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator.html#ae910d1b9250b11097fd6b51cd8285b68">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#a63d63f2cb7ea8d8b09d58cc13b541375">PercussionOnsetDetector</a> +, <a class="el" href="classPowerSpectrum.html#a9f3e3f759e2b67c771a41f1c276984b2">PowerSpectrum</a> +, <a class="el" href="classSpectralCentroid.html#ac01ff858bf67e2e93ad5d24a6ba8c8c8">SpectralCentroid</a> +, <a class="el" href="classZeroCrossing.html#ac68561634a3c329a029c2fd3deaeae2a">ZeroCrossing</a> +</li> +<li>getMaxChannelCount +: <a class="el" href="struct__VampPluginDescriptor.html#ad1600203418d9646332f5b917284261b">_VampPluginDescriptor</a> +, <a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">Vamp::Plugin</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a25091905e97e39d515d8ffc1a9f2b9e0">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">Vamp::HostExt::PluginWrapper</a> +</li> +<li>getMinChannelCount +: <a class="el" href="struct__VampPluginDescriptor.html#af175ca17716db5a7545b61b01caabd92">_VampPluginDescriptor</a> +, <a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">Vamp::Plugin</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a67d1198c0e58d3f0076d0eda599ff28d">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">Vamp::HostExt::PluginWrapper</a> +</li> +<li>getName() +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#a45f1d0377e233eeddd1b7cefb48be62a">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#a7cfed00bc9d96ba6c709b69ab6a40594">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator.html#af9eb6fa8a98aa66b55e64e1795f9405f">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#aa98f1ad061a11af98c054011a8844e6f">PercussionOnsetDetector</a> +, <a class="el" href="classPowerSpectrum.html#ac9214f9cafeeed3fca549c90aef57623">PowerSpectrum</a> +, <a class="el" href="classSpectralCentroid.html#ab7e6a620fea568af431be3cfd9dd5a41">SpectralCentroid</a> +, <a class="el" href="classZeroCrossing.html#afa96f7ce6e7d9f03768f48c6a9d88498">ZeroCrossing</a> +, <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a> +</li> +<li>getOutputCount +: <a class="el" href="struct__VampPluginDescriptor.html#aa8fc88da704e24b2b5f674821dd380c1">_VampPluginDescriptor</a> +</li> +<li>getOutputDescriptor +: <a class="el" href="struct__VampPluginDescriptor.html#a92c58b8ff99ad0c23a42333aa55c144d">_VampPluginDescriptor</a> +</li> +<li>getOutputDescriptors() +: <a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#af8cc914897a284433de220f1153f3845">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a9649a113da0252fe8bd9fc731b047ae0">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a9411305f713b4c9827844b89acd270">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#a043e3c3db77d76267cd8069e1485bf26">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a7ce98af800f36045a0dae4b1dbed943f">FixedTempoEstimator::D</a> +, <a class="el" href="classFixedTempoEstimator.html#a83121c205a723fe6297e2bf8870622a4">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#aa4537aa0eb58a67d6e824d46924cf782">PercussionOnsetDetector</a> +, <a class="el" href="classPowerSpectrum.html#a6aac5f93e3a8c033026d739fed427242">PowerSpectrum</a> +, <a class="el" href="classSpectralCentroid.html#a894ca9740927102bb80b56b5e9e95877">SpectralCentroid</a> +, <a class="el" href="classZeroCrossing.html#ac9d590a6feb1fc9a37d7892aefe2b688">ZeroCrossing</a> +</li> +<li>getParameter() +: <a class="el" href="classFixedTempoEstimator.html#a2030b05fb1228b30ace16200780c9152">FixedTempoEstimator</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#af0c46d4f67ca93be7c76f3ea2e6c8efb">Vamp::PluginHostAdapter</a> +, <a class="el" href="struct__VampPluginDescriptor.html#a07174981875b55ee2ec7521a7f4fc395">_VampPluginDescriptor</a> +, <a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#ab278c4b6f2ca23248dc94ad775273f39">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a968ef2e555c81e4a3bde89d19fafb31a">FixedTempoEstimator::D</a> +, <a class="el" href="classPercussionOnsetDetector.html#a9b28da8315fcde46ce7644d6592ba527">PercussionOnsetDetector</a> +</li> +<li>getParameterDescriptors() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a602faa0bfaae83e2ca53b36292271a76">Vamp::PluginHostAdapter</a> +, <a class="el" href="classAmplitudeFollower.html#a9df01323a09e117bc12354ebe9244edf">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a06fcf80a9a22c4b90abbc88eb592621a">FixedTempoEstimator::D</a> +, <a class="el" href="classFixedTempoEstimator.html#ae157465a4e07d180bab05b5c3a4d8987">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#abceae88cc9762b0ea310d7aad71de815">PercussionOnsetDetector</a> +</li> +<li>getPluginCategory() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a52746ea66339ad981b868a031a3b382d">Vamp::HostExt::PluginLoader</a> +</li> +<li>getPluginPath() +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#a09cbfb7903d28f10d6d556c6cb81c5f6">Vamp::PluginHostAdapter</a> +</li> +<li>getPluginPreferredBlockSize() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7045be875de9dd226d2e2a222e957de0">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>getPluginPreferredStepSize() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#ad7fad500331808b5cdf90f5a45019b02">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>getPluginVersion() +: <a class="el" href="classPowerSpectrum.html#ad23d27e4e82f10404a37b933f6a72c33">PowerSpectrum</a> +, <a class="el" href="classFixedTempoEstimator.html#ad002fddb3735c2dd7e31e6a9def9949f">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#ad6b818dbd81867ce7be71c99cae861be">PercussionOnsetDetector</a> +, <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a6fbd94781867ca46a20368c2a3593c77">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#a8a5d7a834eb996d517c51f84b2a72250">AmplitudeFollower</a> +, <a class="el" href="classZeroCrossing.html#ad685f6c2f443f07a1634550c335571eb">ZeroCrossing</a> +, <a class="el" href="classSpectralCentroid.html#af64622e66bf678ac2b0b58aa832ca2b3">SpectralCentroid</a> +</li> +<li>getPreferredBlockSize() +: <a class="el" href="classPercussionOnsetDetector.html#a410c0b47c6c849d7ed9b726b84402ad0">PercussionOnsetDetector</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a21e45180b19873f9ab69fe7a4e184a03">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#ac02826f981736fc2aa5d835fa14e174d">FixedTempoEstimator::D</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a> +, <a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">Vamp::Plugin</a> +, <a class="el" href="struct__VampPluginDescriptor.html#ac626e42554ab1532c8d8b5132a0faee8">_VampPluginDescriptor</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#ad5e0ea8042bdec4dd18428991117e07a">Vamp::PluginHostAdapter</a> +, <a class="el" href="classFixedTempoEstimator.html#a68b8569b71504a0478caf990dbe30683">FixedTempoEstimator</a> +</li> +<li>getPreferredStepSize() +: <a class="el" href="classFixedTempoEstimator_1_1D.html#add749be18355ab1ae5c1ccbacfd2e192">FixedTempoEstimator::D</a> +, <a class="el" href="classFixedTempoEstimator.html#ad450bb7e7df559ae3d68dfbfb085676f">FixedTempoEstimator</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a859ad5d59402691daed3cf1af1899ebe">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">Vamp::Plugin</a> +, <a class="el" href="classPercussionOnsetDetector.html#a733824891e11c306a7a678534b89b968">PercussionOnsetDetector</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ad979af9f1cbf2eeb16f4eaedb4a4f565">Vamp::HostExt::PluginInputDomainAdapter</a> +, <a class="el" href="struct__VampPluginDescriptor.html#a2beddf2ce156c05dd24477ac663adcbb">_VampPluginDescriptor</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>getProcessTimestampMethod() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#acfc7a9121f678fd085448f68f15c9eae">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>getPrograms() +: <a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#ae0cde5cd625418c1bc470b91f75daafc">Vamp::PluginHostAdapter</a> +</li> +<li>getRemainingFeatures() +: <a class="el" href="classPercussionOnsetDetector.html#ad3d6767ed137783e84f842b4d4732ffa">PercussionOnsetDetector</a> +, <a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a> +, <a class="el" href="classFixedTempoEstimator.html#a4965cf99be77fc4d1de51e11d83936b0">FixedTempoEstimator</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a984a4c11f3fbdcfd90e4837b1619a5ab">Vamp::PluginHostAdapter</a> +, <a class="el" href="classAmplitudeFollower.html#a368606f643b88e0df0823d85e36f030c">AmplitudeFollower</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a28423951b2eda1a1fc371485434f417b">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a7f9c3603bb3374d6936885010dbdd82b">FixedTempoEstimator::D</a> +, <a class="el" href="classSpectralCentroid.html#a83ba39f0870a2f86837605a958dfab1a">SpectralCentroid</a> +, <a class="el" href="classPowerSpectrum.html#ac8a9661a785d38f4c5ce8ca2d53e69f9">PowerSpectrum</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ae9dcbd1ba8197ff90b4fc6bf7ade7688">Vamp::HostExt::PluginSummarisingAdapter</a> +, <a class="el" href="classZeroCrossing.html#a70996d1b7166e303903daf92a9a37ad8">ZeroCrossing</a> +, <a class="el" href="struct__VampPluginDescriptor.html#ad22c666188aadab83c354a0edb18fcf0">_VampPluginDescriptor</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2bc8c0992e64f06991fb7cf89f99857e">Vamp::HostExt::PluginWrapper</a> +</li> +<li>getSummaryForAllOutputs() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ac3f93d9ca2d25c9fdc80d0ba10eaaa6b">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>getSummaryForOutput() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#abe13faa68d3244b962dbd362671e23f9">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>getTimestampAdjustment() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ac1ab6af0fcda0a4c3f050c54b2db4769">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>getType() +: <a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">Vamp::Plugin</a> +, <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a> +</li> +<li>getVampApiVersion() +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#a98aadddc8403eb46c9d8c5a9d1fdd19e">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">Vamp::PluginBase</a> +</li> +<li>getWindowType() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab143065e1a65f1d860cb26b32d5a9c1e">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>getWrapper() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05">Vamp::HostExt::PluginWrapper</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x68.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,155 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li class="current"><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_h"></a>- h -</h3><ul> +<li>HammingWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca9d522bff8d5884a8ba57d5a8c7e113c8">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>HanningWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcacad78947b6c8db20feb5ddf208ac1108">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>HannWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcadc87b20cfb5f1ddd23ebc281e3e47916">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>hasDuration +: <a class="el" href="struct__VampOutputDescriptor.html#af792a96dbf292ec966b9b68250febd99">_VampOutputDescriptor</a> +, <a class="el" href="struct__VampFeatureV2.html#a44d9c57f1ae197d3fec1a48c650cce81">_VampFeatureV2</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab0d7cc6ab19e53b5bd12ee234f549ea3">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a33686757bd4481c72494122e9bfb9fba">Vamp::Plugin::Feature</a> +</li> +<li>hasFixedBinCount +: <a class="el" href="struct__VampOutputDescriptor.html#ae8571f5a2bc740738af0cb7dda0c4749">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>hasKnownExtents +: <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae9ccb65f99f477096b65dd031f4c5e31">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#af6b512d772023b4e852216689c1c4465">_VampOutputDescriptor</a> +</li> +<li>hasTimestamp +: <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b">Vamp::Plugin::Feature</a> +, <a class="el" href="struct__VampFeature.html#abe6aa7a08185beeb9deca2d08d99859f">_VampFeature</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x69.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,167 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li class="current"><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_i"></a>- i -</h3><ul> +<li>identifier +: <a class="el" href="struct__VampParameterDescriptor.html#a26d74afd6a3341a673f15955031845ab">_VampParameterDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#a461161b2010370176115967e4f58a5f5">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a116fd9f0dc94c2bc4bbc60b5443c598c">Vamp::PluginBase::ParameterDescriptor</a> +, <a class="el" href="struct__VampPluginDescriptor.html#a4915ec8276749cb505c01d25a6d02219">_VampPluginDescriptor</a> +</li> +<li>initialise() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classFixedTempoEstimator.html#aa7500a4ffbc4653baaf5101defdb37f5">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#a349c528260622308f3850bcda8a448ab">PercussionOnsetDetector</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ade0473c8fc54636431967cbf41649c1c">Vamp::HostExt::PluginChannelAdapter</a> +, <a class="el" href="classPowerSpectrum.html#ae2d046334c4bede5be72a0d97e4dfb29">PowerSpectrum</a> +, <a class="el" href="classSpectralCentroid.html#aab1ae16f5c68e2b319668f447908cedb">SpectralCentroid</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#add6a2f1ee7e47bd97fa599cead14b738">Vamp::PluginHostAdapter</a> +, <a class="el" href="classZeroCrossing.html#af21bbcc87a6eb7875dfab7d86222dccc">ZeroCrossing</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#af0fcad4493650728babb7e341963c91d">FixedTempoEstimator::D</a> +, <a class="el" href="classAmplitudeFollower.html#aeb727e44ee8ad1aceb90964d20f8d90d">AmplitudeFollower</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a72d201eca10ec73bf16e07984f58f94c">Vamp::HostExt::PluginInputDomainAdapter</a> +, <a class="el" href="struct__VampPluginDescriptor.html#ad0978f17a5e568079470a1978a9aad22">_VampPluginDescriptor</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a1e994576d43efe103bf8f83b69716745">Vamp::HostExt::PluginSummarisingAdapter</a> +, <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">Vamp::Plugin</a> +</li> +<li>InputDomain +: <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin</a> +</li> +<li>inputDomain +: <a class="el" href="struct__VampPluginDescriptor.html#affc4d1796da7ced2c0cbb2cc2c4a22f4">_VampPluginDescriptor</a> +</li> +<li>instantiate +: <a class="el" href="struct__VampPluginDescriptor.html#a19c4ce36fdeb88eeedb539efc544b8ee">_VampPluginDescriptor</a> +</li> +<li>isQuantized +: <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a7c556d58d552f737ee5a34efdf7f9425">Vamp::PluginBase::ParameterDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1b4858928d23bfd7d5bc557c82a83fb4">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="struct__VampParameterDescriptor.html#a3f41e3b6b69c7a95ff0ce8625794f83a">_VampParameterDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#ab56cf0bbb17136819024574d5cc65e30">_VampOutputDescriptor</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x6c.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,141 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li class="current"><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_l"></a>- l -</h3><ul> +<li>label +: <a class="el" href="struct__VampFeature.html#a6662b7489a7890cae713bf4e8f6d52cd">_VampFeature</a> +, <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a8eb1fb35f73b247ed13de9527c18f036">Vamp::Plugin::Feature</a> +</li> +<li>lag2tempo() +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a0a7cb0705938097ab23a6f9187e6bae5">FixedTempoEstimator::D</a> +</li> +<li>listPlugins() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff51b52bb68aa2934ccf26ad1d284f28">Vamp::HostExt::PluginLoader</a> +</li> +<li>loadPlugin() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f">Vamp::HostExt::PluginLoader</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x6d.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,262 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li class="current"><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_m"></a>- m -</h3><ul> +<li>m_blockSize +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a0b9bf37e600f0564b9f305f73a9517c8">FixedTempoEstimator::D</a> +, <a class="el" href="classPercussionOnsetDetector.html#a920de543dbcf70a2edd80b5b31313285">PercussionOnsetDetector</a> +, <a class="el" href="classSpectralCentroid.html#a262f583d71b442bb2d80023e7c85aa4e">SpectralCentroid</a> +, <a class="el" href="classPowerSpectrum.html#a399e997c033f26b07edb7cc83cd5a6d8">PowerSpectrum</a> +</li> +<li>m_clampcoef +: <a class="el" href="classAmplitudeFollower.html#a1cb205b08cfe2ce94a4af05b18f72876">AmplitudeFollower</a> +</li> +<li>m_d +: <a class="el" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">FixedTempoEstimator</a> +</li> +<li>m_descriptor +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#a0c9f252aca8ac298e30cadd0de032ec2">Vamp::PluginHostAdapter</a> +</li> +<li>m_df +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a8e2312120e87ad9a48fedeebbaefa396">FixedTempoEstimator::D</a> +</li> +<li>m_dfMinus1 +: <a class="el" href="classPercussionOnsetDetector.html#acd80162c65212be7fa91251263fb9c3d">PercussionOnsetDetector</a> +</li> +<li>m_dfMinus2 +: <a class="el" href="classPercussionOnsetDetector.html#a6ad7d8353cc681ff42a63b127cca5779">PercussionOnsetDetector</a> +</li> +<li>m_dfsize +: <a class="el" href="classFixedTempoEstimator_1_1D.html#ae739e006f2d10ef2b13677770b23e663">FixedTempoEstimator::D</a> +</li> +<li>m_fr +: <a class="el" href="classFixedTempoEstimator_1_1D.html#ab255006072672653e645fc315eea6167">FixedTempoEstimator::D</a> +</li> +<li>m_handle +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#a02ebd03b226b4a467cad747ce77e79ee">Vamp::PluginHostAdapter</a> +</li> +<li>m_impl +: <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ae3a74a2e6c4cd33dce9f4248e73c6701">Vamp::HostExt::PluginChannelAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a9fa8a6b8a4e41b6e3f2fabc0d23678cc">Vamp::HostExt::PluginInputDomainAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ac12254d823f6d63cb8ce82a07bdcb072">Vamp::HostExt::PluginLoader</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af131140817d9f131650af98b6b8d7a94">Vamp::HostExt::PluginSummarisingAdapter</a> +, <a class="el" href="classVamp_1_1PluginAdapterBase.html#a0e3594c54884efd5a7ef38030645745b">Vamp::PluginAdapterBase</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a51e10c9c63c0349fd74c6d604de5554e">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>m_inputSampleRate +: <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a072a0fc30b3912a54858eefdd47f4d4f">FixedTempoEstimator::D</a> +</li> +<li>m_instance +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#af89caf5f838a586b117c417260b7a116">Vamp::HostExt::PluginLoader</a> +</li> +<li>m_lasttime +: <a class="el" href="classFixedTempoEstimator_1_1D.html#abacd5ff19c301020efb99c03136b849a">FixedTempoEstimator::D</a> +</li> +<li>m_maxbpm +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a33e8d045b222addc6173b50df2553ba8">FixedTempoEstimator::D</a> +</li> +<li>m_maxdflen +: <a class="el" href="classFixedTempoEstimator_1_1D.html#aca506973452865d436e07462eabdebad">FixedTempoEstimator::D</a> +</li> +<li>m_minbpm +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a768fdbb62e4b21a39897963fdbd486ed">FixedTempoEstimator::D</a> +</li> +<li>m_n +: <a class="el" href="classFixedTempoEstimator_1_1D.html#ab73af7f1943b76388de04cbb4696a983">FixedTempoEstimator::D</a> +</li> +<li>m_plugin +: <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">Vamp::HostExt::PluginWrapper</a> +</li> +<li>m_previn +: <a class="el" href="classAmplitudeFollower.html#ac95e8d2f334821c6c92c706bae29695a">AmplitudeFollower</a> +</li> +<li>m_previousSample +: <a class="el" href="classZeroCrossing.html#a0f2d9f2cab0a8a30344e1f2c0ebb8ee8">ZeroCrossing</a> +</li> +<li>m_priorMagnitudes +: <a class="el" href="classPercussionOnsetDetector.html#a30daa717267251a9d49afe57c328e989">PercussionOnsetDetector</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#aa59cf1cb5640a910c70884579e5d99ad">FixedTempoEstimator::D</a> +</li> +<li>m_r +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a7a8c8658ecfeec98962078df89fcd538">FixedTempoEstimator::D</a> +</li> +<li>m_relaxcoef +: <a class="el" href="classAmplitudeFollower.html#aceecd3b3879f32eb4a2e597c32c41cfc">AmplitudeFollower</a> +</li> +<li>m_sensitivity +: <a class="el" href="classPercussionOnsetDetector.html#a4e9770f246ba3bc75e7fc2cb8f9010af">PercussionOnsetDetector</a> +</li> +<li>m_start +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a3a3a0b4a4c259087f02d0046241674d0">FixedTempoEstimator::D</a> +</li> +<li>m_stepSize +: <a class="el" href="classAmplitudeFollower.html#a959c2647fd3c5feea2591e3618774027">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a837da9722c63fe3c66c738255990c45f">FixedTempoEstimator::D</a> +, <a class="el" href="classSpectralCentroid.html#a49805a090ba58477da4adbefea4392a7">SpectralCentroid</a> +, <a class="el" href="classZeroCrossing.html#a584f100b87c78f9af9da040d79567d52">ZeroCrossing</a> +, <a class="el" href="classPercussionOnsetDetector.html#aabac0cf7e961482b075777e5f0686e6c">PercussionOnsetDetector</a> +</li> +<li>m_t +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a698446aad2c0f737732a392fb86a612c">FixedTempoEstimator::D</a> +</li> +<li>m_threshold +: <a class="el" href="classPercussionOnsetDetector.html#ab04119adad56d87f2e633de289aab507">PercussionOnsetDetector</a> +</li> +<li>maker +: <a class="el" href="struct__VampPluginDescriptor.html#a4dca3d57331802964716edfa80580c9b">_VampPluginDescriptor</a> +</li> +<li>Maximum +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705adefff4e5073aa298a96d99b92025b7f9">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>maxValue +: <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab934b20dd708228a0e3c2811a3e2cec4">Vamp::PluginBase::ParameterDescriptor</a> +, <a class="el" href="struct__VampParameterDescriptor.html#a6e7646babdb265c4abfc107ba4350d80">_VampParameterDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a907b4e8fbb48a46ac5a05f880d72719f">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#a4cbe540a247df60f85b00b2aa16461ee">_VampOutputDescriptor</a> +</li> +<li>Mean +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705ae8a03f013397d08c85734e47524f5a75">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>Median +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705aadde1f9a5a6557f25223279433699195">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>Minimum +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a320b8a4cd0c3d492aeb17f7fc4ed930c">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>minValue +: <a class="el" href="struct__VampParameterDescriptor.html#ab59c84f0bbe0d4d0c578d893c087b0db">_VampParameterDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ac9f5924c0be7571bba8e7ae7e7a921f4">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#a9a28180989e3d028c12a98517479dc46">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab3e4d84f5bc199eea8b642b27e425ec8">Vamp::PluginBase::ParameterDescriptor</a> +</li> +<li>Mode +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a1688d03811a2268daa062220f5be0614">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>msec() +: <a class="el" href="structVamp_1_1RealTime.html#a76e22815db51ae180c38021110da9947">Vamp::RealTime</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x6e.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li class="current"><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_n"></a>- n -</h3><ul> +<li>name +: <a class="el" href="struct__VampParameterDescriptor.html#abba810bce9656f6002777f6c3f655957">_VampParameterDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#af4fca576bd47167fd2bf9b43d588815f">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a0ecebb94fb4ada4aad2640e20aa57084">Vamp::PluginBase::ParameterDescriptor</a> +, <a class="el" href="struct__VampPluginDescriptor.html#a9dd5a0190e4d453ff36b5acb7000b150">_VampPluginDescriptor</a> +</li> +<li>NoShift +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577ab06e8c6824802978d0be4074a556b297">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>nsec +: <a class="el" href="structVamp_1_1RealTime.html#a2078835bef7bb92514a65b6051cfc6c8">Vamp::RealTime</a> +, <a class="el" href="struct__VampFeature.html#a8874cb23600c6b10ca6e8a40920d999e">_VampFeature</a> +</li> +<li>NuttallWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcaa6a2f46966a46cc7abdf2df74270999e">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x6f.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,167 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li class="current"><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_o"></a>- o -</h3><ul> +<li>OneSamplePerStep +: <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca0459d5d0d2198d21e8bc90abe4fdccca">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>operator!=() +: <a class="el" href="structVamp_1_1RealTime.html#ae9b0ea7c217163d5327b1a2a0662a90b">Vamp::RealTime</a> +</li> +<li>operator+() +: <a class="el" href="structVamp_1_1RealTime.html#a6b74748d1eb4c3c751e7a12aefae0bde">Vamp::RealTime</a> +</li> +<li>operator-() +: <a class="el" href="structVamp_1_1RealTime.html#af0360b5b0d23a464025a6823912c6291">Vamp::RealTime</a> +</li> +<li>operator/() +: <a class="el" href="structVamp_1_1RealTime.html#ac88cda961da5cb728d823b29c5456c06">Vamp::RealTime</a> +</li> +<li>operator<() +: <a class="el" href="structVamp_1_1RealTime.html#a78e378a5dd0137a6514dca18edda6f9a">Vamp::RealTime</a> +</li> +<li>operator<=() +: <a class="el" href="structVamp_1_1RealTime.html#acf4278eec678c558d62bbda6bc1da44e">Vamp::RealTime</a> +</li> +<li>operator=() +: <a class="el" href="structVamp_1_1RealTime.html#adb82f838804a9a3ad49988de5944d090">Vamp::RealTime</a> +</li> +<li>operator==() +: <a class="el" href="structVamp_1_1RealTime.html#abc5f06b5b9973012cb7453192df3ea5e">Vamp::RealTime</a> +</li> +<li>operator>() +: <a class="el" href="structVamp_1_1RealTime.html#a6f0aced679e2f97133ed63c688b335e4">Vamp::RealTime</a> +</li> +<li>operator>=() +: <a class="el" href="structVamp_1_1RealTime.html#a5cb785a410e3a91ed3092b7bba22afc3">Vamp::RealTime</a> +</li> +<li>OutputDescriptor() +: <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1ebf91cc3f60e4cbba818c10591cd344">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>OutputList +: <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x70.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,220 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li class="current"><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_p"></a>- p -</h3><ul> +<li>parameterCount +: <a class="el" href="struct__VampPluginDescriptor.html#ae6271dc3ea0cea959c84a64185492cab">_VampPluginDescriptor</a> +</li> +<li>ParameterDescriptor() +: <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a5b793130e9746b2302317b3c9a9c1395">Vamp::PluginBase::ParameterDescriptor</a> +</li> +<li>ParameterList +: <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase</a> +</li> +<li>parameters +: <a class="el" href="struct__VampPluginDescriptor.html#a64d614862604c31d6b84c49005f51913">_VampPluginDescriptor</a> +</li> +<li>PercussionOnsetDetector() +: <a class="el" href="classPercussionOnsetDetector.html#a9f700579805ee5105758d847baab3511">PercussionOnsetDetector</a> +</li> +<li>Plugin() +: <a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Vamp::Plugin</a> +</li> +<li>PluginAdapter() +: <a class="el" href="classVamp_1_1PluginAdapter.html#a16312efd629b7063d7b6d67889a2c15a">Vamp::PluginAdapter< P ></a> +</li> +<li>PluginAdapterBase() +: <a class="el" href="classVamp_1_1PluginAdapterBase.html#a5dad6a9b4b170c0f284962e125ac988e">Vamp::PluginAdapterBase</a> +</li> +<li>PluginBufferingAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a1276bcfcbe1414b33eeefbd7b2b702fe">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>PluginCategoryHierarchy +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ad6a39aa0c79d8d9209eb0b8dfe9d1364">Vamp::HostExt::PluginLoader</a> +</li> +<li>PluginChannelAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a2cda2b672708264f9a33c43bad3acdd8">Vamp::HostExt::PluginChannelAdapter</a> +</li> +<li>PluginHostAdapter() +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#a6535abd551acfbbaab381bbe1268cd49">Vamp::PluginHostAdapter</a> +</li> +<li>PluginInputDomainAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a878e7275acdb77efc7a802944305039d">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>PluginKey +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">Vamp::HostExt::PluginLoader</a> +</li> +<li>PluginKeyList +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a0d48b76e4f995110f53e0feeb23f733a">Vamp::HostExt::PluginLoader</a> +</li> +<li>PluginLoader() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a5ab9e0281244bef7976c6c0ce1a55c24">Vamp::HostExt::PluginLoader</a> +</li> +<li>PluginSummarisingAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a31b41f54560a2ae6c3ec1a945f3f1d68">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>pluginVersion +: <a class="el" href="struct__VampPluginDescriptor.html#a04427c420d9252c7796c0bf5101345ae">_VampPluginDescriptor</a> +</li> +<li>PluginWrapper() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a35cc2d42f8322f5022e89859a79c97be">Vamp::HostExt::PluginWrapper</a> +</li> +<li>PowerSpectrum() +: <a class="el" href="classPowerSpectrum.html#aa2550486513a4abcf7b52869002947e7">PowerSpectrum</a> +</li> +<li>process() +: <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin</a> +, <a class="el" href="classFixedTempoEstimator.html#a1cf76b0e55cf4ed3da095cffcdeaec3c">FixedTempoEstimator</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231">Vamp::HostExt::PluginInputDomainAdapter</a> +, <a class="el" href="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614">PercussionOnsetDetector</a> +, <a class="el" href="classSpectralCentroid.html#aca96c70e7e75c9e4a7db38485018914c">SpectralCentroid</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a38fe1080b343ba10e5d8a4b30c87cbdd">Vamp::PluginHostAdapter</a> +, <a class="el" href="classAmplitudeFollower.html#a48d0f95cac31ffd190cff89b50a2a5bd">AmplitudeFollower</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a55058a20c1f8bffc0dc927350df778a0">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classZeroCrossing.html#abf4aaa6fd8cc03de63f4e1e8942633da">ZeroCrossing</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a6ff37bf754ff8711dbcb2f020fa3902c">Vamp::HostExt::PluginChannelAdapter</a> +, <a class="el" href="struct__VampPluginDescriptor.html#ac5a0a75b6e68b22fed536765d1f2f254">_VampPluginDescriptor</a> +, <a class="el" href="classPowerSpectrum.html#aa5664ffc2b37a16db471fae791c1f55f">PowerSpectrum</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3314b456a4780601c021dac25b478846">Vamp::HostExt::PluginSummarisingAdapter</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a7fac74fc9fc54f436408705d1e125e20">FixedTempoEstimator::D</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf">Vamp::HostExt::PluginWrapper</a> +</li> +<li>processInterleaved() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a5c94c3eb1dbc8899fe58527bbb7bb61f">Vamp::HostExt::PluginChannelAdapter</a> +</li> +<li>ProcessTimestampMethod +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>programCount +: <a class="el" href="struct__VampPluginDescriptor.html#a1962666aa173e7a9a2c30dc82e4b2e00">_VampPluginDescriptor</a> +</li> +<li>ProgramList +: <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase</a> +</li> +<li>programs +: <a class="el" href="struct__VampPluginDescriptor.html#ad488470c582d8472d86455889d71c5ec">_VampPluginDescriptor</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x71.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,134 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li class="current"><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_q"></a>- q -</h3><ul> +<li>quantizeStep +: <a class="el" href="struct__VampParameterDescriptor.html#a68c91fd3fc0b0b3617c2d343fe32d0e5">_VampParameterDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a01f8387e7c853d5e4e35d4e9a37353d7">Vamp::PluginBase::ParameterDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a3bed37153067b625b95acb40b60dbf0b">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#a71aa40222dda4321030cccd0bb655fe3">_VampOutputDescriptor</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x72.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,159 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li class="current"><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_r"></a>- r -</h3><ul> +<li>RealTime() +: <a class="el" href="structVamp_1_1RealTime.html#ad703be11b7beb07af08ddf133aa2ae79">Vamp::RealTime</a> +</li> +<li>realTime2Frame() +: <a class="el" href="structVamp_1_1RealTime.html#ac046c73d88da6715e55b12e10534bb5c">Vamp::RealTime</a> +</li> +<li>RectangularWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca99b08cf7a7f4a1b52a09044ea12c6324">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>releaseFeatureSet +: <a class="el" href="struct__VampPluginDescriptor.html#ac4bafe8ad2734d21a433d745b18e7d63">_VampPluginDescriptor</a> +</li> +<li>releaseOutputDescriptor +: <a class="el" href="struct__VampPluginDescriptor.html#a8cc38edc921616e67e551aa03397ec79">_VampPluginDescriptor</a> +</li> +<li>reset() +: <a class="el" href="classAmplitudeFollower.html#acebd835e80e84669df078fbd7591d8f7">AmplitudeFollower</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3402381d145d507bd26d1a67e3616911">Vamp::HostExt::PluginSummarisingAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a984a12b5b4cb0be1e2f7a0aa84106c4c">Vamp::HostExt::PluginInputDomainAdapter</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a5d54c5bbd76bc27b7a243827148afeaa">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a131fd9fe8a1795d7370d8a721176868a">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a> +, <a class="el" href="struct__VampPluginDescriptor.html#a12267f6b506aeda3792ff7c982b02336">_VampPluginDescriptor</a> +, <a class="el" href="classFixedTempoEstimator.html#ac41708397255400c6682fee6c1b3d45f">FixedTempoEstimator</a> +, <a class="el" href="classSpectralCentroid.html#a9b5f5581691ff8f46bb7674d8d74395c">SpectralCentroid</a> +, <a class="el" href="classPowerSpectrum.html#a091ba21e1697ea4208f42e8295c389d9">PowerSpectrum</a> +, <a class="el" href="classZeroCrossing.html#a9ae6c4a31ea027dceb1e97ead807e228">ZeroCrossing</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#af5ac8147bfe79371d00aba8a19c2f8fd">FixedTempoEstimator::D</a> +, <a class="el" href="classPercussionOnsetDetector.html#a9b1075e992cd9599764ef3881fb91d1a">PercussionOnsetDetector</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x73.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,200 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li class="current"><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_s"></a>- s -</h3><ul> +<li>SampleAverage +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76ae8833d866dec593d29f1f4e3cd1e6e36">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>sampleRate +: <a class="el" href="struct__VampOutputDescriptor.html#a1ccf193317b2b9c2eb0dbd8dcf61d26e">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#add0cbbdfa9c91764037c39365b1d42af">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>SampleType +: <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448c">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>sampleType +: <a class="el" href="struct__VampOutputDescriptor.html#a5da1d27cc99badc214640e859b882072">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>sec +: <a class="el" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">Vamp::RealTime</a> +, <a class="el" href="struct__VampFeature.html#a31f0b57050e33d082692536097953d9c">_VampFeature</a> +</li> +<li>SegmentBoundaries +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a74e7f93c745802a2409185b63922466b">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>selectProgram +: <a class="el" href="struct__VampPluginDescriptor.html#ad9af40cb165ca187e49250964af5f5cf">_VampPluginDescriptor</a> +, <a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a> +</li> +<li>setParameter() +: <a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a29f75395aa75b9de0228aa11edf9c6d6">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#ae1fc37ece4d20e40f3066a3361a99340">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a6cafa64d4cc8aa3556bc0ce6b0c49bc4">FixedTempoEstimator::D</a> +, <a class="el" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#aa097d72488e1211f05fc661ff5c6dc01">PercussionOnsetDetector</a> +, <a class="el" href="struct__VampPluginDescriptor.html#aad3cfc7a3b432df40bd9db13eee6a481">_VampPluginDescriptor</a> +</li> +<li>setPluginBlockSize() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#aa80ae1bff6f95e805811df2c3770a98c">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>setPluginStepSize() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#ac99898d78a01a7fad4def4d6c5fd3a7e">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>setProcessTimestampMethod() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a1d7366f8cab39abc01ebfc7bf7ca8089">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>setSummarySegmentBoundaries() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a1a659500ca1290a228c0b9b91f6ac0b7">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>setWindowType() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a652bf9f25352a4fa89dd80ff816558d4">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>ShiftData +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577a0838ff456d829e9096b5d968e6c55152">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>ShiftTimestamp +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577afcf39fe57ba29a908d4877c21de145dd">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>SpectralCentroid() +: <a class="el" href="classSpectralCentroid.html#a2cd801ad72f262eceb95ab0d22e7dbcd">SpectralCentroid</a> +</li> +<li>StandardDeviation +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a9342cd2209e20b93843cd389d9511ec7">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>Sum +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a9496664a605b3aa706f909070d73060b">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>SummaryType +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x74.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,146 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li class="current"><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_t"></a>- t -</h3><ul> +<li>tempo2lag() +: <a class="el" href="classFixedTempoEstimator_1_1D.html#ac6a75212293fc855de6ed0c6581a0fb9">FixedTempoEstimator::D</a> +</li> +<li>TimeDomain +: <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">Vamp::Plugin</a> +</li> +<li>timestamp +: <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#acaa605f36839c07e76f4882f5e22d8d7">Vamp::Plugin::Feature</a> +</li> +<li>toString() +: <a class="el" href="structVamp_1_1RealTime.html#ad44476618183bd736996a87292d03c07">Vamp::RealTime</a> +</li> +<li>toText() +: <a class="el" href="structVamp_1_1RealTime.html#ad75b927afadfa422ae512d169ccda0aa">Vamp::RealTime</a> +</li> +<li>TriangularWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcaae5133bd639336a5c31378f4c2939d42">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x75.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,140 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li class="current"><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_u"></a>- u -</h3><ul> +<li>unit +: <a class="el" href="struct__VampParameterDescriptor.html#a8ca235f816b56dc99125e010eee08fc7">_VampParameterDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#ad038caa8e596dfd037035637202f1d63">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a3bc3df322e4c02e17e96bc6d44982d7b">Vamp::PluginBase::ParameterDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>UnknownSummaryType +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705aeed3a16d665eb789053b82fdd386ee7c">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>usec() +: <a class="el" href="structVamp_1_1RealTime.html#aace9e2c60af62273e45ccd98d623914c">Vamp::RealTime</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x76.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,154 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li class="current"><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_v"></a>- v -</h3><ul> +<li>v1 +: <a class="el" href="union__VampFeatureUnion.html#a4a32a2ce141ec3cd36b8be54cd9c3369">_VampFeatureUnion</a> +</li> +<li>v2 +: <a class="el" href="union__VampFeatureUnion.html#a87e508e37e02cce11c3c4ddf087a627a">_VampFeatureUnion</a> +</li> +<li>valueCount +: <a class="el" href="struct__VampFeature.html#ab1ce7c8a2b489e9b0694a967497a29fd">_VampFeature</a> +</li> +<li>valueNames +: <a class="el" href="struct__VampParameterDescriptor.html#a188883325ab1e4a898e3dc53a8f88f9d">_VampParameterDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a94df96f53835980b4739965007ff222b">Vamp::PluginBase::ParameterDescriptor</a> +</li> +<li>values +: <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71">Vamp::Plugin::Feature</a> +, <a class="el" href="struct__VampFeature.html#ae4030f941ddb2bab8bc147b88e1f1c15">_VampFeature</a> +</li> +<li>vampApiVersion +: <a class="el" href="struct__VampPluginDescriptor.html#ab6c87760e87ddaa9ac3491bccaaa28c2">_VampPluginDescriptor</a> +</li> +<li>VariableSampleRate +: <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448cadea995a737867f7b22b52f1c43c5432e">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>Variance +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705ae965a9e5381745e6e3a75342d7c8e075">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x77.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,131 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li class="current"><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_w"></a>- w -</h3><ul> +<li>WindowType +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dc">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x7a.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,134 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li class="current"><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_z"></a>- z -</h3><ul> +<li>ZeroCrossing() +: <a class="el" href="classZeroCrossing.html#a9855153a54bdc9ba75cc1a705a149473">ZeroCrossing</a> +</li> +<li>zeroTime +: <a class="el" href="structVamp_1_1RealTime.html#abe453371597710148b0fd19bb452f8a9">Vamp::RealTime</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_0x7e.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,182 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions.html#index_a"><span>a</span></a></li> + <li><a href="functions_0x62.html#index_b"><span>b</span></a></li> + <li><a href="functions_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_0x68.html#index_h"><span>h</span></a></li> + <li><a href="functions_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li> + <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_0x71.html#index_q"><span>q</span></a></li> + <li><a href="functions_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_0x76.html#index_v"><span>v</span></a></li> + <li><a href="functions_0x77.html#index_w"><span>w</span></a></li> + <li><a href="functions_0x7a.html#index_z"><span>z</span></a></li> + <li class="current"><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div> + +<h3><a class="anchor" id="index_0x7e"></a>- ~ -</h3><ul> +<li>~AmplitudeFollower() +: <a class="el" href="classAmplitudeFollower.html#aa78f98539ad3a1b08691a99b32035b2d">AmplitudeFollower</a> +</li> +<li>~D() +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a78a63ac8bbf342cb0405747871adf4cc">FixedTempoEstimator::D</a> +</li> +<li>~FixedTempoEstimator() +: <a class="el" href="classFixedTempoEstimator.html#a0302c4bfdc163a3d34478cde93c96a53">FixedTempoEstimator</a> +</li> +<li>~PercussionOnsetDetector() +: <a class="el" href="classPercussionOnsetDetector.html#a99f833667cf8185e879d735216c7642b">PercussionOnsetDetector</a> +</li> +<li>~Plugin() +: <a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">Vamp::Plugin</a> +</li> +<li>~PluginAdapter() +: <a class="el" href="classVamp_1_1PluginAdapter.html#a9612c9df7d4844959a36921d43d4bd50">Vamp::PluginAdapter< P ></a> +</li> +<li>~PluginAdapterBase() +: <a class="el" href="classVamp_1_1PluginAdapterBase.html#aaa8afd318b6c3da108e1cbcc7e46603d">Vamp::PluginAdapterBase</a> +</li> +<li>~PluginBase() +: <a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">Vamp::PluginBase</a> +</li> +<li>~PluginBufferingAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a96263f7b0910a10eeae86f20db007e55">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>~PluginChannelAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#acb9a20fefd130e323b1eb2ced43e521c">Vamp::HostExt::PluginChannelAdapter</a> +</li> +<li>~PluginHostAdapter() +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#aed66c091340aa668d3be89c4b4c24474">Vamp::PluginHostAdapter</a> +</li> +<li>~PluginInputDomainAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#aba2cbfa650d8a7c9181dbdb49b10aad0">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>~PluginLoader() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ad74ab52bc6aa2514b3a6b3f679fc492c">Vamp::HostExt::PluginLoader</a> +</li> +<li>~PluginSummarisingAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a47846e7cc0ef4a29335e08b9645316d0">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>~PluginWrapper() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac4fb6cfd7c0d3b2c8576a4e9dc61f518">Vamp::HostExt::PluginWrapper</a> +</li> +<li>~PowerSpectrum() +: <a class="el" href="classPowerSpectrum.html#ae7081e159ad1da5da1721b3048075306">PowerSpectrum</a> +</li> +<li>~SpectralCentroid() +: <a class="el" href="classSpectralCentroid.html#a483e0d6757bc3dcf61e8066f764f45c6">SpectralCentroid</a> +</li> +<li>~ZeroCrossing() +: <a class="el" href="classZeroCrossing.html#af1de0da862e6e2443581e4e16044675b">ZeroCrossing</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_enum.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,121 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Enumerations</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li class="current"><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> + <ul> +<li>AdapterFlags +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494">Vamp::HostExt::PluginLoader</a> +</li> +<li>AveragingMethod +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>InputDomain +: <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin</a> +</li> +<li>ProcessTimestampMethod +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>SampleType +: <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448c">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>SummaryType +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>WindowType +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dc">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_eval.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,269 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Enumerator</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li class="current"><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="#index_a"><span>a</span></a></li> + <li><a href="#index_b"><span>b</span></a></li> + <li><a href="#index_c"><span>c</span></a></li> + <li><a href="#index_f"><span>f</span></a></li> + <li><a href="#index_h"><span>h</span></a></li> + <li><a href="#index_m"><span>m</span></a></li> + <li><a href="#index_n"><span>n</span></a></li> + <li><a href="#index_o"><span>o</span></a></li> + <li><a href="#index_r"><span>r</span></a></li> + <li><a href="#index_s"><span>s</span></a></li> + <li><a href="#index_t"><span>t</span></a></li> + <li><a href="#index_u"><span>u</span></a></li> + <li><a href="#index_v"><span>v</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_a"></a>- a -</h3><ul> +<li>ADAPT_ALL +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a3b1e08415c0cbc96f7900eac955ad6d0">Vamp::HostExt::PluginLoader</a> +</li> +<li>ADAPT_ALL_SAFE +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a8220529e851ae30d37f413c40a389e08">Vamp::HostExt::PluginLoader</a> +</li> +<li>ADAPT_BUFFER_SIZE +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a5c0c389797922630a6b54ffd1eed21f1">Vamp::HostExt::PluginLoader</a> +</li> +<li>ADAPT_CHANNEL_COUNT +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a54c43b85382d78e8ea8da192bce3a139">Vamp::HostExt::PluginLoader</a> +</li> +<li>ADAPT_INPUT_DOMAIN +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff3ee11692ce25e0dfb904324cbe3494a763a9a0caf512d9671b90c05c2808a09">Vamp::HostExt::PluginLoader</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_b"></a>- b -</h3><ul> +<li>BartlettWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca77fd88a7d94fcd9c6c4aef30b86f077d">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>BlackmanHarrisWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca7cbf5d8c58f33bcfa28e3a5863d6ac94">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>BlackmanWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca2e298b1bee28272721953b2921891da6">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_c"></a>- c -</h3><ul> +<li>ContinuousTimeAverage +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76a6af6316c12e29bdbdff90c5fec764baa">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>Count +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a2395772fa2e74b3f617e20c76d579ad6">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_f"></a>- f -</h3><ul> +<li>FixedSampleRate +: <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca4c74bd2fc96dfe2815623f94b40e5629">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>FrequencyDomain +: <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcaa30e7877ab33f76acbdca28607e6ab53">Vamp::Plugin</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_h"></a>- h -</h3><ul> +<li>HammingWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca9d522bff8d5884a8ba57d5a8c7e113c8">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>HanningWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcacad78947b6c8db20feb5ddf208ac1108">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>HannWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcadc87b20cfb5f1ddd23ebc281e3e47916">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_m"></a>- m -</h3><ul> +<li>Maximum +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705adefff4e5073aa298a96d99b92025b7f9">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>Mean +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705ae8a03f013397d08c85734e47524f5a75">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>Median +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705aadde1f9a5a6557f25223279433699195">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>Minimum +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a320b8a4cd0c3d492aeb17f7fc4ed930c">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>Mode +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a1688d03811a2268daa062220f5be0614">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_n"></a>- n -</h3><ul> +<li>NoShift +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577ab06e8c6824802978d0be4074a556b297">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>NuttallWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcaa6a2f46966a46cc7abdf2df74270999e">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_o"></a>- o -</h3><ul> +<li>OneSamplePerStep +: <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca0459d5d0d2198d21e8bc90abe4fdccca">Vamp::Plugin::OutputDescriptor</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_r"></a>- r -</h3><ul> +<li>RectangularWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dca99b08cf7a7f4a1b52a09044ea12c6324">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_s"></a>- s -</h3><ul> +<li>SampleAverage +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a294e9eed9c541dcedbaa4f2dfda1ac76ae8833d866dec593d29f1f4e3cd1e6e36">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>ShiftData +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577a0838ff456d829e9096b5d968e6c55152">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>ShiftTimestamp +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a2518e4922d77bc4e514d84cec9a0b577afcf39fe57ba29a908d4877c21de145dd">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>StandardDeviation +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a9342cd2209e20b93843cd389d9511ec7">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>Sum +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705a9496664a605b3aa706f909070d73060b">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_t"></a>- t -</h3><ul> +<li>TimeDomain +: <a class="el" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">Vamp::Plugin</a> +</li> +<li>TriangularWindow +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a27e6a7c3f93f1618836792b588b767dcaae5133bd639336a5c31378f4c2939d42">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_u"></a>- u -</h3><ul> +<li>UnknownSummaryType +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705aeed3a16d665eb789053b82fdd386ee7c">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_v"></a>- v -</h3><ul> +<li>VariableSampleRate +: <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448cadea995a737867f7b22b52f1c43c5432e">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>Variance +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af504f810448961fc489e9b6572471705ae965a9e5381745e6e3a75342d7c8e075">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li class="current"><a href="functions_func.html#index_a"><span>a</span></a></li> + <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_a"></a>- a -</h3><ul> +<li>AmplitudeFollower() +: <a class="el" href="classAmplitudeFollower.html#a29eaeffc353da2614ae508abcd0ab63f">AmplitudeFollower</a> +</li> +<li>assembleFeatures() +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a20389ba1515f6ce4181d3f41e5c4f347">FixedTempoEstimator::D</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func_0x63.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,135 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions_func.html#index_a"><span>a</span></a></li> + <li class="current"><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_c"></a>- c -</h3><ul> +<li>calculate() +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a4f2cbc11fba5bc8af3fd2a0078156091">FixedTempoEstimator::D</a> +</li> +<li>composePluginKey() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#acc6865d27825c100d7b6f9ed6ecf5207">Vamp::HostExt::PluginLoader</a> +</li> +<li>convertFeatures() +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#aee417a4c9ba9dbb63777c963d5f9452a">Vamp::PluginHostAdapter</a> +</li> +<li>createPlugin() +: <a class="el" href="classVamp_1_1PluginAdapterBase.html#a9116adb9b7a426f4f0ded15e45a5531b">Vamp::PluginAdapterBase</a> +, <a class="el" href="classVamp_1_1PluginAdapter.html#a3f387e7e37409e00d32477903b5b13d3">Vamp::PluginAdapter< P ></a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func_0x64.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions_func.html#index_a"><span>a</span></a></li> + <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li class="current"><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_d"></a>- d -</h3><ul> +<li>D() +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a104a9b64d47eca678844584f69ca0b9d">FixedTempoEstimator::D</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func_0x66.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,140 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions_func.html#index_a"><span>a</span></a></li> + <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li class="current"><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_f"></a>- f -</h3><ul> +<li>Feature() +: <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#acd4b4cd0d2c31512f4a5df50f8f7a7b8">Vamp::Plugin::Feature</a> +</li> +<li>FixedTempoEstimator() +: <a class="el" href="classFixedTempoEstimator.html#a3967c189f054f864639837c2519bd64d">FixedTempoEstimator</a> +</li> +<li>frame2RealTime() +: <a class="el" href="structVamp_1_1RealTime.html#a939b4b1d1ca190db69a418883f16ce8a">Vamp::RealTime</a> +</li> +<li>fromMilliseconds() +: <a class="el" href="structVamp_1_1RealTime.html#a6992d9959fc4f19c11a98f17506f4905">Vamp::RealTime</a> +</li> +<li>fromSeconds() +: <a class="el" href="structVamp_1_1RealTime.html#ae29ae57d19c66f256839988a0959c6bb">Vamp::RealTime</a> +</li> +<li>fromTimeval() +: <a class="el" href="structVamp_1_1RealTime.html#a7f1e1e35ca5196283b2086e3d9cd9d3b">Vamp::RealTime</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func_0x67.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,336 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions_func.html#index_a"><span>a</span></a></li> + <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li class="current"><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_g"></a>- g -</h3><ul> +<li>getActualStepAndBlockSizes() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#aa065985fd864f6869d1bc7fea6fa2ece">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>getCopyright() +: <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae14f6ecb78be909c4cd5f0cdaed3c566">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classPowerSpectrum.html#a708b4d335c57643d5ef2b2e1caf43bd9">PowerSpectrum</a> +, <a class="el" href="classSpectralCentroid.html#a925747d513d598e0fa21ed0ed6520980">SpectralCentroid</a> +, <a class="el" href="classAmplitudeFollower.html#a0c197fc90f30d91cb4403115c83c9134">AmplitudeFollower</a> +, <a class="el" href="classZeroCrossing.html#af9c41b92aa8ff8bddaebf75569ff789c">ZeroCrossing</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#ac73c9d6baad04369beee695e99584815">Vamp::PluginHostAdapter</a> +, <a class="el" href="classFixedTempoEstimator.html#a50c6b64530c84c0707ba3936c5022a48">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#a1a22ece271330c94cc08798a77416351">PercussionOnsetDetector</a> +</li> +<li>getCurrentProgram() +: <a class="el" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a34859eff8ca8d862af39be9636ec1867">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a7a312dd42d161064b70afd7ff24c0651">Vamp::HostExt::PluginWrapper</a> +</li> +<li>getDescription() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac334f699c0996055942785410d8a065c">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#a6f0f2fea1fdb4b51e688edfe859d5062">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator.html#a06b00853f00c2e78d490697fcd7d1920">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#a9061d189705802a48973a7ccab6360db">PercussionOnsetDetector</a> +, <a class="el" href="classPowerSpectrum.html#a7b48d56dc954f3af344f7e4dcd8993e5">PowerSpectrum</a> +, <a class="el" href="classSpectralCentroid.html#a8fbb74a46283057d9a0b0e4718ee943c">SpectralCentroid</a> +, <a class="el" href="classZeroCrossing.html#a710bb0b013157adaeef2a9e6867b4478">ZeroCrossing</a> +, <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a5eaafcef030e81b90a3e77cf16cf8ae1">Vamp::PluginHostAdapter</a> +</li> +<li>getDescriptor() +: <a class="el" href="classVamp_1_1PluginAdapterBase.html#ad24595002512f9f00e8e45216d6f5dfb">Vamp::PluginAdapterBase</a> +</li> +<li>getIdentifier() +: <a class="el" href="classZeroCrossing.html#af2baf9e19fcdd11cfe97ace56d4f5c1a">ZeroCrossing</a> +, <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#ab27423a656f878d97d2ad2eba4e76c7a">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a4baa9e48f717c2b3e7f92496aa39d904">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#afe7576af95c8fcc7f5bad42eec9f9f29">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator.html#ab818edcf1555177d10260e197e3a5e7a">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#a267c83a7533146c127e2c3be310e0154">PercussionOnsetDetector</a> +, <a class="el" href="classPowerSpectrum.html#a9e9d8349461cbb88d7565a5e8c51b64e">PowerSpectrum</a> +, <a class="el" href="classSpectralCentroid.html#a1b2c4c8440c024c4c635fcef5697949f">SpectralCentroid</a> +</li> +<li>getInputDomain() +: <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8e9d25673367c741631a60cbb36e91d2">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ae203faf8384c9e1fddc381409aa8a214">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#afc07a389b5f922b944b0350fd232d2eb">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator.html#a055689c9b41b0945e8d3cdbc3b8c3a2e">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#a4f6954267696ee5bfa7dd1c4a6cfa92a">PercussionOnsetDetector</a> +, <a class="el" href="classPowerSpectrum.html#ae04e0e34847a93f3444d04c802ee56ef">PowerSpectrum</a> +, <a class="el" href="classSpectralCentroid.html#a0ec2cb74c1c5f6e57d0bd9dcf7c8f469">SpectralCentroid</a> +, <a class="el" href="classZeroCrossing.html#aafe2ce6ebd353a14c40db7e8e60f4051">ZeroCrossing</a> +</li> +<li>getInstance() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a1d77fa1d58ee4fee2985b5af02380326">Vamp::HostExt::PluginLoader</a> +</li> +<li>getLibraryPathForPlugin() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a4bbcb7873e617bbc9f79eade1f90f7ad">Vamp::HostExt::PluginLoader</a> +</li> +<li>getMaker() +: <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#af572be0b175f5661559006a380a0f3db">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a59d5a2298951b317995675e664b1c7bb">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#a44fc43838f203f58bc2ce6e3cb2b03dd">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator.html#ae910d1b9250b11097fd6b51cd8285b68">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#a63d63f2cb7ea8d8b09d58cc13b541375">PercussionOnsetDetector</a> +, <a class="el" href="classPowerSpectrum.html#a9f3e3f759e2b67c771a41f1c276984b2">PowerSpectrum</a> +, <a class="el" href="classSpectralCentroid.html#ac01ff858bf67e2e93ad5d24a6ba8c8c8">SpectralCentroid</a> +, <a class="el" href="classZeroCrossing.html#ac68561634a3c329a029c2fd3deaeae2a">ZeroCrossing</a> +</li> +<li>getMaxChannelCount() +: <a class="el" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">Vamp::Plugin</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a25091905e97e39d515d8ffc1a9f2b9e0">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a985eb21f1827bfbc3950d6871b107a58">Vamp::HostExt::PluginWrapper</a> +</li> +<li>getMinChannelCount() +: <a class="el" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">Vamp::Plugin</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a67d1198c0e58d3f0076d0eda599ff28d">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2b28f1cf37d46a514f1e1411a6037bf8">Vamp::HostExt::PluginWrapper</a> +</li> +<li>getName() +: <a class="el" href="classFixedTempoEstimator.html#af9eb6fa8a98aa66b55e64e1795f9405f">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#aa98f1ad061a11af98c054011a8844e6f">PercussionOnsetDetector</a> +, <a class="el" href="classPowerSpectrum.html#ac9214f9cafeeed3fca549c90aef57623">PowerSpectrum</a> +, <a class="el" href="classSpectralCentroid.html#ab7e6a620fea568af431be3cfd9dd5a41">SpectralCentroid</a> +, <a class="el" href="classZeroCrossing.html#afa96f7ce6e7d9f03768f48c6a9d88498">ZeroCrossing</a> +, <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a45f1d0377e233eeddd1b7cefb48be62a">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac70a3265bb25aeb03f6dd8f8a0442088">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#a7cfed00bc9d96ba6c709b69ab6a40594">AmplitudeFollower</a> +</li> +<li>getOutputDescriptors() +: <a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#af8cc914897a284433de220f1153f3845">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classZeroCrossing.html#ac9d590a6feb1fc9a37d7892aefe2b688">ZeroCrossing</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a9649a113da0252fe8bd9fc731b047ae0">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a9411305f713b4c9827844b89acd270">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#a043e3c3db77d76267cd8069e1485bf26">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a7ce98af800f36045a0dae4b1dbed943f">FixedTempoEstimator::D</a> +, <a class="el" href="classFixedTempoEstimator.html#a83121c205a723fe6297e2bf8870622a4">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#aa4537aa0eb58a67d6e824d46924cf782">PercussionOnsetDetector</a> +, <a class="el" href="classPowerSpectrum.html#a6aac5f93e3a8c033026d739fed427242">PowerSpectrum</a> +, <a class="el" href="classSpectralCentroid.html#a894ca9740927102bb80b56b5e9e95877">SpectralCentroid</a> +</li> +<li>getParameter() +: <a class="el" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#af0c46d4f67ca93be7c76f3ea2e6c8efb">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a034920f56c8d7609a85447c42556048c">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#ab278c4b6f2ca23248dc94ad775273f39">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a968ef2e555c81e4a3bde89d19fafb31a">FixedTempoEstimator::D</a> +, <a class="el" href="classFixedTempoEstimator.html#a2030b05fb1228b30ace16200780c9152">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#a9b28da8315fcde46ce7644d6592ba527">PercussionOnsetDetector</a> +</li> +<li>getParameterDescriptors() +: <a class="el" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a602faa0bfaae83e2ca53b36292271a76">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9be71561265c2e6e43b7feaddaa91f36">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#a9df01323a09e117bc12354ebe9244edf">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator.html#ae157465a4e07d180bab05b5c3a4d8987">FixedTempoEstimator</a> +, <a class="el" href="classPercussionOnsetDetector.html#abceae88cc9762b0ea310d7aad71de815">PercussionOnsetDetector</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a06fcf80a9a22c4b90abbc88eb592621a">FixedTempoEstimator::D</a> +</li> +<li>getPluginCategory() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a52746ea66339ad981b868a031a3b382d">Vamp::HostExt::PluginLoader</a> +</li> +<li>getPluginPath() +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#a09cbfb7903d28f10d6d556c6cb81c5f6">Vamp::PluginHostAdapter</a> +</li> +<li>getPluginPreferredBlockSize() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7045be875de9dd226d2e2a222e957de0">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>getPluginPreferredStepSize() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#ad7fad500331808b5cdf90f5a45019b02">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>getPluginVersion() +: <a class="el" href="classPercussionOnsetDetector.html#ad6b818dbd81867ce7be71c99cae861be">PercussionOnsetDetector</a> +, <a class="el" href="classSpectralCentroid.html#af64622e66bf678ac2b0b58aa832ca2b3">SpectralCentroid</a> +, <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a47e1acf1696813008324a915c9ba59c5">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#a8a5d7a834eb996d517c51f84b2a72250">AmplitudeFollower</a> +, <a class="el" href="classFixedTempoEstimator.html#ad002fddb3735c2dd7e31e6a9def9949f">FixedTempoEstimator</a> +, <a class="el" href="classPowerSpectrum.html#ad23d27e4e82f10404a37b933f6a72c33">PowerSpectrum</a> +, <a class="el" href="classZeroCrossing.html#ad685f6c2f443f07a1634550c335571eb">ZeroCrossing</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a6fbd94781867ca46a20368c2a3593c77">Vamp::PluginHostAdapter</a> +</li> +<li>getPreferredBlockSize() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2c62a656313a819650656643a867ad01">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#ad5e0ea8042bdec4dd18428991117e07a">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a21e45180b19873f9ab69fe7a4e184a03">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classPercussionOnsetDetector.html#a410c0b47c6c849d7ed9b726b84402ad0">PercussionOnsetDetector</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#ac02826f981736fc2aa5d835fa14e174d">FixedTempoEstimator::D</a> +, <a class="el" href="classFixedTempoEstimator.html#a68b8569b71504a0478caf990dbe30683">FixedTempoEstimator</a> +, <a class="el" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">Vamp::Plugin</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>getPreferredStepSize() +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#a859ad5d59402691daed3cf1af1899ebe">Vamp::PluginHostAdapter</a> +, <a class="el" href="classPercussionOnsetDetector.html#a733824891e11c306a7a678534b89b968">PercussionOnsetDetector</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a0137d93d7019bacc31104836fb4d352e">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">Vamp::Plugin</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ad979af9f1cbf2eeb16f4eaedb4a4f565">Vamp::HostExt::PluginInputDomainAdapter</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#add749be18355ab1ae5c1ccbacfd2e192">FixedTempoEstimator::D</a> +, <a class="el" href="classFixedTempoEstimator.html#ad450bb7e7df559ae3d68dfbfb085676f">FixedTempoEstimator</a> +</li> +<li>getProcessTimestampMethod() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#acfc7a9121f678fd085448f68f15c9eae">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>getPrograms() +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#ae0cde5cd625418c1bc470b91f75daafc">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a131fbe1df81215020b9aa8cecef4c802">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">Vamp::PluginBase</a> +</li> +<li>getRemainingFeatures() +: <a class="el" href="classSpectralCentroid.html#a83ba39f0870a2f86837605a958dfab1a">SpectralCentroid</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a7f9c3603bb3374d6936885010dbdd82b">FixedTempoEstimator::D</a> +, <a class="el" href="classZeroCrossing.html#a70996d1b7166e303903daf92a9a37ad8">ZeroCrossing</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a2bc8c0992e64f06991fb7cf89f99857e">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ae9dcbd1ba8197ff90b4fc6bf7ade7688">Vamp::HostExt::PluginSummarisingAdapter</a> +, <a class="el" href="classPercussionOnsetDetector.html#ad3d6767ed137783e84f842b4d4732ffa">PercussionOnsetDetector</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a28423951b2eda1a1fc371485434f417b">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classAmplitudeFollower.html#a368606f643b88e0df0823d85e36f030c">AmplitudeFollower</a> +, <a class="el" href="classPowerSpectrum.html#ac8a9661a785d38f4c5ce8ca2d53e69f9">PowerSpectrum</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a984a4c11f3fbdcfd90e4837b1619a5ab">Vamp::PluginHostAdapter</a> +, <a class="el" href="classFixedTempoEstimator.html#a4965cf99be77fc4d1de51e11d83936b0">FixedTempoEstimator</a> +, <a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin</a> +</li> +<li>getSummaryForAllOutputs() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#ac3f93d9ca2d25c9fdc80d0ba10eaaa6b">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>getSummaryForOutput() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#abe13faa68d3244b962dbd362671e23f9">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>getTimestampAdjustment() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ac1ab6af0fcda0a4c3f050c54b2db4769">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>getType() +: <a class="el" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">Vamp::Plugin</a> +, <a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a> +</li> +<li>getVampApiVersion() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a74147fda6b44ff2169bd4a1eea0d46ff">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a98aadddc8403eb46c9d8c5a9d1fdd19e">Vamp::PluginHostAdapter</a> +</li> +<li>getWindowType() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab143065e1a65f1d860cb26b32d5a9c1e">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>getWrapper() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05">Vamp::HostExt::PluginWrapper</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func_0x69.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions_func.html#index_a"><span>a</span></a></li> + <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li class="current"><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_i"></a>- i -</h3><ul> +<li>initialise() +: <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">Vamp::Plugin</a> +, <a class="el" href="classZeroCrossing.html#af21bbcc87a6eb7875dfab7d86222dccc">ZeroCrossing</a> +, <a class="el" href="classSpectralCentroid.html#aab1ae16f5c68e2b319668f447908cedb">SpectralCentroid</a> +, <a class="el" href="classPowerSpectrum.html#ae2d046334c4bede5be72a0d97e4dfb29">PowerSpectrum</a> +, <a class="el" href="classPercussionOnsetDetector.html#a349c528260622308f3850bcda8a448ab">PercussionOnsetDetector</a> +, <a class="el" href="classFixedTempoEstimator.html#aa7500a4ffbc4653baaf5101defdb37f5">FixedTempoEstimator</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#af0fcad4493650728babb7e341963c91d">FixedTempoEstimator::D</a> +, <a class="el" href="classAmplitudeFollower.html#aeb727e44ee8ad1aceb90964d20f8d90d">AmplitudeFollower</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a1e994576d43efe103bf8f83b69716745">Vamp::HostExt::PluginSummarisingAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a72d201eca10ec73bf16e07984f58f94c">Vamp::HostExt::PluginInputDomainAdapter</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#add6a2f1ee7e47bd97fa599cead14b738">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ade0473c8fc54636431967cbf41649c1c">Vamp::HostExt::PluginChannelAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a9e7798ba4d7870db46502ab541ab37a8">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func_0x6c.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,131 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions_func.html#index_a"><span>a</span></a></li> + <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li class="current"><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_l"></a>- l -</h3><ul> +<li>lag2tempo() +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a0a7cb0705938097ab23a6f9187e6bae5">FixedTempoEstimator::D</a> +</li> +<li>listPlugins() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff51b52bb68aa2934ccf26ad1d284f28">Vamp::HostExt::PluginLoader</a> +</li> +<li>loadPlugin() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f">Vamp::HostExt::PluginLoader</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func_0x6d.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions_func.html#index_a"><span>a</span></a></li> + <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li class="current"><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_m"></a>- m -</h3><ul> +<li>msec() +: <a class="el" href="structVamp_1_1RealTime.html#a76e22815db51ae180c38021110da9947">Vamp::RealTime</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func_0x6f.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,155 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions_func.html#index_a"><span>a</span></a></li> + <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li class="current"><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_o"></a>- o -</h3><ul> +<li>operator!=() +: <a class="el" href="structVamp_1_1RealTime.html#ae9b0ea7c217163d5327b1a2a0662a90b">Vamp::RealTime</a> +</li> +<li>operator+() +: <a class="el" href="structVamp_1_1RealTime.html#a6b74748d1eb4c3c751e7a12aefae0bde">Vamp::RealTime</a> +</li> +<li>operator-() +: <a class="el" href="structVamp_1_1RealTime.html#af62915355c482f2e1611a52a7f17f5ed">Vamp::RealTime</a> +</li> +<li>operator/() +: <a class="el" href="structVamp_1_1RealTime.html#ac88cda961da5cb728d823b29c5456c06">Vamp::RealTime</a> +</li> +<li>operator<() +: <a class="el" href="structVamp_1_1RealTime.html#a78e378a5dd0137a6514dca18edda6f9a">Vamp::RealTime</a> +</li> +<li>operator<=() +: <a class="el" href="structVamp_1_1RealTime.html#acf4278eec678c558d62bbda6bc1da44e">Vamp::RealTime</a> +</li> +<li>operator=() +: <a class="el" href="structVamp_1_1RealTime.html#adb82f838804a9a3ad49988de5944d090">Vamp::RealTime</a> +</li> +<li>operator==() +: <a class="el" href="structVamp_1_1RealTime.html#abc5f06b5b9973012cb7453192df3ea5e">Vamp::RealTime</a> +</li> +<li>operator>() +: <a class="el" href="structVamp_1_1RealTime.html#a6f0aced679e2f97133ed63c688b335e4">Vamp::RealTime</a> +</li> +<li>operator>=() +: <a class="el" href="structVamp_1_1RealTime.html#a5cb785a410e3a91ed3092b7bba22afc3">Vamp::RealTime</a> +</li> +<li>OutputDescriptor() +: <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1ebf91cc3f60e4cbba818c10591cd344">Vamp::Plugin::OutputDescriptor</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func_0x70.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,180 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions_func.html#index_a"><span>a</span></a></li> + <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li class="current"><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_p"></a>- p -</h3><ul> +<li>ParameterDescriptor() +: <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a5b793130e9746b2302317b3c9a9c1395">Vamp::PluginBase::ParameterDescriptor</a> +</li> +<li>PercussionOnsetDetector() +: <a class="el" href="classPercussionOnsetDetector.html#a9f700579805ee5105758d847baab3511">PercussionOnsetDetector</a> +</li> +<li>Plugin() +: <a class="el" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">Vamp::Plugin</a> +</li> +<li>PluginAdapter() +: <a class="el" href="classVamp_1_1PluginAdapter.html#a16312efd629b7063d7b6d67889a2c15a">Vamp::PluginAdapter< P ></a> +</li> +<li>PluginAdapterBase() +: <a class="el" href="classVamp_1_1PluginAdapterBase.html#a5dad6a9b4b170c0f284962e125ac988e">Vamp::PluginAdapterBase</a> +</li> +<li>PluginBufferingAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a1276bcfcbe1414b33eeefbd7b2b702fe">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>PluginChannelAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a2cda2b672708264f9a33c43bad3acdd8">Vamp::HostExt::PluginChannelAdapter</a> +</li> +<li>PluginHostAdapter() +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#a6535abd551acfbbaab381bbe1268cd49">Vamp::PluginHostAdapter</a> +</li> +<li>PluginInputDomainAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a878e7275acdb77efc7a802944305039d">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>PluginLoader() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a5ab9e0281244bef7976c6c0ce1a55c24">Vamp::HostExt::PluginLoader</a> +</li> +<li>PluginSummarisingAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a31b41f54560a2ae6c3ec1a945f3f1d68">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>PluginWrapper() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a35cc2d42f8322f5022e89859a79c97be">Vamp::HostExt::PluginWrapper</a> +</li> +<li>PowerSpectrum() +: <a class="el" href="classPowerSpectrum.html#aa2550486513a4abcf7b52869002947e7">PowerSpectrum</a> +</li> +<li>process() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3314b456a4780601c021dac25b478846">Vamp::HostExt::PluginSummarisingAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a55058a20c1f8bffc0dc927350df778a0">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin</a> +, <a class="el" href="classFixedTempoEstimator.html#a1cf76b0e55cf4ed3da095cffcdeaec3c">FixedTempoEstimator</a> +, <a class="el" href="classZeroCrossing.html#abf4aaa6fd8cc03de63f4e1e8942633da">ZeroCrossing</a> +, <a class="el" href="classAmplitudeFollower.html#a48d0f95cac31ffd190cff89b50a2a5bd">AmplitudeFollower</a> +, <a class="el" href="classSpectralCentroid.html#aca96c70e7e75c9e4a7db38485018914c">SpectralCentroid</a> +, <a class="el" href="classPowerSpectrum.html#aa5664ffc2b37a16db471fae791c1f55f">PowerSpectrum</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a7fac74fc9fc54f436408705d1e125e20">FixedTempoEstimator::D</a> +, <a class="el" href="classPercussionOnsetDetector.html#adfd989812b3e0cb8f4b498f56a5a9614">PercussionOnsetDetector</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ab36a81ac9a0ded8d83c6b855263c0231">Vamp::HostExt::PluginInputDomainAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a6bd72d6dfb3047524dbe8ae3294527cf">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a6ff37bf754ff8711dbcb2f020fa3902c">Vamp::HostExt::PluginChannelAdapter</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a38fe1080b343ba10e5d8a4b30c87cbdd">Vamp::PluginHostAdapter</a> +</li> +<li>processInterleaved() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#a5c94c3eb1dbc8899fe58527bbb7bb61f">Vamp::HostExt::PluginChannelAdapter</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func_0x72.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,143 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions_func.html#index_a"><span>a</span></a></li> + <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li class="current"><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_r"></a>- r -</h3><ul> +<li>RealTime() +: <a class="el" href="structVamp_1_1RealTime.html#ad703be11b7beb07af08ddf133aa2ae79">Vamp::RealTime</a> +</li> +<li>realTime2Frame() +: <a class="el" href="structVamp_1_1RealTime.html#ac046c73d88da6715e55b12e10534bb5c">Vamp::RealTime</a> +</li> +<li>reset() +: <a class="el" href="classPercussionOnsetDetector.html#a9b1075e992cd9599764ef3881fb91d1a">PercussionOnsetDetector</a> +, <a class="el" href="classFixedTempoEstimator.html#ac41708397255400c6682fee6c1b3d45f">FixedTempoEstimator</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#af5ac8147bfe79371d00aba8a19c2f8fd">FixedTempoEstimator::D</a> +, <a class="el" href="classAmplitudeFollower.html#acebd835e80e84669df078fbd7591d8f7">AmplitudeFollower</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a3402381d145d507bd26d1a67e3616911">Vamp::HostExt::PluginSummarisingAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a984a12b5b4cb0be1e2f7a0aa84106c4c">Vamp::HostExt::PluginInputDomainAdapter</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a5d54c5bbd76bc27b7a243827148afeaa">Vamp::PluginHostAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a131fd9fe8a1795d7370d8a721176868a">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classVamp_1_1Plugin.html#aad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a> +, <a class="el" href="classZeroCrossing.html#a9ae6c4a31ea027dceb1e97ead807e228">ZeroCrossing</a> +, <a class="el" href="classSpectralCentroid.html#a9b5f5581691ff8f46bb7674d8d74395c">SpectralCentroid</a> +, <a class="el" href="classPowerSpectrum.html#a091ba21e1697ea4208f42e8295c389d9">PowerSpectrum</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func_0x73.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,156 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions_func.html#index_a"><span>a</span></a></li> + <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li class="current"><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_s"></a>- s -</h3><ul> +<li>selectProgram() +: <a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">Vamp::PluginBase</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a> +</li> +<li>setParameter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a> +, <a class="el" href="classAmplitudeFollower.html#ae1fc37ece4d20e40f3066a3361a99340">AmplitudeFollower</a> +, <a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">Vamp::PluginBase</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a6cafa64d4cc8aa3556bc0ce6b0c49bc4">FixedTempoEstimator::D</a> +, <a class="el" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75">FixedTempoEstimator</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a> +, <a class="el" href="classPercussionOnsetDetector.html#aa097d72488e1211f05fc661ff5c6dc01">PercussionOnsetDetector</a> +, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a29f75395aa75b9de0228aa11edf9c6d6">Vamp::PluginHostAdapter</a> +</li> +<li>setPluginBlockSize() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#aa80ae1bff6f95e805811df2c3770a98c">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>setPluginStepSize() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#ac99898d78a01a7fad4def4d6c5fd3a7e">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>setProcessTimestampMethod() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a1d7366f8cab39abc01ebfc7bf7ca8089">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>setSummarySegmentBoundaries() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a1a659500ca1290a228c0b9b91f6ac0b7">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>setWindowType() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a652bf9f25352a4fa89dd80ff816558d4">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>SpectralCentroid() +: <a class="el" href="classSpectralCentroid.html#a2cd801ad72f262eceb95ab0d22e7dbcd">SpectralCentroid</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func_0x74.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,131 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions_func.html#index_a"><span>a</span></a></li> + <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li class="current"><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_t"></a>- t -</h3><ul> +<li>tempo2lag() +: <a class="el" href="classFixedTempoEstimator_1_1D.html#ac6a75212293fc855de6ed0c6581a0fb9">FixedTempoEstimator::D</a> +</li> +<li>toString() +: <a class="el" href="structVamp_1_1RealTime.html#ad44476618183bd736996a87292d03c07">Vamp::RealTime</a> +</li> +<li>toText() +: <a class="el" href="structVamp_1_1RealTime.html#ad75b927afadfa422ae512d169ccda0aa">Vamp::RealTime</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func_0x75.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions_func.html#index_a"><span>a</span></a></li> + <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li class="current"><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_u"></a>- u -</h3><ul> +<li>usec() +: <a class="el" href="structVamp_1_1RealTime.html#aace9e2c60af62273e45ccd98d623914c">Vamp::RealTime</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func_0x7a.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,125 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions_func.html#index_a"><span>a</span></a></li> + <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li class="current"><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_z"></a>- z -</h3><ul> +<li>ZeroCrossing() +: <a class="el" href="classZeroCrossing.html#a9855153a54bdc9ba75cc1a705a149473">ZeroCrossing</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_func_0x7e.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,176 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Functions</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li class="current"><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="functions_func.html#index_a"><span>a</span></a></li> + <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li> + <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li> + <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li> + <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li> + <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li> + <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li> + <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li> + <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li> + <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li> + <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li> + <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li> + <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li> + <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li> + <li><a href="functions_func_0x7a.html#index_z"><span>z</span></a></li> + <li class="current"><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_0x7e"></a>- ~ -</h3><ul> +<li>~AmplitudeFollower() +: <a class="el" href="classAmplitudeFollower.html#aa78f98539ad3a1b08691a99b32035b2d">AmplitudeFollower</a> +</li> +<li>~D() +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a78a63ac8bbf342cb0405747871adf4cc">FixedTempoEstimator::D</a> +</li> +<li>~FixedTempoEstimator() +: <a class="el" href="classFixedTempoEstimator.html#a0302c4bfdc163a3d34478cde93c96a53">FixedTempoEstimator</a> +</li> +<li>~PercussionOnsetDetector() +: <a class="el" href="classPercussionOnsetDetector.html#a99f833667cf8185e879d735216c7642b">PercussionOnsetDetector</a> +</li> +<li>~Plugin() +: <a class="el" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">Vamp::Plugin</a> +</li> +<li>~PluginAdapter() +: <a class="el" href="classVamp_1_1PluginAdapter.html#a9612c9df7d4844959a36921d43d4bd50">Vamp::PluginAdapter< P ></a> +</li> +<li>~PluginAdapterBase() +: <a class="el" href="classVamp_1_1PluginAdapterBase.html#aaa8afd318b6c3da108e1cbcc7e46603d">Vamp::PluginAdapterBase</a> +</li> +<li>~PluginBase() +: <a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">Vamp::PluginBase</a> +</li> +<li>~PluginBufferingAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a96263f7b0910a10eeae86f20db007e55">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>~PluginChannelAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#acb9a20fefd130e323b1eb2ced43e521c">Vamp::HostExt::PluginChannelAdapter</a> +</li> +<li>~PluginHostAdapter() +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#aed66c091340aa668d3be89c4b4c24474">Vamp::PluginHostAdapter</a> +</li> +<li>~PluginInputDomainAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#aba2cbfa650d8a7c9181dbdb49b10aad0">Vamp::HostExt::PluginInputDomainAdapter</a> +</li> +<li>~PluginLoader() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ad74ab52bc6aa2514b3a6b3f679fc492c">Vamp::HostExt::PluginLoader</a> +</li> +<li>~PluginSummarisingAdapter() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a47846e7cc0ef4a29335e08b9645316d0">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +<li>~PluginWrapper() +: <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ac4fb6cfd7c0d3b2c8576a4e9dc61f518">Vamp::HostExt::PluginWrapper</a> +</li> +<li>~PowerSpectrum() +: <a class="el" href="classPowerSpectrum.html#ae7081e159ad1da5da1721b3048075306">PowerSpectrum</a> +</li> +<li>~SpectralCentroid() +: <a class="el" href="classSpectralCentroid.html#a483e0d6757bc3dcf61e8066f764f45c6">SpectralCentroid</a> +</li> +<li>~ZeroCrossing() +: <a class="el" href="classZeroCrossing.html#af1de0da862e6e2443581e4e16044675b">ZeroCrossing</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_type.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,127 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Typedefs</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li><a href="functions_vars.html"><span>Variables</span></a></li> + <li class="current"><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> + <ul> +<li>FeatureList +: <a class="el" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin</a> +</li> +<li>FeatureSet +: <a class="el" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin</a> +</li> +<li>OutputList +: <a class="el" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin</a> +</li> +<li>ParameterList +: <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase</a> +</li> +<li>PluginCategoryHierarchy +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ad6a39aa0c79d8d9209eb0b8dfe9d1364">Vamp::HostExt::PluginLoader</a> +</li> +<li>PluginKey +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a473645bbb3ac5c1a0da2f0f482947c4d">Vamp::HostExt::PluginLoader</a> +</li> +<li>PluginKeyList +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a0d48b76e4f995110f53e0feeb23f733a">Vamp::HostExt::PluginLoader</a> +</li> +<li>ProgramList +: <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase</a> +</li> +<li>SegmentBoundaries +: <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#a74e7f93c745802a2409185b63922466b">Vamp::HostExt::PluginSummarisingAdapter</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/functions_vars.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,513 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Members - Variables</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li class="current"><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="functions.html"><span>All</span></a></li> + <li><a href="functions_func.html"><span>Functions</span></a></li> + <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li> + <li><a href="functions_type.html"><span>Typedefs</span></a></li> + <li><a href="functions_enum.html"><span>Enumerations</span></a></li> + <li><a href="functions_eval.html"><span>Enumerator</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="#index_b"><span>b</span></a></li> + <li><a href="#index_c"><span>c</span></a></li> + <li><a href="#index_d"><span>d</span></a></li> + <li><a href="#index_f"><span>f</span></a></li> + <li><a href="#index_g"><span>g</span></a></li> + <li><a href="#index_h"><span>h</span></a></li> + <li><a href="#index_i"><span>i</span></a></li> + <li><a href="#index_l"><span>l</span></a></li> + <li><a href="#index_m"><span>m</span></a></li> + <li><a href="#index_n"><span>n</span></a></li> + <li><a href="#index_p"><span>p</span></a></li> + <li><a href="#index_q"><span>q</span></a></li> + <li><a href="#index_r"><span>r</span></a></li> + <li><a href="#index_s"><span>s</span></a></li> + <li><a href="#index_t"><span>t</span></a></li> + <li><a href="#index_u"><span>u</span></a></li> + <li><a href="#index_v"><span>v</span></a></li> + <li><a href="#index_z"><span>z</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('functions.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +  + +<h3><a class="anchor" id="index_b"></a>- b -</h3><ul> +<li>binCount +: <a class="el" href="struct__VampOutputDescriptor.html#a652ee422092720e44d23d98bdb68f978">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>binNames +: <a class="el" href="struct__VampOutputDescriptor.html#a10fffaa32bd894843ff7592240dfe447">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a31d9b79e2d8241344f551a22fcb5c8c7">Vamp::Plugin::OutputDescriptor</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_c"></a>- c -</h3><ul> +<li>cleanup +: <a class="el" href="struct__VampPluginDescriptor.html#a0e4522c33e59c3c518b9262f2477bc27">_VampPluginDescriptor</a> +</li> +<li>copyright +: <a class="el" href="struct__VampPluginDescriptor.html#ae704bba384af0de056a26da1b13ee521">_VampPluginDescriptor</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_d"></a>- d -</h3><ul> +<li>defaultValue +: <a class="el" href="struct__VampParameterDescriptor.html#a3d37f986ee152ab55feb9902b35f7aca">_VampParameterDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#aec4ef77451ec02193ecc4a0856673fbc">Vamp::PluginBase::ParameterDescriptor</a> +</li> +<li>description +: <a class="el" href="struct__VampOutputDescriptor.html#abfa911b138cfb80cf63e8f2e0fa0fb89">_VampOutputDescriptor</a> +, <a class="el" href="struct__VampPluginDescriptor.html#a9ff8050f92f1a04a68bb34a9d368295e">_VampPluginDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a780ddad41e433d85c82f9ea4d959cbaf">Vamp::PluginBase::ParameterDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="struct__VampParameterDescriptor.html#a95489272d6cf5a5b487e949da8e4fac6">_VampParameterDescriptor</a> +</li> +<li>duration +: <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#af687c0a7fe041757e922ec296862b115">Vamp::Plugin::Feature</a> +</li> +<li>durationNsec +: <a class="el" href="struct__VampFeatureV2.html#af71693d907f69048d602d28edbce679e">_VampFeatureV2</a> +</li> +<li>durationSec +: <a class="el" href="struct__VampFeatureV2.html#abc95aac3a2efdef6ef0b17e7b6bd3daf">_VampFeatureV2</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_f"></a>- f -</h3><ul> +<li>featureCount +: <a class="el" href="struct__VampFeatureList.html#a01db33a31ae5e04a4bd097f4b6aa75f1">_VampFeatureList</a> +</li> +<li>features +: <a class="el" href="struct__VampFeatureList.html#a103c817094643ac5ff4410768f4f92a7">_VampFeatureList</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_g"></a>- g -</h3><ul> +<li>getCurrentProgram +: <a class="el" href="struct__VampPluginDescriptor.html#a861a77525a95d424cb846820b018af53">_VampPluginDescriptor</a> +</li> +<li>getMaxChannelCount +: <a class="el" href="struct__VampPluginDescriptor.html#ad1600203418d9646332f5b917284261b">_VampPluginDescriptor</a> +</li> +<li>getMinChannelCount +: <a class="el" href="struct__VampPluginDescriptor.html#af175ca17716db5a7545b61b01caabd92">_VampPluginDescriptor</a> +</li> +<li>getOutputCount +: <a class="el" href="struct__VampPluginDescriptor.html#aa8fc88da704e24b2b5f674821dd380c1">_VampPluginDescriptor</a> +</li> +<li>getOutputDescriptor +: <a class="el" href="struct__VampPluginDescriptor.html#a92c58b8ff99ad0c23a42333aa55c144d">_VampPluginDescriptor</a> +</li> +<li>getParameter +: <a class="el" href="struct__VampPluginDescriptor.html#a07174981875b55ee2ec7521a7f4fc395">_VampPluginDescriptor</a> +</li> +<li>getPreferredBlockSize +: <a class="el" href="struct__VampPluginDescriptor.html#ac626e42554ab1532c8d8b5132a0faee8">_VampPluginDescriptor</a> +</li> +<li>getPreferredStepSize +: <a class="el" href="struct__VampPluginDescriptor.html#a2beddf2ce156c05dd24477ac663adcbb">_VampPluginDescriptor</a> +</li> +<li>getRemainingFeatures +: <a class="el" href="struct__VampPluginDescriptor.html#ad22c666188aadab83c354a0edb18fcf0">_VampPluginDescriptor</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_h"></a>- h -</h3><ul> +<li>hasDuration +: <a class="el" href="struct__VampOutputDescriptor.html#af792a96dbf292ec966b9b68250febd99">_VampOutputDescriptor</a> +, <a class="el" href="struct__VampFeatureV2.html#a44d9c57f1ae197d3fec1a48c650cce81">_VampFeatureV2</a> +, <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a33686757bd4481c72494122e9bfb9fba">Vamp::Plugin::Feature</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab0d7cc6ab19e53b5bd12ee234f549ea3">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>hasFixedBinCount +: <a class="el" href="struct__VampOutputDescriptor.html#ae8571f5a2bc740738af0cb7dda0c4749">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>hasKnownExtents +: <a class="el" href="struct__VampOutputDescriptor.html#af6b512d772023b4e852216689c1c4465">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae9ccb65f99f477096b65dd031f4c5e31">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>hasTimestamp +: <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b">Vamp::Plugin::Feature</a> +, <a class="el" href="struct__VampFeature.html#abe6aa7a08185beeb9deca2d08d99859f">_VampFeature</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_i"></a>- i -</h3><ul> +<li>identifier +: <a class="el" href="struct__VampParameterDescriptor.html#a26d74afd6a3341a673f15955031845ab">_VampParameterDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#a461161b2010370176115967e4f58a5f5">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a116fd9f0dc94c2bc4bbc60b5443c598c">Vamp::PluginBase::ParameterDescriptor</a> +, <a class="el" href="struct__VampPluginDescriptor.html#a4915ec8276749cb505c01d25a6d02219">_VampPluginDescriptor</a> +</li> +<li>initialise +: <a class="el" href="struct__VampPluginDescriptor.html#ad0978f17a5e568079470a1978a9aad22">_VampPluginDescriptor</a> +</li> +<li>inputDomain +: <a class="el" href="struct__VampPluginDescriptor.html#affc4d1796da7ced2c0cbb2cc2c4a22f4">_VampPluginDescriptor</a> +</li> +<li>instantiate +: <a class="el" href="struct__VampPluginDescriptor.html#a19c4ce36fdeb88eeedb539efc544b8ee">_VampPluginDescriptor</a> +</li> +<li>isQuantized +: <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1b4858928d23bfd7d5bc557c82a83fb4">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#ab56cf0bbb17136819024574d5cc65e30">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a7c556d58d552f737ee5a34efdf7f9425">Vamp::PluginBase::ParameterDescriptor</a> +, <a class="el" href="struct__VampParameterDescriptor.html#a3f41e3b6b69c7a95ff0ce8625794f83a">_VampParameterDescriptor</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_l"></a>- l -</h3><ul> +<li>label +: <a class="el" href="struct__VampFeature.html#a6662b7489a7890cae713bf4e8f6d52cd">_VampFeature</a> +, <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a8eb1fb35f73b247ed13de9527c18f036">Vamp::Plugin::Feature</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_m"></a>- m -</h3><ul> +<li>m_blockSize +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a0b9bf37e600f0564b9f305f73a9517c8">FixedTempoEstimator::D</a> +, <a class="el" href="classPercussionOnsetDetector.html#a920de543dbcf70a2edd80b5b31313285">PercussionOnsetDetector</a> +, <a class="el" href="classSpectralCentroid.html#a262f583d71b442bb2d80023e7c85aa4e">SpectralCentroid</a> +, <a class="el" href="classPowerSpectrum.html#a399e997c033f26b07edb7cc83cd5a6d8">PowerSpectrum</a> +</li> +<li>m_clampcoef +: <a class="el" href="classAmplitudeFollower.html#a1cb205b08cfe2ce94a4af05b18f72876">AmplitudeFollower</a> +</li> +<li>m_d +: <a class="el" href="classFixedTempoEstimator.html#a5e1c9abaf33e9f48eb7d3b48f8af3308">FixedTempoEstimator</a> +</li> +<li>m_descriptor +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#a0c9f252aca8ac298e30cadd0de032ec2">Vamp::PluginHostAdapter</a> +</li> +<li>m_df +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a8e2312120e87ad9a48fedeebbaefa396">FixedTempoEstimator::D</a> +</li> +<li>m_dfMinus1 +: <a class="el" href="classPercussionOnsetDetector.html#acd80162c65212be7fa91251263fb9c3d">PercussionOnsetDetector</a> +</li> +<li>m_dfMinus2 +: <a class="el" href="classPercussionOnsetDetector.html#a6ad7d8353cc681ff42a63b127cca5779">PercussionOnsetDetector</a> +</li> +<li>m_dfsize +: <a class="el" href="classFixedTempoEstimator_1_1D.html#ae739e006f2d10ef2b13677770b23e663">FixedTempoEstimator::D</a> +</li> +<li>m_fr +: <a class="el" href="classFixedTempoEstimator_1_1D.html#ab255006072672653e645fc315eea6167">FixedTempoEstimator::D</a> +</li> +<li>m_handle +: <a class="el" href="classVamp_1_1PluginHostAdapter.html#a02ebd03b226b4a467cad747ce77e79ee">Vamp::PluginHostAdapter</a> +</li> +<li>m_impl +: <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#ae3a74a2e6c4cd33dce9f4248e73c6701">Vamp::HostExt::PluginChannelAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#a9fa8a6b8a4e41b6e3f2fabc0d23678cc">Vamp::HostExt::PluginInputDomainAdapter</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#ac12254d823f6d63cb8ce82a07bdcb072">Vamp::HostExt::PluginLoader</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#af131140817d9f131650af98b6b8d7a94">Vamp::HostExt::PluginSummarisingAdapter</a> +, <a class="el" href="classVamp_1_1PluginAdapterBase.html#a0e3594c54884efd5a7ef38030645745b">Vamp::PluginAdapterBase</a> +, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a51e10c9c63c0349fd74c6d604de5554e">Vamp::HostExt::PluginBufferingAdapter</a> +</li> +<li>m_inputSampleRate +: <a class="el" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a072a0fc30b3912a54858eefdd47f4d4f">FixedTempoEstimator::D</a> +</li> +<li>m_instance +: <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#af89caf5f838a586b117c417260b7a116">Vamp::HostExt::PluginLoader</a> +</li> +<li>m_lasttime +: <a class="el" href="classFixedTempoEstimator_1_1D.html#abacd5ff19c301020efb99c03136b849a">FixedTempoEstimator::D</a> +</li> +<li>m_maxbpm +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a33e8d045b222addc6173b50df2553ba8">FixedTempoEstimator::D</a> +</li> +<li>m_maxdflen +: <a class="el" href="classFixedTempoEstimator_1_1D.html#aca506973452865d436e07462eabdebad">FixedTempoEstimator::D</a> +</li> +<li>m_minbpm +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a768fdbb62e4b21a39897963fdbd486ed">FixedTempoEstimator::D</a> +</li> +<li>m_n +: <a class="el" href="classFixedTempoEstimator_1_1D.html#ab73af7f1943b76388de04cbb4696a983">FixedTempoEstimator::D</a> +</li> +<li>m_plugin +: <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab4e40ecd98b445e1a2aa9e7baa280ea2">Vamp::HostExt::PluginWrapper</a> +</li> +<li>m_previn +: <a class="el" href="classAmplitudeFollower.html#ac95e8d2f334821c6c92c706bae29695a">AmplitudeFollower</a> +</li> +<li>m_previousSample +: <a class="el" href="classZeroCrossing.html#a0f2d9f2cab0a8a30344e1f2c0ebb8ee8">ZeroCrossing</a> +</li> +<li>m_priorMagnitudes +: <a class="el" href="classFixedTempoEstimator_1_1D.html#aa59cf1cb5640a910c70884579e5d99ad">FixedTempoEstimator::D</a> +, <a class="el" href="classPercussionOnsetDetector.html#a30daa717267251a9d49afe57c328e989">PercussionOnsetDetector</a> +</li> +<li>m_r +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a7a8c8658ecfeec98962078df89fcd538">FixedTempoEstimator::D</a> +</li> +<li>m_relaxcoef +: <a class="el" href="classAmplitudeFollower.html#aceecd3b3879f32eb4a2e597c32c41cfc">AmplitudeFollower</a> +</li> +<li>m_sensitivity +: <a class="el" href="classPercussionOnsetDetector.html#a4e9770f246ba3bc75e7fc2cb8f9010af">PercussionOnsetDetector</a> +</li> +<li>m_start +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a3a3a0b4a4c259087f02d0046241674d0">FixedTempoEstimator::D</a> +</li> +<li>m_stepSize +: <a class="el" href="classPercussionOnsetDetector.html#aabac0cf7e961482b075777e5f0686e6c">PercussionOnsetDetector</a> +, <a class="el" href="classFixedTempoEstimator_1_1D.html#a837da9722c63fe3c66c738255990c45f">FixedTempoEstimator::D</a> +, <a class="el" href="classAmplitudeFollower.html#a959c2647fd3c5feea2591e3618774027">AmplitudeFollower</a> +, <a class="el" href="classSpectralCentroid.html#a49805a090ba58477da4adbefea4392a7">SpectralCentroid</a> +, <a class="el" href="classZeroCrossing.html#a584f100b87c78f9af9da040d79567d52">ZeroCrossing</a> +</li> +<li>m_t +: <a class="el" href="classFixedTempoEstimator_1_1D.html#a698446aad2c0f737732a392fb86a612c">FixedTempoEstimator::D</a> +</li> +<li>m_threshold +: <a class="el" href="classPercussionOnsetDetector.html#ab04119adad56d87f2e633de289aab507">PercussionOnsetDetector</a> +</li> +<li>maker +: <a class="el" href="struct__VampPluginDescriptor.html#a4dca3d57331802964716edfa80580c9b">_VampPluginDescriptor</a> +</li> +<li>maxValue +: <a class="el" href="struct__VampOutputDescriptor.html#a4cbe540a247df60f85b00b2aa16461ee">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a907b4e8fbb48a46ac5a05f880d72719f">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="struct__VampParameterDescriptor.html#a6e7646babdb265c4abfc107ba4350d80">_VampParameterDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab934b20dd708228a0e3c2811a3e2cec4">Vamp::PluginBase::ParameterDescriptor</a> +</li> +<li>minValue +: <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab3e4d84f5bc199eea8b642b27e425ec8">Vamp::PluginBase::ParameterDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ac9f5924c0be7571bba8e7ae7e7a921f4">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#a9a28180989e3d028c12a98517479dc46">_VampOutputDescriptor</a> +, <a class="el" href="struct__VampParameterDescriptor.html#ab59c84f0bbe0d4d0c578d893c087b0db">_VampParameterDescriptor</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_n"></a>- n -</h3><ul> +<li>name +: <a class="el" href="struct__VampParameterDescriptor.html#abba810bce9656f6002777f6c3f655957">_VampParameterDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#af4fca576bd47167fd2bf9b43d588815f">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a0ecebb94fb4ada4aad2640e20aa57084">Vamp::PluginBase::ParameterDescriptor</a> +, <a class="el" href="struct__VampPluginDescriptor.html#a9dd5a0190e4d453ff36b5acb7000b150">_VampPluginDescriptor</a> +</li> +<li>nsec +: <a class="el" href="structVamp_1_1RealTime.html#a2078835bef7bb92514a65b6051cfc6c8">Vamp::RealTime</a> +, <a class="el" href="struct__VampFeature.html#a8874cb23600c6b10ca6e8a40920d999e">_VampFeature</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_p"></a>- p -</h3><ul> +<li>parameterCount +: <a class="el" href="struct__VampPluginDescriptor.html#ae6271dc3ea0cea959c84a64185492cab">_VampPluginDescriptor</a> +</li> +<li>parameters +: <a class="el" href="struct__VampPluginDescriptor.html#a64d614862604c31d6b84c49005f51913">_VampPluginDescriptor</a> +</li> +<li>pluginVersion +: <a class="el" href="struct__VampPluginDescriptor.html#a04427c420d9252c7796c0bf5101345ae">_VampPluginDescriptor</a> +</li> +<li>process +: <a class="el" href="struct__VampPluginDescriptor.html#ac5a0a75b6e68b22fed536765d1f2f254">_VampPluginDescriptor</a> +</li> +<li>programCount +: <a class="el" href="struct__VampPluginDescriptor.html#a1962666aa173e7a9a2c30dc82e4b2e00">_VampPluginDescriptor</a> +</li> +<li>programs +: <a class="el" href="struct__VampPluginDescriptor.html#ad488470c582d8472d86455889d71c5ec">_VampPluginDescriptor</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_q"></a>- q -</h3><ul> +<li>quantizeStep +: <a class="el" href="struct__VampParameterDescriptor.html#a68c91fd3fc0b0b3617c2d343fe32d0e5">_VampParameterDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a01f8387e7c853d5e4e35d4e9a37353d7">Vamp::PluginBase::ParameterDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a3bed37153067b625b95acb40b60dbf0b">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#a71aa40222dda4321030cccd0bb655fe3">_VampOutputDescriptor</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_r"></a>- r -</h3><ul> +<li>releaseFeatureSet +: <a class="el" href="struct__VampPluginDescriptor.html#ac4bafe8ad2734d21a433d745b18e7d63">_VampPluginDescriptor</a> +</li> +<li>releaseOutputDescriptor +: <a class="el" href="struct__VampPluginDescriptor.html#a8cc38edc921616e67e551aa03397ec79">_VampPluginDescriptor</a> +</li> +<li>reset +: <a class="el" href="struct__VampPluginDescriptor.html#a12267f6b506aeda3792ff7c982b02336">_VampPluginDescriptor</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_s"></a>- s -</h3><ul> +<li>sampleRate +: <a class="el" href="struct__VampOutputDescriptor.html#a1ccf193317b2b9c2eb0dbd8dcf61d26e">_VampOutputDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#add0cbbdfa9c91764037c39365b1d42af">Vamp::Plugin::OutputDescriptor</a> +</li> +<li>sampleType +: <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#a5da1d27cc99badc214640e859b882072">_VampOutputDescriptor</a> +</li> +<li>sec +: <a class="el" href="struct__VampFeature.html#a31f0b57050e33d082692536097953d9c">_VampFeature</a> +, <a class="el" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">Vamp::RealTime</a> +</li> +<li>selectProgram +: <a class="el" href="struct__VampPluginDescriptor.html#ad9af40cb165ca187e49250964af5f5cf">_VampPluginDescriptor</a> +</li> +<li>setParameter +: <a class="el" href="struct__VampPluginDescriptor.html#aad3cfc7a3b432df40bd9db13eee6a481">_VampPluginDescriptor</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_t"></a>- t -</h3><ul> +<li>timestamp +: <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#acaa605f36839c07e76f4882f5e22d8d7">Vamp::Plugin::Feature</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_u"></a>- u -</h3><ul> +<li>unit +: <a class="el" href="struct__VampParameterDescriptor.html#a8ca235f816b56dc99125e010eee08fc7">_VampParameterDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a3bc3df322e4c02e17e96bc6d44982d7b">Vamp::PluginBase::ParameterDescriptor</a> +, <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4">Vamp::Plugin::OutputDescriptor</a> +, <a class="el" href="struct__VampOutputDescriptor.html#ad038caa8e596dfd037035637202f1d63">_VampOutputDescriptor</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_v"></a>- v -</h3><ul> +<li>v1 +: <a class="el" href="union__VampFeatureUnion.html#a4a32a2ce141ec3cd36b8be54cd9c3369">_VampFeatureUnion</a> +</li> +<li>v2 +: <a class="el" href="union__VampFeatureUnion.html#a87e508e37e02cce11c3c4ddf087a627a">_VampFeatureUnion</a> +</li> +<li>valueCount +: <a class="el" href="struct__VampFeature.html#ab1ce7c8a2b489e9b0694a967497a29fd">_VampFeature</a> +</li> +<li>valueNames +: <a class="el" href="struct__VampParameterDescriptor.html#a188883325ab1e4a898e3dc53a8f88f9d">_VampParameterDescriptor</a> +, <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a94df96f53835980b4739965007ff222b">Vamp::PluginBase::ParameterDescriptor</a> +</li> +<li>values +: <a class="el" href="struct__VampFeature.html#ae4030f941ddb2bab8bc147b88e1f1c15">_VampFeature</a> +, <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71">Vamp::Plugin::Feature</a> +</li> +<li>vampApiVersion +: <a class="el" href="struct__VampPluginDescriptor.html#ab6c87760e87ddaa9ac3491bccaaa28c2">_VampPluginDescriptor</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_z"></a>- z -</h3><ul> +<li>zeroTime +: <a class="el" href="structVamp_1_1RealTime.html#abe453371597710148b0fd19bb452f8a9">Vamp::RealTime</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/globals.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,368 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: File Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li class="current"><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="globals.html"><span>All</span></a></li> + <li><a href="globals_func.html"><span>Functions</span></a></li> + <li><a href="globals_vars.html"><span>Variables</span></a></li> + <li><a href="globals_type.html"><span>Typedefs</span></a></li> + <li><a href="globals_enum.html"><span>Enumerations</span></a></li> + <li><a href="globals_eval.html"><span>Enumerator</span></a></li> + <li><a href="globals_defs.html"><span>Defines</span></a></li> + </ul> + </div> + <div id="navrow4" class="tabs3"> + <ul class="tablist"> + <li><a href="#index__"><span>_</span></a></li> + <li><a href="#index_a"><span>a</span></a></li> + <li><a href="#index_c"><span>c</span></a></li> + <li><a href="#index_d"><span>d</span></a></li> + <li><a href="#index_e"><span>e</span></a></li> + <li><a href="#index_f"><span>f</span></a></li> + <li><a href="#index_h"><span>h</span></a></li> + <li><a href="#index_l"><span>l</span></a></li> + <li><a href="#index_m"><span>m</span></a></li> + <li><a href="#index_p"><span>p</span></a></li> + <li><a href="#index_r"><span>r</span></a></li> + <li><a href="#index_s"><span>s</span></a></li> + <li><a href="#index_t"><span>t</span></a></li> + <li><a href="#index_u"><span>u</span></a></li> + <li><a href="#index_v"><span>v</span></a></li> + <li><a href="#index_z"><span>z</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('globals.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all file members with links to the files they belong to:</div> + +<h3><a class="anchor" id="index__"></a>- _ -</h3><ul> +<li>_VAMP_IN_HOSTSDK +: <a class="el" href="hostguard_8h.html#a1b285975a7781cd1d1cdc19b0256380f">hostguard.h</a> +</li> +<li>_VAMP_IN_PLUGINSDK +: <a class="el" href="plugguard_8h.html#a3bf4e97f131677e5e1505a7a9582d68a">plugguard.h</a> +</li> +<li>_VAMP_SDK_HOSTSPACE_BEGIN +: <a class="el" href="hostguard_8h.html#aef42eae5f1b0b897d8dac58cd54afbcd">hostguard.h</a> +</li> +<li>_VAMP_SDK_HOSTSPACE_END +: <a class="el" href="hostguard_8h.html#a0e6efdc2909bdb0cfab70e087d91b171">hostguard.h</a> +</li> +<li>_VAMP_SDK_PLUGSPACE_BEGIN +: <a class="el" href="plugguard_8h.html#a1a2724ea453971288d3218e4eab3072c">plugguard.h</a> +, <a class="el" href="hostguard_8h.html#a1a2724ea453971288d3218e4eab3072c">hostguard.h</a> +</li> +<li>_VAMP_SDK_PLUGSPACE_END +: <a class="el" href="hostguard_8h.html#ac879bb1077ecc6132ea3581ef9033753">hostguard.h</a> +, <a class="el" href="plugguard_8h.html#ac879bb1077ecc6132ea3581ef9033753">plugguard.h</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_a"></a>- a -</h3><ul> +<li>ACFOutput +: <a class="el" href="FixedTempoEstimator_8cpp.html#a382c1fe740ac8911c6078cfbceffc870">FixedTempoEstimator.cpp</a> +</li> +<li>amplitudeAdapter +: <a class="el" href="plugins_8cpp.html#a4e60bb6a99451da5deb18b969e6b16cd">plugins.cpp</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_c"></a>- c -</h3><ul> +<li>CandidatesOutput +: <a class="el" href="FixedTempoEstimator_8cpp.html#a554b16c6b7516530e52c65318bfe08eb">FixedTempoEstimator.cpp</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_d"></a>- d -</h3><ul> +<li>DFOutput +: <a class="el" href="FixedTempoEstimator_8cpp.html#acaa4524f29afce03c812a88ff31159c1">FixedTempoEstimator.cpp</a> +</li> +<li>DLCLOSE +: <a class="el" href="system_8h.html#a1defcae089d0d937682cc78981a0ef99">system.h</a> +</li> +<li>DLERROR +: <a class="el" href="system_8h.html#a690562dc6c92cb811f90e8391bfeb801">system.h</a> +</li> +<li>DLOPEN +: <a class="el" href="system_8h.html#a0a14867c4f7ccec2b5a804bd0fd66a53">system.h</a> +</li> +<li>DLSYM +: <a class="el" href="system_8h.html#a4e0f5c42b68801054532c293169317d8">system.h</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_e"></a>- e -</h3><ul> +<li>enumeratePlugins() +: <a class="el" href="vamp-simple-host_8cpp.html#a80dad9e80d85fdf86b7714bf1b3c1017">vamp-simple-host.cpp</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_f"></a>- f -</h3><ul> +<li>fft() +: <a class="el" href="vamp-simple-host_8cpp.html#ab40a86a032d0cf473d15fed3616ccc57">vamp-simple-host.cpp</a> +</li> +<li>FilteredACFOutput +: <a class="el" href="FixedTempoEstimator_8cpp.html#a5b284021783d79785d46b043b458368d">FixedTempoEstimator.cpp</a> +</li> +<li>fixedTempoAdapter +: <a class="el" href="plugins_8cpp.html#a937de36d22633261716032570064a4be">plugins.cpp</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_h"></a>- h -</h3><ul> +<li>HAVE_OPENDIR +: <a class="el" href="system_8h.html#a7cbcd5e9e882451e8c93a78b06f563c4">system.h</a> +</li> +<li>header() +: <a class="el" href="vamp-simple-host_8cpp.html#a713775f2037987c0851ff3672339a82c">vamp-simple-host.cpp</a> +</li> +<li>HOST_VERSION +: <a class="el" href="vamp-simple-host_8cpp.html#aa8bc193818940a8954ef0e0e5a8e16d6">vamp-simple-host.cpp</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_l"></a>- l -</h3><ul> +<li>listPluginsInLibrary() +: <a class="el" href="vamp-simple-host_8cpp.html#a4d02c3d9ebe7bedb3a4c3a116479e334">vamp-simple-host.cpp</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_m"></a>- m -</h3><ul> +<li>main() +: <a class="el" href="vamp-simple-host_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">vamp-simple-host.cpp</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_p"></a>- p -</h3><ul> +<li>percussionOnsetAdapter +: <a class="el" href="plugins_8cpp.html#acee3823cb6a43281a2ecf923b69613dd">plugins.cpp</a> +</li> +<li>PLUGIN_SUFFIX +: <a class="el" href="system_8h.html#a1efbc9bb9a9f2837d3f7386af8607abf">system.h</a> +</li> +<li>PluginIds +: <a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a4cf6a0dfdb6864356feab9d9ca230d16">vamp-simple-host.cpp</a> +</li> +<li>PluginInformation +: <a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a8acba147ed4716f3baa8546f6dc055a1">vamp-simple-host.cpp</a> +</li> +<li>PluginInformationDetailed +: <a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a2624ce417628b6d40ce0973ba381c1e6">vamp-simple-host.cpp</a> +</li> +<li>PluginOutputIds +: <a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a30eab122efa9537df4ecb2fc27fc354e">vamp-simple-host.cpp</a> +</li> +<li>powerSpectrum +: <a class="el" href="plugins_8cpp.html#a77810f485caaae4a8b2303496046d3d7">plugins.cpp</a> +</li> +<li>printFeatures() +: <a class="el" href="vamp-simple-host_8cpp.html#a81f8bc89ed9194159bfb1f2b4d7a7ac4">vamp-simple-host.cpp</a> +</li> +<li>printPluginCategoryList() +: <a class="el" href="vamp-simple-host_8cpp.html#af771864c41f23e5755ed99e8ac6609a5">vamp-simple-host.cpp</a> +</li> +<li>printPluginPath() +: <a class="el" href="vamp-simple-host_8cpp.html#a4767f8c142ee0b61ba414df1b0376a01">vamp-simple-host.cpp</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_r"></a>- r -</h3><ul> +<li>runPlugin() +: <a class="el" href="vamp-simple-host_8cpp.html#a54e0185f4b6ff507cb42c29a04f76397">vamp-simple-host.cpp</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_s"></a>- s -</h3><ul> +<li>spectralCentroidAdapter +: <a class="el" href="plugins_8cpp.html#ac96bdfb6356a153341b29b43c4961cd5">plugins.cpp</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_t"></a>- t -</h3><ul> +<li>TempoOutput +: <a class="el" href="FixedTempoEstimator_8cpp.html#a7a8511e62dffb5334ad3b70d57b2fcee">FixedTempoEstimator.cpp</a> +</li> +<li>transformInput() +: <a class="el" href="vamp-simple-host_8cpp.html#ae610372882497afdeaf180a7e53eb00b">vamp-simple-host.cpp</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_u"></a>- u -</h3><ul> +<li>usage() +: <a class="el" href="vamp-simple-host_8cpp.html#a7cac13da282785878351e0a820104851">vamp-simple-host.cpp</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_v"></a>- v -</h3><ul> +<li>VAMP_API_VERSION +: <a class="el" href="vamp_8h.html#a6d6c8c755dbabf161f72712e0e2143c7">vamp.h</a> +</li> +<li>VAMP_SDK_MAJOR_VERSION +: <a class="el" href="vamp-sdk_2PluginBase_8h.html#ab5f7da6acf45065a6c7b7cd38a0bf588">vamp-sdk/PluginBase.h</a> +</li> +<li>VAMP_SDK_MINOR_VERSION +: <a class="el" href="vamp-sdk_2PluginBase_8h.html#ad5eef1e2154b42769cd642d2a1d42257">vamp-sdk/PluginBase.h</a> +</li> +<li>VAMP_SDK_VERSION +: <a class="el" href="vamp-sdk_2PluginBase_8h.html#a9b7a8e1ac1c91366bec5f2f33c137a2f">vamp-sdk/PluginBase.h</a> +</li> +<li>VampFeature +: <a class="el" href="vamp_8h.html#a8d04355c13e5ff7a146abcb168cb919f">vamp.h</a> +</li> +<li>VampFeatureList +: <a class="el" href="vamp_8h.html#a5f257e3f8b5ca1ca4c159d486e219078">vamp.h</a> +</li> +<li>VampFeatureUnion +: <a class="el" href="vamp_8h.html#a2517349f1c97e0c59faab6085e092fcd">vamp.h</a> +</li> +<li>VampFeatureV2 +: <a class="el" href="vamp_8h.html#a41cb3518127d0971b1d2c8edfbbe2763">vamp.h</a> +</li> +<li>vampFixedSampleRate +: <a class="el" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821aafc8a05f722bc83ecce227e12e838cf8">vamp.h</a> +</li> +<li>vampFrequencyDomain +: <a class="el" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765aee0c1c0d429276f071b8c0730b7bd87d">vamp.h</a> +</li> +<li>vampGetPluginDescriptor() +: <a class="el" href="vamp_8h.html#a50cf6f17d0718f02093be6c7f63fcf30">vamp.h</a> +, <a class="el" href="plugins_8cpp.html#abb0fd6db76ddd39698bc370e0fd0ea78">plugins.cpp</a> +</li> +<li>VampGetPluginDescriptorFunction +: <a class="el" href="vamp_8h.html#a551bb7e0d8c970c2202be5f881817478">vamp.h</a> +</li> +<li>VampInputDomain +: <a class="el" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765">vamp.h</a> +</li> +<li>vampOneSamplePerStep +: <a class="el" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821ab546deafd57f175fb1e7f9cbea1c5113">vamp.h</a> +</li> +<li>VampOutputDescriptor +: <a class="el" href="vamp_8h.html#aa8429dd9c60d65800c58574c2b06bf66">vamp.h</a> +</li> +<li>VampParameterDescriptor +: <a class="el" href="vamp_8h.html#ae26a9d54a92f1c083a1b209a25a8e44e">vamp.h</a> +</li> +<li>VampPluginDescriptor +: <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">vamp.h</a> +</li> +<li>VampPluginHandle +: <a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">vamp.h</a> +</li> +<li>VampSampleType +: <a class="el" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821">vamp.h</a> +</li> +<li>vampTimeDomain +: <a class="el" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765ae3dbb77ff3e8f292966fd3748888e1a1">vamp.h</a> +</li> +<li>vampVariableSampleRate +: <a class="el" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821abae8a21a9e30eb73e16d6abc6c7415e8">vamp.h</a> +</li> +<li>Verbosity +: <a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313">vamp-simple-host.cpp</a> +</li> +</ul> + + +<h3><a class="anchor" id="index_z"></a>- z -</h3><ul> +<li>zeroCrossingAdapter +: <a class="el" href="plugins_8cpp.html#a01871ad1ab2bb64e2c53fe5cce19b780">plugins.cpp</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/globals_defs.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,153 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: File Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li class="current"><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="globals.html"><span>All</span></a></li> + <li><a href="globals_func.html"><span>Functions</span></a></li> + <li><a href="globals_vars.html"><span>Variables</span></a></li> + <li><a href="globals_type.html"><span>Typedefs</span></a></li> + <li><a href="globals_enum.html"><span>Enumerations</span></a></li> + <li><a href="globals_eval.html"><span>Enumerator</span></a></li> + <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('globals.html',''); +</script> +<div id="doc-content"> +<div class="contents"> + <ul> +<li>_VAMP_IN_HOSTSDK +: <a class="el" href="hostguard_8h.html#a1b285975a7781cd1d1cdc19b0256380f">hostguard.h</a> +</li> +<li>_VAMP_IN_PLUGINSDK +: <a class="el" href="plugguard_8h.html#a3bf4e97f131677e5e1505a7a9582d68a">plugguard.h</a> +</li> +<li>_VAMP_SDK_HOSTSPACE_BEGIN +: <a class="el" href="hostguard_8h.html#aef42eae5f1b0b897d8dac58cd54afbcd">hostguard.h</a> +</li> +<li>_VAMP_SDK_HOSTSPACE_END +: <a class="el" href="hostguard_8h.html#a0e6efdc2909bdb0cfab70e087d91b171">hostguard.h</a> +</li> +<li>_VAMP_SDK_PLUGSPACE_BEGIN +: <a class="el" href="plugguard_8h.html#a1a2724ea453971288d3218e4eab3072c">plugguard.h</a> +, <a class="el" href="hostguard_8h.html#a1a2724ea453971288d3218e4eab3072c">hostguard.h</a> +</li> +<li>_VAMP_SDK_PLUGSPACE_END +: <a class="el" href="hostguard_8h.html#ac879bb1077ecc6132ea3581ef9033753">hostguard.h</a> +, <a class="el" href="plugguard_8h.html#ac879bb1077ecc6132ea3581ef9033753">plugguard.h</a> +</li> +<li>DLCLOSE +: <a class="el" href="system_8h.html#a1defcae089d0d937682cc78981a0ef99">system.h</a> +</li> +<li>DLERROR +: <a class="el" href="system_8h.html#a690562dc6c92cb811f90e8391bfeb801">system.h</a> +</li> +<li>DLOPEN +: <a class="el" href="system_8h.html#a0a14867c4f7ccec2b5a804bd0fd66a53">system.h</a> +</li> +<li>DLSYM +: <a class="el" href="system_8h.html#a4e0f5c42b68801054532c293169317d8">system.h</a> +</li> +<li>HAVE_OPENDIR +: <a class="el" href="system_8h.html#a7cbcd5e9e882451e8c93a78b06f563c4">system.h</a> +</li> +<li>HOST_VERSION +: <a class="el" href="vamp-simple-host_8cpp.html#aa8bc193818940a8954ef0e0e5a8e16d6">vamp-simple-host.cpp</a> +</li> +<li>PLUGIN_SUFFIX +: <a class="el" href="system_8h.html#a1efbc9bb9a9f2837d3f7386af8607abf">system.h</a> +</li> +<li>VAMP_API_VERSION +: <a class="el" href="vamp_8h.html#a6d6c8c755dbabf161f72712e0e2143c7">vamp.h</a> +</li> +<li>VAMP_SDK_MAJOR_VERSION +: <a class="el" href="vamp-sdk_2PluginBase_8h.html#ab5f7da6acf45065a6c7b7cd38a0bf588">vamp-sdk/PluginBase.h</a> +</li> +<li>VAMP_SDK_MINOR_VERSION +: <a class="el" href="vamp-sdk_2PluginBase_8h.html#ad5eef1e2154b42769cd642d2a1d42257">vamp-sdk/PluginBase.h</a> +</li> +<li>VAMP_SDK_VERSION +: <a class="el" href="vamp-sdk_2PluginBase_8h.html#a9b7a8e1ac1c91366bec5f2f33c137a2f">vamp-sdk/PluginBase.h</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/globals_enum.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,109 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: File Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li class="current"><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="globals.html"><span>All</span></a></li> + <li><a href="globals_func.html"><span>Functions</span></a></li> + <li><a href="globals_vars.html"><span>Variables</span></a></li> + <li><a href="globals_type.html"><span>Typedefs</span></a></li> + <li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li> + <li><a href="globals_eval.html"><span>Enumerator</span></a></li> + <li><a href="globals_defs.html"><span>Defines</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('globals.html',''); +</script> +<div id="doc-content"> +<div class="contents"> + <ul> +<li>VampInputDomain +: <a class="el" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765">vamp.h</a> +</li> +<li>VampSampleType +: <a class="el" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821">vamp.h</a> +</li> +<li>Verbosity +: <a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313">vamp-simple-host.cpp</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/globals_eval.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,127 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: File Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li class="current"><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="globals.html"><span>All</span></a></li> + <li><a href="globals_func.html"><span>Functions</span></a></li> + <li><a href="globals_vars.html"><span>Variables</span></a></li> + <li><a href="globals_type.html"><span>Typedefs</span></a></li> + <li><a href="globals_enum.html"><span>Enumerations</span></a></li> + <li class="current"><a href="globals_eval.html"><span>Enumerator</span></a></li> + <li><a href="globals_defs.html"><span>Defines</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('globals.html',''); +</script> +<div id="doc-content"> +<div class="contents"> + <ul> +<li>PluginIds +: <a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a4cf6a0dfdb6864356feab9d9ca230d16">vamp-simple-host.cpp</a> +</li> +<li>PluginInformation +: <a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a8acba147ed4716f3baa8546f6dc055a1">vamp-simple-host.cpp</a> +</li> +<li>PluginInformationDetailed +: <a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a2624ce417628b6d40ce0973ba381c1e6">vamp-simple-host.cpp</a> +</li> +<li>PluginOutputIds +: <a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a30eab122efa9537df4ecb2fc27fc354e">vamp-simple-host.cpp</a> +</li> +<li>vampFixedSampleRate +: <a class="el" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821aafc8a05f722bc83ecce227e12e838cf8">vamp.h</a> +</li> +<li>vampFrequencyDomain +: <a class="el" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765aee0c1c0d429276f071b8c0730b7bd87d">vamp.h</a> +</li> +<li>vampOneSamplePerStep +: <a class="el" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821ab546deafd57f175fb1e7f9cbea1c5113">vamp.h</a> +</li> +<li>vampTimeDomain +: <a class="el" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765ae3dbb77ff3e8f292966fd3748888e1a1">vamp.h</a> +</li> +<li>vampVariableSampleRate +: <a class="el" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821abae8a21a9e30eb73e16d6abc6c7415e8">vamp.h</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/globals_func.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,137 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: File Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li class="current"><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="globals.html"><span>All</span></a></li> + <li class="current"><a href="globals_func.html"><span>Functions</span></a></li> + <li><a href="globals_vars.html"><span>Variables</span></a></li> + <li><a href="globals_type.html"><span>Typedefs</span></a></li> + <li><a href="globals_enum.html"><span>Enumerations</span></a></li> + <li><a href="globals_eval.html"><span>Enumerator</span></a></li> + <li><a href="globals_defs.html"><span>Defines</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('globals.html',''); +</script> +<div id="doc-content"> +<div class="contents"> + <ul> +<li>enumeratePlugins() +: <a class="el" href="vamp-simple-host_8cpp.html#a80dad9e80d85fdf86b7714bf1b3c1017">vamp-simple-host.cpp</a> +</li> +<li>fft() +: <a class="el" href="vamp-simple-host_8cpp.html#ab40a86a032d0cf473d15fed3616ccc57">vamp-simple-host.cpp</a> +</li> +<li>header() +: <a class="el" href="vamp-simple-host_8cpp.html#a713775f2037987c0851ff3672339a82c">vamp-simple-host.cpp</a> +</li> +<li>listPluginsInLibrary() +: <a class="el" href="vamp-simple-host_8cpp.html#a4d02c3d9ebe7bedb3a4c3a116479e334">vamp-simple-host.cpp</a> +</li> +<li>main() +: <a class="el" href="vamp-simple-host_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">vamp-simple-host.cpp</a> +</li> +<li>printFeatures() +: <a class="el" href="vamp-simple-host_8cpp.html#a81f8bc89ed9194159bfb1f2b4d7a7ac4">vamp-simple-host.cpp</a> +</li> +<li>printPluginCategoryList() +: <a class="el" href="vamp-simple-host_8cpp.html#af771864c41f23e5755ed99e8ac6609a5">vamp-simple-host.cpp</a> +</li> +<li>printPluginPath() +: <a class="el" href="vamp-simple-host_8cpp.html#a4767f8c142ee0b61ba414df1b0376a01">vamp-simple-host.cpp</a> +</li> +<li>runPlugin() +: <a class="el" href="vamp-simple-host_8cpp.html#a54e0185f4b6ff507cb42c29a04f76397">vamp-simple-host.cpp</a> +</li> +<li>transformInput() +: <a class="el" href="vamp-simple-host_8cpp.html#ae610372882497afdeaf180a7e53eb00b">vamp-simple-host.cpp</a> +</li> +<li>usage() +: <a class="el" href="vamp-simple-host_8cpp.html#a7cac13da282785878351e0a820104851">vamp-simple-host.cpp</a> +</li> +<li>vampGetPluginDescriptor() +: <a class="el" href="vamp_8h.html#a50cf6f17d0718f02093be6c7f63fcf30">vamp.h</a> +, <a class="el" href="plugins_8cpp.html#abb0fd6db76ddd39698bc370e0fd0ea78">plugins.cpp</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/globals_type.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,127 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: File Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li class="current"><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="globals.html"><span>All</span></a></li> + <li><a href="globals_func.html"><span>Functions</span></a></li> + <li><a href="globals_vars.html"><span>Variables</span></a></li> + <li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li> + <li><a href="globals_enum.html"><span>Enumerations</span></a></li> + <li><a href="globals_eval.html"><span>Enumerator</span></a></li> + <li><a href="globals_defs.html"><span>Defines</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('globals.html',''); +</script> +<div id="doc-content"> +<div class="contents"> + <ul> +<li>VampFeature +: <a class="el" href="vamp_8h.html#a8d04355c13e5ff7a146abcb168cb919f">vamp.h</a> +</li> +<li>VampFeatureList +: <a class="el" href="vamp_8h.html#a5f257e3f8b5ca1ca4c159d486e219078">vamp.h</a> +</li> +<li>VampFeatureUnion +: <a class="el" href="vamp_8h.html#a2517349f1c97e0c59faab6085e092fcd">vamp.h</a> +</li> +<li>VampFeatureV2 +: <a class="el" href="vamp_8h.html#a41cb3518127d0971b1d2c8edfbbe2763">vamp.h</a> +</li> +<li>VampGetPluginDescriptorFunction +: <a class="el" href="vamp_8h.html#a551bb7e0d8c970c2202be5f881817478">vamp.h</a> +</li> +<li>VampOutputDescriptor +: <a class="el" href="vamp_8h.html#aa8429dd9c60d65800c58574c2b06bf66">vamp.h</a> +</li> +<li>VampParameterDescriptor +: <a class="el" href="vamp_8h.html#ae26a9d54a92f1c083a1b209a25a8e44e">vamp.h</a> +</li> +<li>VampPluginDescriptor +: <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">vamp.h</a> +</li> +<li>VampPluginHandle +: <a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">vamp.h</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/globals_vars.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,133 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: File Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li class="current"><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="globals.html"><span>All</span></a></li> + <li><a href="globals_func.html"><span>Functions</span></a></li> + <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li> + <li><a href="globals_type.html"><span>Typedefs</span></a></li> + <li><a href="globals_enum.html"><span>Enumerations</span></a></li> + <li><a href="globals_eval.html"><span>Enumerator</span></a></li> + <li><a href="globals_defs.html"><span>Defines</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('globals.html',''); +</script> +<div id="doc-content"> +<div class="contents"> + <ul> +<li>ACFOutput +: <a class="el" href="FixedTempoEstimator_8cpp.html#a382c1fe740ac8911c6078cfbceffc870">FixedTempoEstimator.cpp</a> +</li> +<li>amplitudeAdapter +: <a class="el" href="plugins_8cpp.html#a4e60bb6a99451da5deb18b969e6b16cd">plugins.cpp</a> +</li> +<li>CandidatesOutput +: <a class="el" href="FixedTempoEstimator_8cpp.html#a554b16c6b7516530e52c65318bfe08eb">FixedTempoEstimator.cpp</a> +</li> +<li>DFOutput +: <a class="el" href="FixedTempoEstimator_8cpp.html#acaa4524f29afce03c812a88ff31159c1">FixedTempoEstimator.cpp</a> +</li> +<li>FilteredACFOutput +: <a class="el" href="FixedTempoEstimator_8cpp.html#a5b284021783d79785d46b043b458368d">FixedTempoEstimator.cpp</a> +</li> +<li>fixedTempoAdapter +: <a class="el" href="plugins_8cpp.html#a937de36d22633261716032570064a4be">plugins.cpp</a> +</li> +<li>percussionOnsetAdapter +: <a class="el" href="plugins_8cpp.html#acee3823cb6a43281a2ecf923b69613dd">plugins.cpp</a> +</li> +<li>powerSpectrum +: <a class="el" href="plugins_8cpp.html#a77810f485caaae4a8b2303496046d3d7">plugins.cpp</a> +</li> +<li>spectralCentroidAdapter +: <a class="el" href="plugins_8cpp.html#ac96bdfb6356a153341b29b43c4961cd5">plugins.cpp</a> +</li> +<li>TempoOutput +: <a class="el" href="FixedTempoEstimator_8cpp.html#a7a8511e62dffb5334ad3b70d57b2fcee">FixedTempoEstimator.cpp</a> +</li> +<li>zeroCrossingAdapter +: <a class="el" href="plugins_8cpp.html#a01871ad1ab2bb64e2c53fe5cce19b780">plugins.cpp</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/graph_legend.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,149 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Graph Legend</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('graph_legend.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Graph Legend</div> </div> +</div> +<div class="contents"> +<p>This page explains how to interpret the graphs that are generated by doxygen.</p> +<p>Consider the following example: </p> +<div class="fragment"><pre class="fragment"><span class="comment">/*! Invisible class because of truncation */</span> +<span class="keyword">class </span>Invisible { }; +<span class="comment"></span> +<span class="comment">/*! Truncated class, inheritance relation is hidden */</span> +<span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { }; + +<span class="comment">/* Class not documented with doxygen comments */</span> +<span class="keyword">class </span>Undocumented { }; +<span class="comment"></span> +<span class="comment">/*! Class that is inherited using public inheritance */</span> +<span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { }; +<span class="comment"></span> +<span class="comment">/*! A template class */</span> +<span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">class </span>Templ { }; +<span class="comment"></span> +<span class="comment">/*! Class that is inherited using protected inheritance */</span> +<span class="keyword">class </span>ProtectedBase { }; +<span class="comment"></span> +<span class="comment">/*! Class that is inherited using private inheritance */</span> +<span class="keyword">class </span>PrivateBase { }; +<span class="comment"></span> +<span class="comment">/*! Class that is used by the Inherited class */</span> +<span class="keyword">class </span>Used { }; +<span class="comment"></span> +<span class="comment">/*! Super class that inherits a number of other classes */</span> +<span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase, + <span class="keyword">protected</span> ProtectedBase, + <span class="keyword">private</span> PrivateBase, + <span class="keyword">public</span> Undocumented, + <span class="keyword">public</span> Templ<int> +{ + <span class="keyword">private</span>: + Used *m_usedClass; +}; +</pre></div><p> This will result in the following graph:</p> +<center><div class="image"> +<img src="graph_legend.png" alt="graph_legend.png"/> +</div> +</center> <p>The boxes in the above graph have the following meaning: </p> +<ul> +<li> +A filled gray box represents the struct or class for which the graph is generated. </li> +<li> +A box with a black border denotes a documented struct or class. </li> +<li> +A box with a grey border denotes an undocumented struct or class. </li> +<li> +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li> +</ul> +<p>The arrows have the following meaning: </p> +<ul> +<li> +A dark blue arrow is used to visualize a public inheritance relation between two classes. </li> +<li> +A dark green arrow is used for protected inheritance. </li> +<li> +A dark red arrow is used for private inheritance. </li> +<li> +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible. </li> +<li> +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/graph_legend.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +aa02ac430847567b48a24a6582604cb8 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/hierarchy.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,133 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Hierarchy</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li class="current"><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('hierarchy.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Class Hierarchy</div> </div> +</div> +<div class="contents"> +<div class="textblock"> +<p><a href="inherits.html">Go to the graphical class hierarchy</a></p> +This inheritance list is sorted roughly, but not completely, alphabetically:</div><ul> +<li><a class="el" href="struct__VampFeature.html">_VampFeature</a></li> +<li><a class="el" href="struct__VampFeatureList.html">_VampFeatureList</a></li> +<li><a class="el" href="union__VampFeatureUnion.html">_VampFeatureUnion</a></li> +<li><a class="el" href="struct__VampFeatureV2.html">_VampFeatureV2</a></li> +<li><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></li> +<li><a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a></li> +<li><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></li> +<li><a class="el" href="classFixedTempoEstimator_1_1D.html">FixedTempoEstimator::D</a></li> +<li><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Vamp::Plugin::Feature</a></li> +<li><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></li> +<li><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">Vamp::PluginBase::ParameterDescriptor</a></li> +<li><a class="el" href="classVamp_1_1PluginAdapterBase.html">Vamp::PluginAdapterBase</a><ul> +<li><a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter< P ></a></li> +</ul> +</li> +<li><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a><ul> +<li><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a><ul> +<li><a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a></li> +<li><a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a></li> +<li><a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a></li> +<li><a class="el" href="classPowerSpectrum.html">PowerSpectrum</a></li> +<li><a class="el" href="classSpectralCentroid.html">SpectralCentroid</a></li> +<li><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">Vamp::HostExt::PluginWrapper</a><ul> +<li><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">Vamp::HostExt::PluginBufferingAdapter</a></li> +<li><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html">Vamp::HostExt::PluginChannelAdapter</a></li> +<li><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">Vamp::HostExt::PluginInputDomainAdapter</a></li> +<li><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">Vamp::HostExt::PluginSummarisingAdapter</a></li> +</ul> +</li> +<li><a class="el" href="classVamp_1_1PluginHostAdapter.html">Vamp::PluginHostAdapter</a></li> +<li><a class="el" href="classZeroCrossing.html">ZeroCrossing</a></li> +</ul> +</li> +</ul> +</li> +<li><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">Vamp::HostExt::PluginLoader</a></li> +<li><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/hostguard_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,201 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: hostguard.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('hostguard_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#define-members">Defines</a> </div> + <div class="headertitle"> +<div class="title">hostguard.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="hostguard_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="define-members"></a> +Defines</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="hostguard_8h.html#a1b285975a7781cd1d1cdc19b0256380f">_VAMP_IN_HOSTSDK</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="hostguard_8h.html#aef42eae5f1b0b897d8dac58cd54afbcd">_VAMP_SDK_HOSTSPACE_BEGIN</a>(h)   namespace _VampHost {</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="hostguard_8h.html#a0e6efdc2909bdb0cfab70e087d91b171">_VAMP_SDK_HOSTSPACE_END</a>(h)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="hostguard_8h.html#a1a2724ea453971288d3218e4eab3072c">_VAMP_SDK_PLUGSPACE_BEGIN</a>(h)   namespace _VampHost {</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="hostguard_8h.html#ac879bb1077ecc6132ea3581ef9033753">_VAMP_SDK_PLUGSPACE_END</a>(h)</td></tr> +</table> +<hr/><h2>Define Documentation</h2> +<a class="anchor" id="a1b285975a7781cd1d1cdc19b0256380f"></a><!-- doxytag: member="hostguard.h::_VAMP_IN_HOSTSDK" ref="a1b285975a7781cd1d1cdc19b0256380f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define _VAMP_IN_HOSTSDK</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="hostguard_8h_source.html#l00044">44</a> of file <a class="el" href="hostguard_8h_source.html">hostguard.h</a>.</p> + +</div> +</div> +<a class="anchor" id="aef42eae5f1b0b897d8dac58cd54afbcd"></a><!-- doxytag: member="hostguard.h::_VAMP_SDK_HOSTSPACE_BEGIN" ref="aef42eae5f1b0b897d8dac58cd54afbcd" args="(h)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define _VAMP_SDK_HOSTSPACE_BEGIN</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">h</td><td>)</td> + <td>   namespace _VampHost {</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="hostguard_8h_source.html#l00052">52</a> of file <a class="el" href="hostguard_8h_source.html">hostguard.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a0e6efdc2909bdb0cfab70e087d91b171"></a><!-- doxytag: member="hostguard.h::_VAMP_SDK_HOSTSPACE_END" ref="a0e6efdc2909bdb0cfab70e087d91b171" args="(h)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define _VAMP_SDK_HOSTSPACE_END</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">h</td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<b>Value:</b><div class="fragment"><pre class="fragment">} \ + using <span class="keyword">namespace </span>_VampHost; +</pre></div> +<p>Definition at line <a class="el" href="hostguard_8h_source.html#l00055">55</a> of file <a class="el" href="hostguard_8h_source.html">hostguard.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a1a2724ea453971288d3218e4eab3072c"></a><!-- doxytag: member="hostguard.h::_VAMP_SDK_PLUGSPACE_BEGIN" ref="a1a2724ea453971288d3218e4eab3072c" args="(h)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define _VAMP_SDK_PLUGSPACE_BEGIN</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">h</td><td>)</td> + <td>   namespace _VampHost {</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="hostguard_8h_source.html#l00058">58</a> of file <a class="el" href="hostguard_8h_source.html">hostguard.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ac879bb1077ecc6132ea3581ef9033753"></a><!-- doxytag: member="hostguard.h::_VAMP_SDK_PLUGSPACE_END" ref="ac879bb1077ecc6132ea3581ef9033753" args="(h)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define _VAMP_SDK_PLUGSPACE_END</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">h</td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> +<b>Value:</b><div class="fragment"><pre class="fragment">} \ + using <span class="keyword">namespace </span>_VampHost; +</pre></div> +<p>Definition at line <a class="el" href="hostguard_8h_source.html#l00061">61</a> of file <a class="el" href="hostguard_8h_source.html">hostguard.h</a>.</p> + +</div> +</div> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="hostguard_8h.html">hostguard.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/hostguard_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,161 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: hostguard.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('hostguard_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">hostguard.h</div> </div> +</div> +<div class="contents"> +<a href="hostguard_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_HOSTSDK_HOSTGUARD_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_HOSTSDK_HOSTGUARD_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#ifdef _VAMP_IN_PLUGINSDK</span> +<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#error You have included headers from both vamp-sdk and vamp-hostsdk in the same source file. Please include only vamp-sdk headers in plugin code, and only vamp-hostsdk headers in host code.</span> +<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#else</span> +<a name="l00043"></a>00043 <span class="preprocessor"></span> +<a name="l00044"></a><a class="code" href="hostguard_8h.html#a1b285975a7781cd1d1cdc19b0256380f">00044</a> <span class="preprocessor">#define _VAMP_IN_HOSTSDK</span> +<a name="l00045"></a>00045 <span class="preprocessor"></span> +<a name="l00046"></a>00046 <span class="preprocessor">#ifdef _VAMP_NO_HOST_NAMESPACE</span> +<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_SDK_HOSTSPACE_BEGIN(h)</span> +<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_SDK_HOSTSPACE_END(h)</span> +<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_SDK_PLUGSPACE_BEGIN(h)</span> +<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_SDK_PLUGSPACE_END(h)</span> +<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#else</span> +<a name="l00052"></a><a class="code" href="hostguard_8h.html#aef42eae5f1b0b897d8dac58cd54afbcd">00052</a> <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_SDK_HOSTSPACE_BEGIN(h) \</span> +<a name="l00053"></a>00053 <span class="preprocessor"> namespace _VampHost {</span> +<a name="l00054"></a>00054 <span class="preprocessor"></span> +<a name="l00055"></a><a class="code" href="hostguard_8h.html#a0e6efdc2909bdb0cfab70e087d91b171">00055</a> <span class="preprocessor">#define _VAMP_SDK_HOSTSPACE_END(h) \</span> +<a name="l00056"></a>00056 <span class="preprocessor"> } \</span> +<a name="l00057"></a>00057 <span class="preprocessor"> using namespace _VampHost;</span> +<a name="l00058"></a><a class="code" href="hostguard_8h.html#a1a2724ea453971288d3218e4eab3072c">00058</a> <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_SDK_PLUGSPACE_BEGIN(h) \</span> +<a name="l00059"></a>00059 <span class="preprocessor"> namespace _VampHost {</span> +<a name="l00060"></a>00060 <span class="preprocessor"></span> +<a name="l00061"></a><a class="code" href="hostguard_8h.html#ac879bb1077ecc6132ea3581ef9033753">00061</a> <span class="preprocessor">#define _VAMP_SDK_PLUGSPACE_END(h) \</span> +<a name="l00062"></a>00062 <span class="preprocessor"> } \</span> +<a name="l00063"></a>00063 <span class="preprocessor"> using namespace _VampHost;</span> +<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#endif</span> +<a name="l00065"></a>00065 <span class="preprocessor"></span> +<a name="l00066"></a>00066 <span class="preprocessor">#endif</span> +<a name="l00067"></a>00067 <span class="preprocessor"></span> +<a name="l00068"></a>00068 <span class="preprocessor">#endif</span> +<a name="l00069"></a>00069 <span class="preprocessor"></span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="hostguard_8h.html">hostguard.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/index.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp Plugin SDK</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li class="current"><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('index.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title"><a class="el" href="namespaceVamp.html">Vamp</a> Plugin SDK </div> </div> +</div> +<div class="contents"> +<div class="textblock"><h2><a class="anchor" id="about"></a> +About Vamp</h2> +<p><a class="el" href="namespaceVamp.html">Vamp</a> is an API for C and C++ plugins that process sampled audio data to produce descriptive output (measurements or semantic observations). Find more information at <a href="http://www.vamp-plugins.org/">http://www.vamp-plugins.org/</a> .</p> +<p>Although the official API for <a class="el" href="namespaceVamp.html">Vamp</a> plugins is defined in C for maximum binary compatibility, we strongly recommend using the provided C++ classes in the SDK to implement your own plugins and hosts.</p> +<h2><a class="anchor" id="plugins"></a> +For Plugins</h2> +<p>Plugins should subclass <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a>, and then use a <a class="el" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">Vamp::PluginAdapter</a> to expose the correct C API for the plugin. Read the documentation for <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">Vamp::PluginBase</a> and <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> before starting.</p> +<p>Plugins should be compiled and linked into dynamic libraries using the usual convention for your platform, and should link (preferably statically) with -lvamp-sdk. Any number of plugins can reside in a single dynamic library. See <a class="el" href="plugins_8cpp.html">plugins.cpp</a> in the example plugins directory for the sort of code that will need to accompany your plugin class or classes, to make it possible for a host to look up your plugins properly.</p> +<p>Please read the relevant README file for your platform found in the <a class="el" href="namespaceVamp.html">Vamp</a> SDK build/ directory, for details about how to ensure the resulting dynamic library exports the correct linker symbols.</p> +<p>The following example plugins are provided. You may legally reuse any amount of the code from these examples in any plugins you write, whether proprietary or open-source.</p> +<ul> +<li><a class="el" href="classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero-crossing points in an audio waveform...">ZeroCrossing</a> calculates the positions and density of zero-crossing points in an audio waveform.</li> +</ul> +<ul> +<li><a class="el" href="classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation of each b...">SpectralCentroid</a> calculates the centre of gravity of the frequency domain representation of each block of audio.</li> +</ul> +<ul> +<li><a class="el" href="classPowerSpectrum.html" title="Example plugin that returns a power spectrum calculated (trivially) from the frequency domain represe...">PowerSpectrum</a> calculates a power spectrum from the input audio. Actually, it doesn't do any work except calculating power from a cartesian complex FFT output. The work of calculating this frequency domain output is done for it by the host or host SDK; the plugin just needs to declare that it wants frequency domain input. This is the simplest of the example plugins.</li> +</ul> +<ul> +<li><a class="el" href="classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function.">AmplitudeFollower</a> is a simple implementation of SuperCollider's amplitude-follower algorithm.</li> +</ul> +<ul> +<li><a class="el" href="classPercussionOnsetDetector.html" title="Example plugin that detects percussive events.">PercussionOnsetDetector</a> estimates the locations of percussive onsets using a simple method described in "Drum Source Separation + using Percussive Feature Detection and Spectral Modulation" by Dan Barry, Derry Fitzgerald, Eugene Coyle and Bob Lawlor, ISSC 2005.</li> +</ul> +<ul> +<li><a class="el" href="classFixedTempoEstimator.html" title="Example plugin that estimates the tempo of a short fixed-tempo sample.">FixedTempoEstimator</a> calculates a single beats-per-minute value which is an estimate of the tempo of a piece of music that is assumed to be of fixed tempo, using autocorrelation of a frequency domain energy rise metric. It has several outputs that return intermediate results used in the calculation, and may be a useful example of a plugin having several outputs with varying feature structures.</li> +</ul> +<h2><a class="anchor" id="hosts"></a> +For Hosts</h2> +<p>Hosts will normally use a <a class="el" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri...">Vamp::PluginHostAdapter</a> to convert each plugin's exposed C API back into a useful <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> C++ object.</p> +<p>The <a class="el" href="namespaceVamp_1_1HostExt.html">Vamp::HostExt</a> namespace contains several additional C++ classes to do this work for them, and make the host's life easier:</p> +<ul> +<li><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">Vamp::HostExt::PluginLoader</a> provides a very easy interface for a host to discover, load, and find out category information about the available plugins. Most <a class="el" href="namespaceVamp.html">Vamp</a> hosts will probably want to use this class.</li> +</ul> +<ul> +<li><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">Vamp::HostExt::PluginInputDomainAdapter</a> provides a simple means for hosts to handle plugins that want frequency-domain input, without having to convert the input themselves.</li> +</ul> +<ul> +<li><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">Vamp::HostExt::PluginChannelAdapter</a> provides a simple means for hosts to use plugins that do not necessarily support the same number of audio channels as they have available, without having to apply a channel management / mixdown policy themselves.</li> +</ul> +<ul> +<li><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">Vamp::HostExt::PluginBufferingAdapter</a> provides a means for hosts to avoid having to negotiate the input step and block size, instead permitting the host to use any block size they desire (and a step size equal to it). This is particularly useful for "streaming" hosts that cannot seek backwards in the input audio stream and so would otherwise need to implement an additional buffer to support step sizes smaller than the block size.</li> +</ul> +<ul> +<li><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an...">Vamp::HostExt::PluginSummarisingAdapter</a> provides summarisation methods such as mean and median averages of output features, for use in any context where an available plugin produces individual values but the result that is actually needed is some sort of aggregate.</li> +</ul> +<p>The PluginLoader class can also use the input domain, channel, and buffering adapters automatically to make these conversions transparent to the host if required.</p> +<p>Host authors should also refer to the example host code in the host directory of the SDK.</p> +<p>Hosts should link with -lvamp-hostsdk.</p> +<p>(The following notes in this section are mostly relevant for developers that are not using the HostExt classes, or that wish to know more about the policy they implement.)</p> +<p>The <a class="el" href="namespaceVamp.html">Vamp</a> API does not officially specify how to load plugin libraries or where to find them. However, the SDK does include a function (<a class="el" href="classVamp_1_1PluginHostAdapter.html#a09cbfb7903d28f10d6d556c6cb81c5f6">Vamp::PluginHostAdapter::getPluginPath()</a>) that returns a recommended directory search path that hosts may use for plugin libraries, and a class (<a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">Vamp::HostExt::PluginLoader</a>) that implements a sensible cross-platform lookup policy using this path. We recommend using this class in your host unless you have a good reason not to want to. This implementation also permits the user to set the environment variable VAMP_PATH to override the default path if desired.</p> +<p>The policy used by <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">Vamp::HostExt::PluginLoader</a> -- and our recommendation for any host -- is to search each directory in this path for .DLL (on Windows), .so (on Linux, Solaris, BSD etc) or .dylib (on OS/X) files, then to load each one and perform a dynamic name lookup on the vampGetPluginDescriptor function to enumerate the plugins in the library. The example host has some code that may help, but this operation will necessarily be system-dependent.</p> +<p><a class="el" href="namespaceVamp.html">Vamp</a> also has an informal convention for sorting plugins into functional categories. In addition to the library file itself, a plugin library may install a category file with the same name as the library but .cat extension. The existence and format of this file are not specified by the <a class="el" href="namespaceVamp.html">Vamp</a> API, but by convention the file may contain lines of the format</p> +<div class="fragment"><pre class="fragment">vamp:pluginlibrary:pluginname::General Category > Specific Category +</pre></div><p>which a host may read and use to assign plugins a location within a category tree for display to the user. The expectation is that advanced users may also choose to set up their own preferred category trees, which is why this information is not queried as part of the <a class="el" href="namespaceVamp.html">Vamp</a> plugin's API itself. The <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">Vamp::HostExt::PluginLoader</a> class also provides support for plugin category lookup using this scheme.</p> +<h2><a class="anchor" id="license"></a> +License</h2> +<p>This plugin SDK is freely redistributable under a "new-style BSD" licence. See the file COPYING for more details. In short, you may modify and redistribute the SDK and example plugins within any commercial or non-commercial, proprietary or open-source plugin or application under almost any conditions, with no obligation to provide source code, provided you retain the original copyright note. </p> +</div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_0.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="$struct__VampFeature.html" title="_VampFeature" alt="" coords="6,5,103,30"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_0.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +eb4b9fd0bb977a81ffad93a07a3424d4 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_1.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="$struct__VampFeatureList.html" title="_VampFeatureList" alt="" coords="5,5,120,30"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_1.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +c38face13a6d22bcee624099c9b9c055 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_10.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="$structVamp_1_1Plugin_1_1OutputDescriptor.html" title="Vamp::Plugin::OutputDescriptor" alt="" coords="6,5,197,30"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_10.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +cdc6d883535df0f18b4ac88f3bd41d70 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_11.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,4 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="$classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its..." alt="" coords="5,5,165,30"/> +<area shape="rect" id="node3" href="$classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio..." alt="" coords="214,5,378,30"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_11.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +64cb6793b3cebd31d387c7f9355aadb1 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_12.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,16 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="$classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="6,178,125,203"/> +<area shape="rect" id="node3" href="$classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="174,178,266,203"/> +<area shape="rect" id="node5" href="$classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function." alt="" coords="345,5,468,30"/> +<area shape="rect" id="node7" href="$classFixedTempoEstimator.html" title="Example plugin that estimates the tempo of a short fixed-tempo sample." alt="" coords="338,54,475,79"/> +<area shape="rect" id="node9" href="$classPercussionOnsetDetector.html" title="Example plugin that detects percussive events." alt="" coords="329,103,484,129"/> +<area shape="rect" id="node11" href="$classPowerSpectrum.html" title="Example plugin that returns a power spectrum calculated (trivially) from the frequency domain represe..." alt="" coords="353,153,460,178"/> +<area shape="rect" id="node13" href="$classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation of each b..." alt="" coords="351,202,463,227"/> +<area shape="rect" id="node15" href="$classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="315,251,499,277"/> +<area shape="rect" id="node25" href="$classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri..." alt="" coords="327,301,486,326"/> +<area shape="rect" id="node27" href="$classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero-crossing points in an audio waveform..." alt="" coords="360,350,453,375"/> +<area shape="rect" id="node17" href="$classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an..." alt="" coords="558,178,789,203"/> +<area shape="rect" id="node19" href="$classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that..." alt="" coords="560,227,787,253"/> +<area shape="rect" id="node21" href="$classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma..." alt="" coords="547,277,800,302"/> +<area shape="rect" id="node23" href="$classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an..." alt="" coords="547,326,800,351"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_12.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +b837ebdb201a5eb6a00a6636f42c6d34 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_13.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="$structVamp_1_1PluginBase_1_1ParameterDescriptor.html" title="Vamp::PluginBase::ParameterDescriptor" alt="" coords="6,5,239,30"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_13.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +f8f6047af365dc0bcf885485e34eebbb \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_14.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="$structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve..." alt="" coords="6,5,114,30"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_14.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +72ba5bcf1305b723cc32db4dd35d4fb3 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_2.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="$union__VampFeatureUnion.html" title="_VampFeatureUnion" alt="" coords="6,5,135,30"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_2.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +ce45ed563def7e43fa03be2317e86e48 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_3.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="$struct__VampFeatureV2.html" title="_VampFeatureV2" alt="" coords="6,5,117,30"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_3.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +f2d978652b4684eb182d7bbabc2b4dce \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_4.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="$struct__VampOutputDescriptor.html" title="_VampOutputDescriptor" alt="" coords="6,5,157,30"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_4.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +baa05f112f1dbc0cd2aa8e286542b377 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_5.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="$struct__VampParameterDescriptor.html" title="C language API for Vamp plugins." alt="" coords="6,5,173,30"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_5.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +0c5931d55e7c373f16354c90ba7fdca8 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_6.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="$struct__VampPluginDescriptor.html" title="_VampPluginDescriptor" alt="" coords="5,5,152,30"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_6.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +fd3fb59e738be3a41ae80c24fc610c10 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_7.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="$classFixedTempoEstimator_1_1D.html" title="FixedTempoEstimator::D" alt="" coords="5,5,157,30"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_7.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +1218436b52ea6fba1b4a8c1e95bf996b \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_8.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="$classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the..." alt="" coords="5,5,181,30"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_8.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +550823f6e90752dea152b9695cea8bce \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_9.map Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,3 @@ +<map id="G" name="G"> +<area shape="rect" id="node1" href="$structVamp_1_1Plugin_1_1Feature.html" title="Vamp::Plugin::Feature" alt="" coords="6,5,143,30"/> +</map>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherit_graph_9.md5 Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,1 @@ +8a399c8baa4b0365dfe67d776f6e439a \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/inherits.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,156 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Class Hierarchy</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li class="current"><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('hierarchy.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Class Hierarchy</div> </div> +</div> +<div class="contents"> +<div class="textblock"> +<p><a href="hierarchy.html">Go to the textual class hierarchy</a></p> +</div><table border="0" cellspacing="10" cellpadding="0"> +<tr><td><img src="inherit_graph_0.png" border="0" alt="" usemap="#__VampFeature"/> +<map name="__VampFeature" id="__VampFeature"> +<area shape="rect" id="node1" href="struct__VampFeature.html" title="_VampFeature" alt="" coords="6,5,103,30"/></map> +</td></tr> +<tr><td><img src="inherit_graph_1.png" border="0" alt="" usemap="#__VampFeatureList"/> +<map name="__VampFeatureList" id="__VampFeatureList"> +<area shape="rect" id="node1" href="struct__VampFeatureList.html" title="_VampFeatureList" alt="" coords="5,5,120,30"/></map> +</td></tr> +<tr><td><img src="inherit_graph_2.png" border="0" alt="" usemap="#__VampFeatureUnion"/> +<map name="__VampFeatureUnion" id="__VampFeatureUnion"> +<area shape="rect" id="node1" href="union__VampFeatureUnion.html" title="_VampFeatureUnion" alt="" coords="6,5,135,30"/></map> +</td></tr> +<tr><td><img src="inherit_graph_3.png" border="0" alt="" usemap="#__VampFeatureV2"/> +<map name="__VampFeatureV2" id="__VampFeatureV2"> +<area shape="rect" id="node1" href="struct__VampFeatureV2.html" title="_VampFeatureV2" alt="" coords="6,5,117,30"/></map> +</td></tr> +<tr><td><img src="inherit_graph_4.png" border="0" alt="" usemap="#__VampOutputDescriptor"/> +<map name="__VampOutputDescriptor" id="__VampOutputDescriptor"> +<area shape="rect" id="node1" href="struct__VampOutputDescriptor.html" title="_VampOutputDescriptor" alt="" coords="6,5,157,30"/></map> +</td></tr> +<tr><td><img src="inherit_graph_5.png" border="0" alt="" usemap="#__VampParameterDescriptor"/> +<map name="__VampParameterDescriptor" id="__VampParameterDescriptor"> +<area shape="rect" id="node1" href="struct__VampParameterDescriptor.html" title="C language API for Vamp plugins." alt="" coords="6,5,173,30"/></map> +</td></tr> +<tr><td><img src="inherit_graph_6.png" border="0" alt="" usemap="#__VampPluginDescriptor"/> +<map name="__VampPluginDescriptor" id="__VampPluginDescriptor"> +<area shape="rect" id="node1" href="struct__VampPluginDescriptor.html" title="_VampPluginDescriptor" alt="" coords="5,5,152,30"/></map> +</td></tr> +<tr><td><img src="inherit_graph_7.png" border="0" alt="" usemap="#FixedTempoEstimator_1_1D"/> +<map name="FixedTempoEstimator_1_1D" id="FixedTempoEstimator_1_1D"> +<area shape="rect" id="node1" href="classFixedTempoEstimator_1_1D.html" title="FixedTempoEstimator::D" alt="" coords="5,5,157,30"/></map> +</td></tr> +<tr><td><img src="inherit_graph_8.png" border="0" alt="" usemap="#Vamp_1_1HostExt_1_1PluginLoader"/> +<map name="Vamp_1_1HostExt_1_1PluginLoader" id="Vamp_1_1HostExt_1_1PluginLoader"> +<area shape="rect" id="node1" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the..." alt="" coords="5,5,181,30"/></map> +</td></tr> +<tr><td><img src="inherit_graph_9.png" border="0" alt="" usemap="#Vamp_1_1Plugin_1_1Feature"/> +<map name="Vamp_1_1Plugin_1_1Feature" id="Vamp_1_1Plugin_1_1Feature"> +<area shape="rect" id="node1" href="structVamp_1_1Plugin_1_1Feature.html" title="Vamp::Plugin::Feature" alt="" coords="6,5,143,30"/></map> +</td></tr> +<tr><td><img src="inherit_graph_10.png" border="0" alt="" usemap="#Vamp_1_1Plugin_1_1OutputDescriptor"/> +<map name="Vamp_1_1Plugin_1_1OutputDescriptor" id="Vamp_1_1Plugin_1_1OutputDescriptor"> +<area shape="rect" id="node1" href="structVamp_1_1Plugin_1_1OutputDescriptor.html" title="Vamp::Plugin::OutputDescriptor" alt="" coords="6,5,197,30"/></map> +</td></tr> +<tr><td><img src="inherit_graph_11.png" border="0" alt="" usemap="#Vamp_1_1PluginAdapterBase"/> +<map name="Vamp_1_1PluginAdapterBase" id="Vamp_1_1PluginAdapterBase"> +<area shape="rect" id="node1" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its..." alt="" coords="5,5,165,30"/><area shape="rect" id="node3" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio..." alt="" coords="214,5,378,30"/></map> +</td></tr> +<tr><td><img src="inherit_graph_12.png" border="0" alt="" usemap="#Vamp_1_1PluginBase"/> +<map name="Vamp_1_1PluginBase" id="Vamp_1_1PluginBase"> +<area shape="rect" id="node1" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="6,178,125,203"/><area shape="rect" id="node3" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="174,178,266,203"/><area shape="rect" id="node5" href="classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function." alt="" coords="345,5,468,30"/><area shape="rect" id="node7" href="classFixedTempoEstimator.html" title="Example plugin that estimates the tempo of a short fixed-tempo sample." alt="" coords="338,54,475,79"/><area shape="rect" id="node9" href="classPercussionOnsetDetector.html" title="Example plugin that detects percussive events." alt="" coords="329,103,484,129"/><area shape="rect" id="node11" href="classPowerSpectrum.html" title="Example plugin that returns a power spectrum calculated (trivially) from the frequency domain represe..." alt="" coords="353,153,460,178"/><area shape="rect" id="node13" href="classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation of each b..." alt="" coords="351,202,463,227"/><area shape="rect" id="node15" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="315,251,499,277"/><area shape="rect" id="node25" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri..." alt="" coords="327,301,486,326"/><area shape="rect" id="node27" href="classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero-crossing points in an audio waveform..." alt="" coords="360,350,453,375"/><area shape="rect" id="node17" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an..." alt="" coords="558,178,789,203"/><area shape="rect" id="node19" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that..." alt="" coords="560,227,787,253"/><area shape="rect" id="node21" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma..." alt="" coords="547,277,800,302"/><area shape="rect" id="node23" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an..." alt="" coords="547,326,800,351"/></map> +</td></tr> +<tr><td><img src="inherit_graph_13.png" border="0" alt="" usemap="#Vamp_1_1PluginBase_1_1ParameterDescriptor"/> +<map name="Vamp_1_1PluginBase_1_1ParameterDescriptor" id="Vamp_1_1PluginBase_1_1ParameterDescriptor"> +<area shape="rect" id="node1" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html" title="Vamp::PluginBase::ParameterDescriptor" alt="" coords="6,5,239,30"/></map> +</td></tr> +<tr><td><img src="inherit_graph_14.png" border="0" alt="" usemap="#Vamp_1_1RealTime"/> +<map name="Vamp_1_1RealTime" id="Vamp_1_1RealTime"> +<area shape="rect" id="node1" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve..." alt="" coords="6,5,114,30"/></map> +</td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/jquery.js Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,54 @@ +/* + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ +(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){ +var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +/* + * Sizzle CSS Selector Engine - v0.9.3 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0) +{I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function() +{G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); +/* + * jQuery UI 1.7.2 + * + * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI + */ +jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.2",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m<n.length;m++){if(j.options[n[m][0]]){n[m][1].apply(j.element,k)}}}},contains:function(k,j){return document.compareDocumentPosition?k.compareDocumentPosition(j)&16:k!==j&&k.contains(j)},hasScroll:function(m,k){if(c(m).css("overflow")=="hidden"){return false}var j=(k&&k=="left")?"scrollLeft":"scrollTop",l=false;if(m[j]>0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return i.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;/* * jQuery UI Resizable 1.7.2 + * + * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * http://docs.jquery.com/UI/Resizables + * + * Depends: + * ui.core.js + */ +(function(c){c.widget("ui.resizable",c.extend({},c.ui.mouse,{_init:function(){var e=this,j=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(j.aspectRatio),aspectRatio:j.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:j.helper||j.ghost||j.animate?j.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){if(/relative/.test(this.element.css("position"))&&c.browser.opera){this.element.css({position:"relative",top:"auto",left:"auto"})}this.element.wrap(c('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=j.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var k=this.handles.split(",");this.handles={};for(var f=0;f<k.length;f++){var h=c.trim(k[f]),d="ui-resizable-"+h;var g=c('<div class="ui-resizable-handle '+d+'"></div>');if(/sw|se|ne|nw/.test(h)){g.css({zIndex:++j.zIndex})}if("se"==h){g.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[h]=".ui-resizable-"+h;this.element.append(g)}}this._renderAxis=function(p){p=p||this.element;for(var m in this.handles){if(this.handles[m].constructor==String){this.handles[m]=c(this.handles[m],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var n=c(this.handles[m],this.element),o=0;o=/sw|ne|nw|se|n|s/.test(m)?n.outerHeight():n.outerWidth();var l=["padding",/ne|nw|n/.test(m)?"Top":/se|sw|s/.test(m)?"Bottom":/^e$/.test(m)?"Right":"Left"].join("");p.css(l,o);this._proportionallyResize()}if(!c(this.handles[m]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!e.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}e.axis=i&&i[1]?i[1]:"se"}});if(j.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){c(this).removeClass("ui-resizable-autohide");e._handles.show()},function(){if(!e.resizing){c(this).addClass("ui-resizable-autohide");e._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var d=function(f){c(f).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){d(this.element);var e=this.element;e.parent().append(this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")})).end().remove()}this.originalElement.css("resize",this.originalResizeStyle);d(this.originalElement)},_mouseCapture:function(e){var f=false;for(var d in this.handles){if(c(this.handles[d])[0]==e.target){f=true}}return this.options.disabled||!!f},_mouseStart:function(f){var i=this.options,e=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(d.is(".ui-draggable")||(/absolute/).test(d.css("position"))){d.css({position:"absolute",top:e.top,left:e.left})}if(c.browser.opera&&(/relative/).test(d.css("position"))){d.css({position:"relative",top:"auto",left:"auto"})}this._renderProxy();var j=b(this.helper.css("left")),g=b(this.helper.css("top"));if(i.containment){j+=c(i.containment).scrollLeft()||0;g+=c(i.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:j,top:g};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:j,top:g};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:f.pageX,top:f.pageY};this.aspectRatio=(typeof i.aspectRatio=="number")?i.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var h=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",h=="auto"?this.axis+"-resize":h);d.addClass("ui-resizable-resizing");this._propagate("start",f);return true},_mouseDrag:function(d){var g=this.helper,f=this.options,l={},p=this,i=this.originalMousePosition,m=this.axis;var q=(d.pageX-i.left)||0,n=(d.pageY-i.top)||0;var h=this._change[m];if(!h){return false}var k=h.apply(this,[d,q,n]),j=c.browser.msie&&c.browser.version<7,e=this.sizeDiff;if(this._aspectRatio||d.shiftKey){k=this._updateRatio(k,d)}k=this._respectSize(k,d);this._propagate("resize",d);g.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(k);this._trigger("resize",d,this.ui());return false},_mouseStop:function(g){this.resizing=false;var h=this.options,l=this;if(this._helper){var f=this._proportionallyResizeElements,d=f.length&&(/textarea/i).test(f[0].nodeName),e=d&&c.ui.hasScroll(f[0],"left")?0:l.sizeDiff.height,j=d?0:l.sizeDiff.width;var m={width:(l.size.width-j),height:(l.size.height-e)},i=(parseInt(l.element.css("left"),10)+(l.position.left-l.originalPosition.left))||null,k=(parseInt(l.element.css("top"),10)+(l.position.top-l.originalPosition.top))||null;if(!h.animate){this.element.css(c.extend(m,{top:k,left:i}))}l.helper.height(l.size.height);l.helper.width(l.size.width);if(this._helper&&!h.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",g);if(this._helper){this.helper.remove()}return false},_updateCache:function(d){var e=this.options;this.offset=this.helper.offset();if(a(d.left)){this.position.left=d.left}if(a(d.top)){this.position.top=d.top}if(a(d.height)){this.size.height=d.height}if(a(d.width)){this.size.width=d.width}},_updateRatio:function(g,f){var h=this.options,i=this.position,e=this.size,d=this.axis;if(g.height){g.width=(e.height*this.aspectRatio)}else{if(g.width){g.height=(e.width/this.aspectRatio)}}if(d=="sw"){g.left=i.left+(e.width-g.width);g.top=null}if(d=="nw"){g.top=i.top+(e.height-g.height);g.left=i.left+(e.width-g.width)}return g},_respectSize:function(k,f){var i=this.helper,h=this.options,q=this._aspectRatio||f.shiftKey,p=this.axis,s=a(k.width)&&h.maxWidth&&(h.maxWidth<k.width),l=a(k.height)&&h.maxHeight&&(h.maxHeight<k.height),g=a(k.width)&&h.minWidth&&(h.minWidth>k.width),r=a(k.height)&&h.minHeight&&(h.minHeight>k.height);if(g){k.width=h.minWidth}if(r){k.height=h.minHeight}if(s){k.width=h.maxWidth}if(l){k.height=h.maxHeight}var e=this.originalPosition.left+this.originalSize.width,n=this.position.top+this.size.height;var j=/sw|nw|w/.test(p),d=/nw|ne|n/.test(p);if(g&&j){k.left=e-h.minWidth}if(s&&j){k.left=e-h.maxWidth}if(r&&d){k.top=n-h.minHeight}if(l&&d){k.top=n-h.maxHeight}var m=!k.width&&!k.height;if(m&&!k.left&&k.top){k.top=null}else{if(m&&!k.top&&k.left){k.left=null}}return k},_proportionallyResize:function(){var j=this.options;if(!this._proportionallyResizeElements.length){return}var f=this.helper||this.element;for(var e=0;e<this._proportionallyResizeElements.length;e++){var g=this._proportionallyResizeElements[e];if(!this.borderDif){var d=[g.css("borderTopWidth"),g.css("borderRightWidth"),g.css("borderBottomWidth"),g.css("borderLeftWidth")],h=[g.css("paddingTop"),g.css("paddingRight"),g.css("paddingBottom"),g.css("paddingLeft")];this.borderDif=c.map(d,function(k,m){var l=parseInt(k,10)||0,n=parseInt(h[m],10)||0;return l+n})}if(c.browser.msie&&!(!(c(f).is(":hidden")||c(f).parents(":hidden").length))){continue}g.css({height:(f.height()-this.borderDif[0]-this.borderDif[2])||0,width:(f.width()-this.borderDif[1]-this.borderDif[3])||0})}},_renderProxy:function(){var e=this.element,h=this.options;this.elementOffset=e.offset();if(this._helper){this.helper=this.helper||c('<div style="overflow:hidden;"></div>');var d=c.browser.msie&&c.browser.version<7,f=(d?1:0),g=(d?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+g,height:this.element.outerHeight()+g,position:"absolute",left:this.elementOffset.left-f+"px",top:this.elementOffset.top-f+"px",zIndex:++h.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(f,e,d){return{width:this.originalSize.width+e}},w:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{left:h.left+e,width:f.width-e}},n:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{top:h.top+d,height:f.height-d}},s:function(f,e,d){return{height:this.originalSize.height+d}},se:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},sw:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[f,e,d]))},ne:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},nw:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[f,e,d]))}},_propagate:function(e,d){c.ui.plugin.call(this,e,[d,this.ui()]);(e!="resize"&&this._trigger(e,d,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}));c.extend(c.ui.resizable,{version:"1.7.2",eventPrefix:"resize",defaults:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,cancel:":input,option",containment:false,delay:0,distance:1,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000}});c.ui.plugin.add("resizable","alsoResize",{start:function(e,f){var d=c(this).data("resizable"),g=d.options;_store=function(h){c(h).each(function(){c(this).data("resizable-alsoresize",{width:parseInt(c(this).width(),10),height:parseInt(c(this).height(),10),left:parseInt(c(this).css("left"),10),top:parseInt(c(this).css("top"),10)})})};if(typeof(g.alsoResize)=="object"&&!g.alsoResize.parentNode){if(g.alsoResize.length){g.alsoResize=g.alsoResize[0];_store(g.alsoResize)}else{c.each(g.alsoResize,function(h,i){_store(h)})}}else{_store(g.alsoResize)}},resize:function(f,h){var e=c(this).data("resizable"),i=e.options,g=e.originalSize,k=e.originalPosition;var j={height:(e.size.height-g.height)||0,width:(e.size.width-g.width)||0,top:(e.position.top-k.top)||0,left:(e.position.left-k.left)||0},d=function(l,m){c(l).each(function(){var p=c(this),q=c(this).data("resizable-alsoresize"),o={},n=m&&m.length?m:["width","height","top","left"];c.each(n||["width","height","top","left"],function(r,t){var s=(q[t]||0)+(j[t]||0);if(s&&s>=0){o[t]=s||null}});if(/relative/.test(p.css("position"))&&c.browser.opera){e._revertToRelativePosition=true;p.css({position:"absolute",top:"auto",left:"auto"})}p.css(o)})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.nodeType){c.each(i.alsoResize,function(l,m){d(l,m)})}else{d(i.alsoResize)}},stop:function(e,f){var d=c(this).data("resizable");if(d._revertToRelativePosition&&c.browser.opera){d._revertToRelativePosition=false;el.css({position:"relative"})}c(this).removeData("resizable-alsoresize-start")}});c.ui.plugin.add("resizable","animate",{stop:function(h,m){var n=c(this).data("resizable"),i=n.options;var g=n._proportionallyResizeElements,d=g.length&&(/textarea/i).test(g[0].nodeName),e=d&&c.ui.hasScroll(g[0],"left")?0:n.sizeDiff.height,k=d?0:n.sizeDiff.width;var f={width:(n.size.width-k),height:(n.size.height-e)},j=(parseInt(n.element.css("left"),10)+(n.position.left-n.originalPosition.left))||null,l=(parseInt(n.element.css("top"),10)+(n.position.top-n.originalPosition.top))||null;n.element.animate(c.extend(f,l&&j?{top:l,left:j}:{}),{duration:i.animateDuration,easing:i.animateEasing,step:function(){var o={width:parseInt(n.element.css("width"),10),height:parseInt(n.element.css("height"),10),top:parseInt(n.element.css("top"),10),left:parseInt(n.element.css("left"),10)};if(g&&g.length){c(g[0]).css({width:o.width,height:o.height})}n._updateCache(o);n._propagate("resize",h)}})}});c.ui.plugin.add("resizable","containment",{start:function(e,q){var s=c(this).data("resizable"),i=s.options,k=s.element;var f=i.containment,j=(f instanceof c)?f.get(0):(/parent/.test(f))?k.parent().get(0):f;if(!j){return}s.containerElement=c(j);if(/document/.test(f)||f==document){s.containerOffset={left:0,top:0};s.containerPosition={left:0,top:0};s.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var m=c(j),h=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){h[p]=b(m.css("padding"+o))});s.containerOffset=m.offset();s.containerPosition=m.position();s.containerSize={height:(m.innerHeight()-h[3]),width:(m.innerWidth()-h[1])};var n=s.containerOffset,d=s.containerSize.height,l=s.containerSize.width,g=(c.ui.hasScroll(j,"left")?j.scrollWidth:l),r=(c.ui.hasScroll(j)?j.scrollHeight:d);s.parentData={element:j,left:n.left,top:n.top,width:g,height:r}}},resize:function(f,p){var s=c(this).data("resizable"),h=s.options,e=s.containerSize,n=s.containerOffset,l=s.size,m=s.position,q=s._aspectRatio||f.shiftKey,d={top:0,left:0},g=s.containerElement;if(g[0]!=document&&(/static/).test(g.css("position"))){d=n}if(m.left<(s._helper?n.left:0)){s.size.width=s.size.width+(s._helper?(s.position.left-n.left):(s.position.left-d.left));if(q){s.size.height=s.size.width/h.aspectRatio}s.position.left=h.helper?n.left:0}if(m.top<(s._helper?n.top:0)) +{s.size.height=s.size.height+(s._helper?(s.position.top-n.top):s.position.top);if(q){s.size.width=s.size.height*h.aspectRatio}s.position.top=s._helper?n.top:0}s.offset.left=s.parentData.left+s.position.left;s.offset.top=s.parentData.top+s.position.top;var k=Math.abs((s._helper?s.offset.left-d.left:(s.offset.left-d.left))+s.sizeDiff.width),r=Math.abs((s._helper?s.offset.top-d.top:(s.offset.top-n.top))+s.sizeDiff.height);var j=s.containerElement.get(0)==s.element.parent().get(0),i=/relative|absolute/.test(s.containerElement.css("position"));if(j&&i){k-=s.parentData.left}if(k+s.size.width>=s.parentData.width){s.size.width=s.parentData.width-k;if(q){s.size.height=s.size.width/s.aspectRatio}}if(r+s.size.height>=s.parentData.height){s.size.height=s.parentData.height-r;if(q){s.size.width=s.size.height*s.aspectRatio}}},stop:function(e,m){var p=c(this).data("resizable"),f=p.options,k=p.position,l=p.containerOffset,d=p.containerPosition,g=p.containerElement;var i=c(p.helper),q=i.offset(),n=i.outerWidth()-p.sizeDiff.width,j=i.outerHeight()-p.sizeDiff.height;if(p._helper&&!f.animate&&(/relative/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}if(p._helper&&!f.animate&&(/static/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}}});c.ui.plugin.add("resizable","ghost",{start:function(f,g){var d=c(this).data("resizable"),h=d.options,e=d.size;d.ghost=d.originalElement.clone();d.ghost.css({opacity:0.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof h.ghost=="string"?h.ghost:"");d.ghost.appendTo(d.helper)},resize:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost){d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})}},stop:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost&&d.helper){d.helper.get(0).removeChild(d.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(d,l){var n=c(this).data("resizable"),g=n.options,j=n.size,h=n.originalSize,i=n.originalPosition,m=n.axis,k=g._aspectRatio||d.shiftKey;g.grid=typeof g.grid=="number"?[g.grid,g.grid]:g.grid;var f=Math.round((j.width-h.width)/(g.grid[0]||1))*(g.grid[0]||1),e=Math.round((j.height-h.height)/(g.grid[1]||1))*(g.grid[1]||1);if(/^(se|s|e)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e}else{if(/^(ne)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e}else{if(/^(sw)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.left=i.left-f}else{n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e;n.position.left=i.left-f}}}}});var b=function(d){return parseInt(d,10)||0};var a=function(d){return !isNaN(parseInt(d,10))}})(jQuery);; +/** + * jQuery.ScrollTo - Easy element scrolling using jQuery. + * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com + * Licensed under GPL license (http://www.opensource.org/licenses/gpl-license.php). + * Date: 2/8/2008 + * @author Ariel Flesler + * @version 1.3.2 + */ +;(function($){var o=$.scrollTo=function(a,b,c){o.window().scrollTo(a,b,c)};o.defaults={axis:'y',duration:1};o.window=function(){return $($.browser.safari?'body':'html')};$.fn.scrollTo=function(l,m,n){if(typeof m=='object'){n=m;m=0}n=$.extend({},o.defaults,n);m=m||n.speed||n.duration;n.queue=n.queue&&n.axis.length>1;if(n.queue)m/=2;n.offset=j(n.offset);n.over=j(n.over);return this.each(function(){var a=this,b=$(a),t=l,c,d={},w=b.is('html,body');switch(typeof t){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(t)){t=j(t);break}t=$(t,this);case'object':if(t.is||t.style)c=(t=$(t)).offset()}$.each(n.axis.split(''),function(i,f){var P=f=='x'?'Left':'Top',p=P.toLowerCase(),k='scroll'+P,e=a[k],D=f=='x'?'Width':'Height';if(c){d[k]=c[p]+(w?0:e-b.offset()[p]);if(n.margin){d[k]-=parseInt(t.css('margin'+P))||0;d[k]-=parseInt(t.css('border'+P+'Width'))||0}d[k]+=n.offset[p]||0;if(n.over[p])d[k]+=t[D.toLowerCase()]()*n.over[p]}else d[k]=t[p];if(/^\d+$/.test(d[k]))d[k]=d[k]<=0?0:Math.min(d[k],h(D));if(!i&&n.queue){if(e!=d[k])g(n.onAfterFirst);delete d[k]}});g(n.onAfter);function g(a){b.animate(d,m,n.easing,a&&function(){a.call(this,l)})};function h(D){var b=w?$.browser.opera?document.body:document.documentElement:a;return b['scroll'+D]-b['client'+D]}})};function j(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery); +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/namespaceVamp.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,146 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp Namespace Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="namespaces.html"><span>Namespace List</span></a></li> + <li><a href="namespacemembers.html"><span>Namespace Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('namespaceVamp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#namespaces">Namespaces</a> | +<a href="#nested-classes">Classes</a> | +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">Vamp Namespace Reference</div> </div> +</div> +<div class="contents"> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="namespaces"></a> +Namespaces</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp_1_1HostExt.html">HostExt</a></td></tr> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> is a base class for plugin instance classes that provide feature extraction from audio or related data. <a href="classVamp_1_1Plugin.html#details">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html">PluginAdapterBase</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">PluginAdapter</a> and <a class="el" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a> provide a wrapper class that a plugin library can use to make its C++ <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> objects available through the <a class="el" href="namespaceVamp.html">Vamp</a> C API. <a href="classVamp_1_1PluginAdapterBase.html#details">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapter.html">PluginAdapter</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">PluginAdapter</a> turns a <a class="el" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a> into a specific wrapper for a particular plugin implementation. <a href="classVamp_1_1PluginAdapter.html#details">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html">PluginBase</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">A base class for plugins with optional configurable parameters, programs, etc. <a href="classVamp_1_1PluginBase.html#details">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> represents time values to nanosecond precision with accurate arithmetic and frame-rate conversion functions. <a href="structVamp_1_1RealTime.html#details">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginHostAdapter.html">PluginHostAdapter</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri...">PluginHostAdapter</a> is a wrapper class that a <a class="el" href="namespaceVamp.html">Vamp</a> host can use to make the C-language VampPluginDescriptor object appear as a C++ <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> object. <a href="classVamp_1_1PluginHostAdapter.html#details">More...</a><br/></td></tr> +<tr><td colspan="2"><h2><a name="func-members"></a> +Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp.html#a85842d554b6abf7bf9ff648b70f39fef">operator<<</a> (std::ostream &out, const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> &rt)</td></tr> +</table> +<hr/><h2>Function Documentation</h2> +<a class="anchor" id="a85842d554b6abf7bf9ff648b70f39fef"></a><!-- doxytag: member="Vamp::operator<<" ref="a85842d554b6abf7bf9ff648b70f39fef" args="(std::ostream &out, const RealTime &rt)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::ostream& Vamp::operator<< </td> + <td>(</td> + <td class="paramtype">std::ostream & </td> + <td class="paramname"><em>out</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const RealTime & </td> + <td class="paramname"><em>rt</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/namespaceVamp_1_1HostExt.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,111 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::HostExt Namespace Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="namespaces.html"><span>Namespace List</span></a></li> + <li><a href="namespacemembers.html"><span>Namespace Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('namespaceVamp_1_1HostExt.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> </div> + <div class="headertitle"> +<div class="title">Vamp::HostExt Namespace Reference</div> </div> +</div> +<div class="contents"> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html">PluginBufferingAdapter</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an...">PluginBufferingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that allows plugins to be used by a host supplying an audio stream in non-overlapping buffers of arbitrary size. <a href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#details">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html">PluginChannelAdapter</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that...">PluginChannelAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that implements a policy for management of plugins that expect a different number of input channels from the number actually available in the source audio data. <a href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#details">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html">PluginInputDomainAdapter</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that converts time-domain input into frequency-domain input for plugins that need it. <a href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#details">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html">PluginLoader</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">Vamp::HostExt::PluginLoader</a> is a convenience class for discovering and loading <a class="el" href="namespaceVamp.html">Vamp</a> plugins using the typical plugin-path, library naming, and categorisation conventions described in the <a class="el" href="namespaceVamp.html">Vamp</a> SDK documentation. <a href="classVamp_1_1HostExt_1_1PluginLoader.html#details">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html">PluginSummarisingAdapter</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an...">PluginSummarisingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that provides summarisation methods such as mean and median averages of output features, for use in any context where an available plugin produces individual values but the result that is actually needed is some sort of aggregate. <a href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#details">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html">PluginWrapper</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a> is a simple base class for adapter plugins. <a href="classVamp_1_1HostExt_1_1PluginWrapper.html#details">More...</a><br/></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="namespaceVamp_1_1HostExt.html">HostExt</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/namespacemembers.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Namespace Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="namespaces.html"><span>Namespace List</span></a></li> + <li class="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="namespacemembers.html"><span>All</span></a></li> + <li><a href="namespacemembers_func.html"><span>Functions</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('namespacemembers.html',''); +</script> +<div id="doc-content"> +<div class="contents"> +<div class="textblock">Here is a list of all namespace members with links to the namespace documentation for each member:</div><ul> +<li>operator<<() +: <a class="el" href="namespaceVamp.html#a85842d554b6abf7bf9ff648b70f39fef">Vamp</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/namespacemembers_func.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,98 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Namespace Members</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="namespaces.html"><span>Namespace List</span></a></li> + <li class="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li> + </ul> + </div> + <div id="navrow3" class="tabs2"> + <ul class="tablist"> + <li><a href="namespacemembers.html"><span>All</span></a></li> + <li class="current"><a href="namespacemembers_func.html"><span>Functions</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('namespacemembers.html',''); +</script> +<div id="doc-content"> +<div class="contents"> + <ul> +<li>operator<<() +: <a class="el" href="namespaceVamp.html#a85842d554b6abf7bf9ff648b70f39fef">Vamp</a> +</li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:53 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/namespaces.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,95 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Namespace List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li class="current"><a href="namespaces.html"><span>Namespace List</span></a></li> + <li><a href="namespacemembers.html"><span>Namespace Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('namespaces.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Namespace List</div> </div> +</div> +<div class="contents"> +<div class="textblock">Here is a list of all namespaces with brief descriptions:</div><table> + <tr><td class="indexkey"><a class="el" href="namespaceVamp.html">Vamp</a></td><td class="indexvalue"></td></tr> + <tr><td class="indexkey"><a class="el" href="namespaceVamp_1_1HostExt.html">Vamp::HostExt</a></td><td class="indexvalue"></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:51 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/navtree.css Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,123 @@ +#nav-tree .children_ul { + margin:0; + padding:4px; +} + +#nav-tree ul { + list-style:none outside none; + margin:0px; + padding:0px; +} + +#nav-tree li { + white-space:nowrap; + margin:0px; + padding:0px; +} + +#nav-tree .plus { + margin:0px; +} + +#nav-tree .selected { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +#nav-tree img { + margin:0px; + padding:0px; + border:0px; + vertical-align: middle; +} + +#nav-tree a { + text-decoration:none; + padding:0px; + margin:0px; + outline:none; +} + +#nav-tree .label { + margin:0px; + padding:0px; +} + +#nav-tree .label a { + padding:2px; +} + +#nav-tree .selected a { + text-decoration:none; + padding:2px; + margin:0px; + color:#fff; +} + +#nav-tree .children_ul { + margin:0px; + padding:0px; +} + +#nav-tree .item { + margin:0px; + padding:0px; +} + +#nav-tree { + padding: 0px 0px; + background-color: #FAFAFF; + font-size:14px; + overflow:auto; +} + +#doc-content { + overflow:auto; + display:block; + padding:0px; + margin:0px; +} + +#side-nav { + padding:0 6px 0 0; + margin: 0px; + display:block; + position: absolute; + left: 0px; + width: 300px; +} + +.ui-resizable .ui-resizable-handle { + display:block; +} + +.ui-resizable-e { + background:url("ftv2splitbar.png") repeat scroll right center transparent; + cursor:e-resize; + height:100%; + right:0; + top:0; + width:6px; +} + +.ui-resizable-handle { + display:none; + font-size:0.1px; + position:absolute; + z-index:1; +} + +#nav-tree-contents { + margin: 6px 0px 0px 0px; +} + +#nav-tree { + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; +} + + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/navtree.js Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,371 @@ +var NAVTREE = +[ + [ "VampPluginSDK", "index.html", [ + [ "Vamp Plugin SDK", "index.html", null ], + [ "Class List", "annotated.html", [ + [ "_VampFeature", "struct__VampFeature.html", null ], + [ "_VampFeatureList", "struct__VampFeatureList.html", null ], + [ "_VampFeatureUnion", "union__VampFeatureUnion.html", null ], + [ "_VampFeatureV2", "struct__VampFeatureV2.html", null ], + [ "_VampOutputDescriptor", "struct__VampOutputDescriptor.html", null ], + [ "_VampParameterDescriptor", "struct__VampParameterDescriptor.html", null ], + [ "_VampPluginDescriptor", "struct__VampPluginDescriptor.html", null ], + [ "AmplitudeFollower", "classAmplitudeFollower.html", null ], + [ "FixedTempoEstimator::D", "classFixedTempoEstimator_1_1D.html", null ], + [ "Vamp::Plugin::Feature", "structVamp_1_1Plugin_1_1Feature.html", null ], + [ "FixedTempoEstimator", "classFixedTempoEstimator.html", null ], + [ "Vamp::Plugin::OutputDescriptor", "structVamp_1_1Plugin_1_1OutputDescriptor.html", null ], + [ "Vamp::PluginBase::ParameterDescriptor", "structVamp_1_1PluginBase_1_1ParameterDescriptor.html", null ], + [ "PercussionOnsetDetector", "classPercussionOnsetDetector.html", null ], + [ "Vamp::Plugin", "classVamp_1_1Plugin.html", null ], + [ "Vamp::PluginAdapter< P >", "classVamp_1_1PluginAdapter.html", null ], + [ "Vamp::PluginAdapterBase", "classVamp_1_1PluginAdapterBase.html", null ], + [ "Vamp::PluginBase", "classVamp_1_1PluginBase.html", null ], + [ "Vamp::HostExt::PluginBufferingAdapter", "classVamp_1_1HostExt_1_1PluginBufferingAdapter.html", null ], + [ "Vamp::HostExt::PluginChannelAdapter", "classVamp_1_1HostExt_1_1PluginChannelAdapter.html", null ], + [ "Vamp::PluginHostAdapter", "classVamp_1_1PluginHostAdapter.html", null ], + [ "Vamp::HostExt::PluginInputDomainAdapter", "classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html", null ], + [ "Vamp::HostExt::PluginLoader", "classVamp_1_1HostExt_1_1PluginLoader.html", null ], + [ "Vamp::HostExt::PluginSummarisingAdapter", "classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html", null ], + [ "Vamp::HostExt::PluginWrapper", "classVamp_1_1HostExt_1_1PluginWrapper.html", null ], + [ "PowerSpectrum", "classPowerSpectrum.html", null ], + [ "Vamp::RealTime", "structVamp_1_1RealTime.html", null ], + [ "SpectralCentroid", "classSpectralCentroid.html", null ], + [ "ZeroCrossing", "classZeroCrossing.html", null ] + ] ], + [ "Class Index", "classes.html", null ], + [ "Class Hierarchy", "hierarchy.html", [ + [ "_VampFeature", "struct__VampFeature.html", null ], + [ "_VampFeatureList", "struct__VampFeatureList.html", null ], + [ "_VampFeatureUnion", "union__VampFeatureUnion.html", null ], + [ "_VampFeatureV2", "struct__VampFeatureV2.html", null ], + [ "_VampOutputDescriptor", "struct__VampOutputDescriptor.html", null ], + [ "_VampParameterDescriptor", "struct__VampParameterDescriptor.html", null ], + [ "_VampPluginDescriptor", "struct__VampPluginDescriptor.html", null ], + [ "FixedTempoEstimator::D", "classFixedTempoEstimator_1_1D.html", null ], + [ "Vamp::Plugin::Feature", "structVamp_1_1Plugin_1_1Feature.html", null ], + [ "Vamp::Plugin::OutputDescriptor", "structVamp_1_1Plugin_1_1OutputDescriptor.html", null ], + [ "Vamp::PluginBase::ParameterDescriptor", "structVamp_1_1PluginBase_1_1ParameterDescriptor.html", null ], + [ "Vamp::PluginAdapterBase", "classVamp_1_1PluginAdapterBase.html", [ + [ "Vamp::PluginAdapter< P >", "classVamp_1_1PluginAdapter.html", null ] + ] ], + [ "Vamp::PluginBase", "classVamp_1_1PluginBase.html", [ + [ "Vamp::Plugin", "classVamp_1_1Plugin.html", [ + [ "AmplitudeFollower", "classAmplitudeFollower.html", null ], + [ "FixedTempoEstimator", "classFixedTempoEstimator.html", null ], + [ "PercussionOnsetDetector", "classPercussionOnsetDetector.html", null ], + [ "PowerSpectrum", "classPowerSpectrum.html", null ], + [ "SpectralCentroid", "classSpectralCentroid.html", null ], + [ "Vamp::HostExt::PluginWrapper", "classVamp_1_1HostExt_1_1PluginWrapper.html", [ + [ "Vamp::HostExt::PluginBufferingAdapter", "classVamp_1_1HostExt_1_1PluginBufferingAdapter.html", null ], + [ "Vamp::HostExt::PluginChannelAdapter", "classVamp_1_1HostExt_1_1PluginChannelAdapter.html", null ], + [ "Vamp::HostExt::PluginInputDomainAdapter", "classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html", null ], + [ "Vamp::HostExt::PluginSummarisingAdapter", "classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html", null ] + ] ], + [ "Vamp::PluginHostAdapter", "classVamp_1_1PluginHostAdapter.html", null ], + [ "ZeroCrossing", "classZeroCrossing.html", null ] + ] ] + ] ], + [ "Vamp::HostExt::PluginLoader", "classVamp_1_1HostExt_1_1PluginLoader.html", null ], + [ "Vamp::RealTime", "structVamp_1_1RealTime.html", null ] + ] ], + [ "Class Members", "functions.html", null ], + [ "Namespace List", "namespaces.html", [ + [ "Vamp", "namespaceVamp.html", null ], + [ "Vamp::HostExt", "namespaceVamp_1_1HostExt.html", null ] + ] ], + [ "Namespace Members", "namespacemembers.html", null ], + [ "File List", "files.html", [ + [ "AmplitudeFollower.cpp", "AmplitudeFollower_8cpp.html", null ], + [ "AmplitudeFollower.h", "AmplitudeFollower_8h.html", null ], + [ "doc-overview", "doc-overview.html", null ], + [ "FixedTempoEstimator.cpp", "FixedTempoEstimator_8cpp.html", null ], + [ "FixedTempoEstimator.h", "FixedTempoEstimator_8h.html", null ], + [ "hostguard.h", "hostguard_8h.html", null ], + [ "PercussionOnsetDetector.cpp", "PercussionOnsetDetector_8cpp.html", null ], + [ "PercussionOnsetDetector.h", "PercussionOnsetDetector_8h.html", null ], + [ "plugguard.h", "plugguard_8h.html", null ], + [ "vamp-sdk/Plugin.h", "vamp-sdk_2Plugin_8h.html", null ], + [ "vamp-hostsdk/Plugin.h", "vamp-hostsdk_2Plugin_8h.html", null ], + [ "PluginAdapter.h", "PluginAdapter_8h.html", null ], + [ "vamp-sdk/PluginBase.h", "vamp-sdk_2PluginBase_8h.html", null ], + [ "vamp-hostsdk/PluginBase.h", "vamp-hostsdk_2PluginBase_8h.html", null ], + [ "PluginBufferingAdapter.h", "PluginBufferingAdapter_8h.html", null ], + [ "PluginChannelAdapter.h", "PluginChannelAdapter_8h.html", null ], + [ "PluginHostAdapter.h", "PluginHostAdapter_8h.html", null ], + [ "PluginInputDomainAdapter.h", "PluginInputDomainAdapter_8h.html", null ], + [ "PluginLoader.h", "PluginLoader_8h.html", null ], + [ "plugins.cpp", "plugins_8cpp.html", null ], + [ "PluginSummarisingAdapter.h", "PluginSummarisingAdapter_8h.html", null ], + [ "PluginWrapper.h", "PluginWrapper_8h.html", null ], + [ "PowerSpectrum.cpp", "PowerSpectrum_8cpp.html", null ], + [ "PowerSpectrum.h", "PowerSpectrum_8h.html", null ], + [ "vamp-sdk/RealTime.h", "vamp-sdk_2RealTime_8h.html", null ], + [ "vamp-hostsdk/RealTime.h", "vamp-hostsdk_2RealTime_8h.html", null ], + [ "SpectralCentroid.cpp", "SpectralCentroid_8cpp.html", null ], + [ "SpectralCentroid.h", "SpectralCentroid_8h.html", null ], + [ "system.h", "system_8h.html", null ], + [ "vamp-hostsdk.h", "vamp-hostsdk_8h.html", null ], + [ "vamp-sdk.h", "vamp-sdk_8h.html", null ], + [ "vamp-simple-host.cpp", "vamp-simple-host_8cpp.html", null ], + [ "vamp.h", "vamp_8h.html", null ], + [ "ZeroCrossing.cpp", "ZeroCrossing_8cpp.html", null ], + [ "ZeroCrossing.h", "ZeroCrossing_8h.html", null ] + ] ], + [ "Directories", "dirs.html", [ + [ "examples", "dir_4ec587bfce30b9b784fbf1cea7303b09.html", null ], + [ "host", "dir_6fbd4b7d3be43d486a3cce3231e92c53.html", null ], + [ "src", "dir_629e1dda0168f818e2ee3ab23f68039a.html", null ], + [ "vamp", "dir_09d7d2829940fe46b7bc0eab58bbbc83.html", null ], + [ "vamp-hostsdk", "dir_878d155c6c7dea35ce3fc23c898c55e3.html", null ], + [ "vamp-sdk", "dir_fc29d784de6894b015ce0522888485dd.html", null ] + ] ], + [ "File Members", "globals.html", null ] + ] ] +]; + +function createIndent(o,domNode,node,level) +{ + if (node.parentNode && node.parentNode.parentNode) + { + createIndent(o,domNode,node.parentNode,level+1); + } + var imgNode = document.createElement("img"); + if (level==0 && node.childrenData) + { + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() + { + if (node.expanded) + { + $(node.getChildrenUL()).slideUp("fast"); + if (node.isLast) + { + node.plus_img.src = node.relpath+"ftv2plastnode.png"; + } + else + { + node.plus_img.src = node.relpath+"ftv2pnode.png"; + } + node.expanded = false; + } + else + { + expandNode(o, node, false); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + } + else + { + domNode.appendChild(imgNode); + } + if (level==0) + { + if (node.isLast) + { + if (node.childrenData) + { + imgNode.src = node.relpath+"ftv2plastnode.png"; + } + else + { + imgNode.src = node.relpath+"ftv2lastnode.png"; + domNode.appendChild(imgNode); + } + } + else + { + if (node.childrenData) + { + imgNode.src = node.relpath+"ftv2pnode.png"; + } + else + { + imgNode.src = node.relpath+"ftv2node.png"; + domNode.appendChild(imgNode); + } + } + } + else + { + if (node.isLast) + { + imgNode.src = node.relpath+"ftv2blank.png"; + } + else + { + imgNode.src = node.relpath+"ftv2vertline.png"; + } + } + imgNode.border = "0"; +} + +function newNode(o, po, text, link, childrenData, lastNode) +{ + var node = new Object(); + node.children = Array(); + node.childrenData = childrenData; + node.depth = po.depth + 1; + node.relpath = po.relpath; + node.isLast = lastNode; + + node.li = document.createElement("li"); + po.getChildrenUL().appendChild(node.li); + node.parentNode = po; + + node.itemDiv = document.createElement("div"); + node.itemDiv.className = "item"; + + node.labelSpan = document.createElement("span"); + node.labelSpan.className = "label"; + + createIndent(o,node.itemDiv,node,0); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + var a = document.createElement("a"); + node.labelSpan.appendChild(a); + node.label = document.createTextNode(text); + a.appendChild(node.label); + if (link) + { + a.href = node.relpath+link; + } + else + { + if (childrenData != null) + { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + node.expanded = false; + } + } + + node.childrenUL = null; + node.getChildrenUL = function() + { + if (!node.childrenUL) + { + node.childrenUL = document.createElement("ul"); + node.childrenUL.className = "children_ul"; + node.childrenUL.style.display = "none"; + node.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }; + + return node; +} + +function showRoot() +{ + var headerHeight = $("#top").height(); + var footerHeight = $("#nav-path").height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + navtree.scrollTo('#selected',0,{offset:-windowHeight/2}); +} + +function expandNode(o, node, imm) +{ + if (node.childrenData && !node.expanded) + { + if (!node.childrenVisited) + { + getNode(o, node); + } + if (imm) + { + $(node.getChildrenUL()).show(); + } + else + { + $(node.getChildrenUL()).slideDown("fast",showRoot); + } + if (node.isLast) + { + node.plus_img.src = node.relpath+"ftv2mlastnode.png"; + } + else + { + node.plus_img.src = node.relpath+"ftv2mnode.png"; + } + node.expanded = true; + } +} + +function getNode(o, po) +{ + po.childrenVisited = true; + var l = po.childrenData.length-1; + for (var i in po.childrenData) + { + var nodeData = po.childrenData[i]; + po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2], + i==l); + } +} + +function findNavTreePage(url, data) +{ + var nodes = data; + var result = null; + for (var i in nodes) + { + var d = nodes[i]; + if (d[1] == url) + { + return new Array(i); + } + else if (d[2] != null) // array of children + { + result = findNavTreePage(url, d[2]); + if (result != null) + { + return (new Array(i).concat(result)); + } + } + } + return null; +} + +function initNavTree(toroot,relpath) +{ + var o = new Object(); + o.toroot = toroot; + o.node = new Object(); + o.node.li = document.getElementById("nav-tree-contents"); + o.node.childrenData = NAVTREE; + o.node.children = new Array(); + o.node.childrenUL = document.createElement("ul"); + o.node.getChildrenUL = function() { return o.node.childrenUL; }; + o.node.li.appendChild(o.node.childrenUL); + o.node.depth = 0; + o.node.relpath = relpath; + + getNode(o, o.node); + + o.breadcrumbs = findNavTreePage(toroot, NAVTREE); + if (o.breadcrumbs == null) + { + o.breadcrumbs = findNavTreePage("index.html",NAVTREE); + } + if (o.breadcrumbs != null && o.breadcrumbs.length>0) + { + var p = o.node; + for (var i in o.breadcrumbs) + { + var j = o.breadcrumbs[i]; + p = p.children[j]; + expandNode(o,p,true); + } + p.itemDiv.className = p.itemDiv.className + " selected"; + p.itemDiv.id = "selected"; + $(window).load(showRoot); + } +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/plugguard_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,168 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: plugguard.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('plugguard_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#define-members">Defines</a> </div> + <div class="headertitle"> +<div class="title">plugguard.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="plugguard_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="define-members"></a> +Defines</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="plugguard_8h.html#a3bf4e97f131677e5e1505a7a9582d68a">_VAMP_IN_PLUGINSDK</a>   1</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Normal usage should be: <a href="#a3bf4e97f131677e5e1505a7a9582d68a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="plugguard_8h.html#a1a2724ea453971288d3218e4eab3072c">_VAMP_SDK_PLUGSPACE_BEGIN</a>(h)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="plugguard_8h.html#ac879bb1077ecc6132ea3581ef9033753">_VAMP_SDK_PLUGSPACE_END</a>(h)</td></tr> +</table> +<hr/><h2>Define Documentation</h2> +<a class="anchor" id="a3bf4e97f131677e5e1505a7a9582d68a"></a><!-- doxytag: member="plugguard.h::_VAMP_IN_PLUGINSDK" ref="a3bf4e97f131677e5e1505a7a9582d68a" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define _VAMP_IN_PLUGINSDK   1</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Normal usage should be: </p> +<ul> +<li>Plugins include <a class="el" href="vamp-sdk_2Plugin_8h.html">vamp-sdk/Plugin.h</a> or <a class="el" href="vamp-sdk_2PluginBase_8h.html">vamp-sdk/PluginBase.h</a>. These files include this header, which specifies an appropriate namespace for the plugin classes to avoid any risk of conflict with non-plugin class implementations in the host on load.</li> +</ul> +<ul> +<li>Hosts include <a class="el" href="vamp-hostsdk_2Plugin_8h.html">vamp-hostsdk/Plugin.h</a>, <a class="el" href="vamp-hostsdk_2PluginBase_8h.html">vamp-hostsdk/PluginBase.h</a>, vamp-hostsdk/PluginHostAdapter, <a class="el" href="PluginLoader_8h.html">vamp-hostsdk/PluginLoader.h</a> etc. These files include <a class="el" href="hostguard_8h.html">vamp-hostsdk/hostguard.h</a>, which makes a note that we are in a host. A file such as <a class="el" href="vamp-hostsdk_2Plugin_8h.html">vamp-hostsdk/Plugin.h</a> then simply includes <a class="el" href="vamp-sdk_2Plugin_8h.html">vamp-sdk/Plugin.h</a>, and this guard header takes notice of the fact that it has been included from a host and leaves the plugin namespace unset.</li> +</ul> +<p>Problems will occur when a host includes files directly from the vamp-sdk directory. There are two reasons this might happen: mistake, perhaps owing to ignorance of the fact that this isn't allowed (particularly since it was the normal mechanism in v1 of the SDK); and a wish to incorporate plugin code directly into the host rather than having to load it.</p> +<p>What if the host does include a vamp-sdk header by mistake? We can catch it if it's included before something from vamp-hostsdk. If it's included after something from vamp-hostsdk, it will work OK anyway. The remaining problem case is where nothing from vamp-hostsdk is included in the same file. We can't catch that. </p> + +<p>Definition at line <a class="el" href="plugguard_8h_source.html#l00072">72</a> of file <a class="el" href="plugguard_8h_source.html">plugguard.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a1a2724ea453971288d3218e4eab3072c"></a><!-- doxytag: member="plugguard.h::_VAMP_SDK_PLUGSPACE_BEGIN" ref="a1a2724ea453971288d3218e4eab3072c" args="(h)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define _VAMP_SDK_PLUGSPACE_BEGIN</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">h</td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="plugguard_8h_source.html#l00075">75</a> of file <a class="el" href="plugguard_8h_source.html">plugguard.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ac879bb1077ecc6132ea3581ef9033753"></a><!-- doxytag: member="plugguard.h::_VAMP_SDK_PLUGSPACE_END" ref="ac879bb1077ecc6132ea3581ef9033753" args="(h)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define _VAMP_SDK_PLUGSPACE_END</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">h</td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="plugguard_8h_source.html#l00076">76</a> of file <a class="el" href="plugguard_8h_source.html">plugguard.h</a>.</p> + +</div> +</div> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="plugguard_8h.html">plugguard.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/plugguard_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,160 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: plugguard.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('plugguard_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">plugguard.h</div> </div> +</div> +<div class="contents"> +<a href="plugguard_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_SDK_PLUGGUARD_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_SDK_PLUGGUARD_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00070"></a>00070 <span class="preprocessor">#ifndef _VAMP_IN_HOSTSDK</span> +<a name="l00071"></a>00071 <span class="preprocessor"></span> +<a name="l00072"></a><a class="code" href="plugguard_8h.html#a3bf4e97f131677e5e1505a7a9582d68a">00072</a> <span class="preprocessor">#define _VAMP_IN_PLUGINSDK 1</span> +<a name="l00073"></a>00073 <span class="preprocessor"></span> +<a name="l00074"></a>00074 <span class="preprocessor">#ifdef _VAMP_NO_PLUGIN_NAMESPACE</span> +<a name="l00075"></a><a class="code" href="plugguard_8h.html#a1a2724ea453971288d3218e4eab3072c">00075</a> <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_SDK_PLUGSPACE_BEGIN(h)</span> +<a name="l00076"></a><a class="code" href="plugguard_8h.html#ac879bb1077ecc6132ea3581ef9033753">00076</a> <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_SDK_PLUGSPACE_END(h)</span> +<a name="l00077"></a>00077 <span class="preprocessor"></span><span class="preprocessor">#else</span> +<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="preprocessor">#ifdef _VAMP_PLUGIN_IN_HOST_NAMESPACE</span> +<a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_SDK_PLUGSPACE_BEGIN(h) \</span> +<a name="l00080"></a>00080 <span class="preprocessor"> namespace _VampHost {</span> +<a name="l00081"></a>00081 <span class="preprocessor"></span> +<a name="l00082"></a>00082 <span class="preprocessor">#define _VAMP_SDK_PLUGSPACE_END(h) \</span> +<a name="l00083"></a>00083 <span class="preprocessor"> } \</span> +<a name="l00084"></a>00084 <span class="preprocessor"> using namespace _VampHost;</span> +<a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor">#else</span> +<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_SDK_PLUGSPACE_BEGIN(h) \</span> +<a name="l00087"></a>00087 <span class="preprocessor"> namespace _VampPlugin {</span> +<a name="l00088"></a>00088 <span class="preprocessor"></span> +<a name="l00089"></a>00089 <span class="preprocessor">#define _VAMP_SDK_PLUGSPACE_END(h) \</span> +<a name="l00090"></a>00090 <span class="preprocessor"> } \</span> +<a name="l00091"></a>00091 <span class="preprocessor"> using namespace _VampPlugin;</span> +<a name="l00092"></a>00092 <span class="preprocessor"></span><span class="preprocessor">#endif</span> +<a name="l00093"></a>00093 <span class="preprocessor"></span><span class="preprocessor">#endif</span> +<a name="l00094"></a>00094 <span class="preprocessor"></span> +<a name="l00095"></a>00095 <span class="preprocessor">#endif</span> +<a name="l00096"></a>00096 <span class="preprocessor"></span> +<a name="l00097"></a>00097 <span class="preprocessor">#endif</span> +<a name="l00098"></a>00098 <span class="preprocessor"></span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="plugguard_8h.html">plugguard.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/plugins_8cpp.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,245 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: plugins.cpp File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('plugins_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#func-members">Functions</a> | +<a href="#var-members">Variables</a> </div> + <div class="headertitle"> +<div class="title">plugins.cpp File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="plugins_8cpp_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="func-members"></a> +Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="plugins_8cpp.html#abb0fd6db76ddd39698bc370e0fd0ea78">vampGetPluginDescriptor</a> (unsigned int version, unsigned int index)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the descriptor for a given plugin index in this library. <a href="#abb0fd6db76ddd39698bc370e0fd0ea78"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="var-members"></a> +Variables</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter</a><br class="typebreak"/> +< <a class="el" href="classZeroCrossing.html">ZeroCrossing</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="plugins_8cpp.html#a01871ad1ab2bb64e2c53fe5cce19b780">zeroCrossingAdapter</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter</a><br class="typebreak"/> +< <a class="el" href="classSpectralCentroid.html">SpectralCentroid</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="plugins_8cpp.html#ac96bdfb6356a153341b29b43c4961cd5">spectralCentroidAdapter</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter</a><br class="typebreak"/> +< <a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="plugins_8cpp.html#acee3823cb6a43281a2ecf923b69613dd">percussionOnsetAdapter</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter</a><br class="typebreak"/> +< <a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="plugins_8cpp.html#a937de36d22633261716032570064a4be">fixedTempoAdapter</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter</a><br class="typebreak"/> +< <a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="plugins_8cpp.html#a4e60bb6a99451da5deb18b969e6b16cd">amplitudeAdapter</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter</a><br class="typebreak"/> +< <a class="el" href="classPowerSpectrum.html">PowerSpectrum</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="plugins_8cpp.html#a77810f485caaae4a8b2303496046d3d7">powerSpectrum</a></td></tr> +</table> +<hr/><h2>Function Documentation</h2> +<a class="anchor" id="abb0fd6db76ddd39698bc370e0fd0ea78"></a><!-- doxytag: member="plugins.cpp::vampGetPluginDescriptor" ref="abb0fd6db76ddd39698bc370e0fd0ea78" args="(unsigned int version, unsigned int index)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a>* vampGetPluginDescriptor </td> + <td>(</td> + <td class="paramtype">unsigned int </td> + <td class="paramname"><em>hostApiVersion</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">unsigned int </td> + <td class="paramname"><em>index</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the descriptor for a given plugin index in this library. </p> +<p>Return NULL if the index is outside the range of valid indices for this plugin library.</p> +<p>The hostApiVersion argument tells the library code the highest <a class="el" href="namespaceVamp.html">Vamp</a> API version supported by the host. The function should return a plugin descriptor compatible with the highest API version supported by the library that is no higher than that supported by the host. Provided the descriptor has the correct vampApiVersion field for its actual compatibility level, the host should be able to do the right thing with it: use it if possible, discard it otherwise.</p> +<p>This is the only symbol that a <a class="el" href="namespaceVamp.html">Vamp</a> plugin actually needs to export from its shared object; all others can be hidden. See the accompanying documentation for notes on how to achieve this with certain compilers. </p> + +<p>Definition at line <a class="el" href="plugins_8cpp_source.html#l00054">54</a> of file <a class="el" href="plugins_8cpp_source.html">plugins.cpp</a>.</p> + +<p>References <a class="el" href="classVamp_1_1PluginAdapterBase.html#ad24595002512f9f00e8e45216d6f5dfb">Vamp::PluginAdapterBase::getDescriptor()</a>.</p> + +</div> +</div> +<hr/><h2>Variable Documentation</h2> +<a class="anchor" id="a01871ad1ab2bb64e2c53fe5cce19b780"></a><!-- doxytag: member="plugins.cpp::zeroCrossingAdapter" ref="a01871ad1ab2bb64e2c53fe5cce19b780" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter</a><<a class="el" href="classZeroCrossing.html">ZeroCrossing</a>> <a class="el" href="plugins_8cpp.html#a01871ad1ab2bb64e2c53fe5cce19b780">zeroCrossingAdapter</a><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="plugins_8cpp_source.html#l00047">47</a> of file <a class="el" href="plugins_8cpp_source.html">plugins.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="ac96bdfb6356a153341b29b43c4961cd5"></a><!-- doxytag: member="plugins.cpp::spectralCentroidAdapter" ref="ac96bdfb6356a153341b29b43c4961cd5" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter</a><<a class="el" href="classSpectralCentroid.html">SpectralCentroid</a>> <a class="el" href="plugins_8cpp.html#ac96bdfb6356a153341b29b43c4961cd5">spectralCentroidAdapter</a><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="plugins_8cpp_source.html#l00048">48</a> of file <a class="el" href="plugins_8cpp_source.html">plugins.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="acee3823cb6a43281a2ecf923b69613dd"></a><!-- doxytag: member="plugins.cpp::percussionOnsetAdapter" ref="acee3823cb6a43281a2ecf923b69613dd" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter</a><<a class="el" href="classPercussionOnsetDetector.html">PercussionOnsetDetector</a>> <a class="el" href="plugins_8cpp.html#acee3823cb6a43281a2ecf923b69613dd">percussionOnsetAdapter</a><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="plugins_8cpp_source.html#l00049">49</a> of file <a class="el" href="plugins_8cpp_source.html">plugins.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a937de36d22633261716032570064a4be"></a><!-- doxytag: member="plugins.cpp::fixedTempoAdapter" ref="a937de36d22633261716032570064a4be" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter</a><<a class="el" href="classFixedTempoEstimator.html">FixedTempoEstimator</a>> <a class="el" href="plugins_8cpp.html#a937de36d22633261716032570064a4be">fixedTempoAdapter</a><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="plugins_8cpp_source.html#l00050">50</a> of file <a class="el" href="plugins_8cpp_source.html">plugins.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a4e60bb6a99451da5deb18b969e6b16cd"></a><!-- doxytag: member="plugins.cpp::amplitudeAdapter" ref="a4e60bb6a99451da5deb18b969e6b16cd" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter</a><<a class="el" href="classAmplitudeFollower.html">AmplitudeFollower</a>> <a class="el" href="plugins_8cpp.html#a4e60bb6a99451da5deb18b969e6b16cd">amplitudeAdapter</a><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="plugins_8cpp_source.html#l00051">51</a> of file <a class="el" href="plugins_8cpp_source.html">plugins.cpp</a>.</p> + +</div> +</div> +<a class="anchor" id="a77810f485caaae4a8b2303496046d3d7"></a><!-- doxytag: member="plugins.cpp::powerSpectrum" ref="a77810f485caaae4a8b2303496046d3d7" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classVamp_1_1PluginAdapter.html">Vamp::PluginAdapter</a><<a class="el" href="classPowerSpectrum.html">PowerSpectrum</a>> <a class="el" href="plugins_8cpp.html#a77810f485caaae4a8b2303496046d3d7">powerSpectrum</a><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="plugins_8cpp_source.html#l00052">52</a> of file <a class="el" href="plugins_8cpp_source.html">plugins.cpp</a>.</p> + +</div> +</div> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="plugins_8cpp.html">plugins.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/plugins_8cpp_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,161 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: plugins.cpp Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('plugins_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">plugins.cpp</div> </div> +</div> +<div class="contents"> +<a href="plugins_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="vamp_8h.html">vamp/vamp.h</a>"</span> +<a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="PluginAdapter_8h.html">vamp-sdk/PluginAdapter.h</a>"</span> +<a name="l00039"></a>00039 +<a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="ZeroCrossing_8h.html">ZeroCrossing.h</a>"</span> +<a name="l00041"></a>00041 <span class="preprocessor">#include "<a class="code" href="SpectralCentroid_8h.html">SpectralCentroid.h</a>"</span> +<a name="l00042"></a>00042 <span class="preprocessor">#include "<a class="code" href="PercussionOnsetDetector_8h.html">PercussionOnsetDetector.h</a>"</span> +<a name="l00043"></a>00043 <span class="preprocessor">#include "<a class="code" href="FixedTempoEstimator_8h.html">FixedTempoEstimator.h</a>"</span> +<a name="l00044"></a>00044 <span class="preprocessor">#include "<a class="code" href="AmplitudeFollower_8h.html">AmplitudeFollower.h</a>"</span> +<a name="l00045"></a>00045 <span class="preprocessor">#include "<a class="code" href="PowerSpectrum_8h.html">PowerSpectrum.h</a>"</span> +<a name="l00046"></a>00046 +<a name="l00047"></a><a class="code" href="plugins_8cpp.html#a01871ad1ab2bb64e2c53fe5cce19b780">00047</a> <span class="keyword">static</span> <a class="code" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">Vamp::PluginAdapter<ZeroCrossing></a> <a class="code" href="plugins_8cpp.html#a01871ad1ab2bb64e2c53fe5cce19b780">zeroCrossingAdapter</a>; +<a name="l00048"></a><a class="code" href="plugins_8cpp.html#ac96bdfb6356a153341b29b43c4961cd5">00048</a> <span class="keyword">static</span> <a class="code" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">Vamp::PluginAdapter<SpectralCentroid></a> <a class="code" href="plugins_8cpp.html#ac96bdfb6356a153341b29b43c4961cd5">spectralCentroidAdapter</a>; +<a name="l00049"></a><a class="code" href="plugins_8cpp.html#acee3823cb6a43281a2ecf923b69613dd">00049</a> <span class="keyword">static</span> <a class="code" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">Vamp::PluginAdapter<PercussionOnsetDetector></a> <a class="code" href="plugins_8cpp.html#acee3823cb6a43281a2ecf923b69613dd">percussionOnsetAdapter</a>; +<a name="l00050"></a><a class="code" href="plugins_8cpp.html#a937de36d22633261716032570064a4be">00050</a> <span class="keyword">static</span> <a class="code" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">Vamp::PluginAdapter<FixedTempoEstimator></a> <a class="code" href="plugins_8cpp.html#a937de36d22633261716032570064a4be">fixedTempoAdapter</a>; +<a name="l00051"></a><a class="code" href="plugins_8cpp.html#a4e60bb6a99451da5deb18b969e6b16cd">00051</a> <span class="keyword">static</span> <a class="code" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">Vamp::PluginAdapter<AmplitudeFollower></a> <a class="code" href="plugins_8cpp.html#a4e60bb6a99451da5deb18b969e6b16cd">amplitudeAdapter</a>; +<a name="l00052"></a><a class="code" href="plugins_8cpp.html#a77810f485caaae4a8b2303496046d3d7">00052</a> <span class="keyword">static</span> <a class="code" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">Vamp::PluginAdapter<PowerSpectrum></a> <a class="code" href="plugins_8cpp.html#a77810f485caaae4a8b2303496046d3d7">powerSpectrum</a>; +<a name="l00053"></a>00053 +<a name="l00054"></a><a class="code" href="plugins_8cpp.html#abb0fd6db76ddd39698bc370e0fd0ea78">00054</a> <span class="keyword">const</span> <a class="code" href="struct__VampPluginDescriptor.html">VampPluginDescriptor</a> *<a class="code" href="vamp_8h.html#a50cf6f17d0718f02093be6c7f63fcf30" title="Get the descriptor for a given plugin index in this library.">vampGetPluginDescriptor</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> version, +<a name="l00055"></a>00055 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index) +<a name="l00056"></a>00056 { +<a name="l00057"></a>00057 <span class="keywordflow">if</span> (version < 1) <span class="keywordflow">return</span> 0; +<a name="l00058"></a>00058 +<a name="l00059"></a>00059 <span class="keywordflow">switch</span> (index) { +<a name="l00060"></a>00060 <span class="keywordflow">case</span> 0: <span class="keywordflow">return</span> zeroCrossingAdapter.<a class="code" href="classVamp_1_1PluginAdapterBase.html#ad24595002512f9f00e8e45216d6f5dfb" title="Return a VampPluginDescriptor describing the plugin that is wrapped by this adapter.">getDescriptor</a>(); +<a name="l00061"></a>00061 <span class="keywordflow">case</span> 1: <span class="keywordflow">return</span> spectralCentroidAdapter.<a class="code" href="classVamp_1_1PluginAdapterBase.html#ad24595002512f9f00e8e45216d6f5dfb" title="Return a VampPluginDescriptor describing the plugin that is wrapped by this adapter.">getDescriptor</a>(); +<a name="l00062"></a>00062 <span class="keywordflow">case</span> 2: <span class="keywordflow">return</span> percussionOnsetAdapter.<a class="code" href="classVamp_1_1PluginAdapterBase.html#ad24595002512f9f00e8e45216d6f5dfb" title="Return a VampPluginDescriptor describing the plugin that is wrapped by this adapter.">getDescriptor</a>(); +<a name="l00063"></a>00063 <span class="keywordflow">case</span> 3: <span class="keywordflow">return</span> amplitudeAdapter.<a class="code" href="classVamp_1_1PluginAdapterBase.html#ad24595002512f9f00e8e45216d6f5dfb" title="Return a VampPluginDescriptor describing the plugin that is wrapped by this adapter.">getDescriptor</a>(); +<a name="l00064"></a>00064 <span class="keywordflow">case</span> 4: <span class="keywordflow">return</span> fixedTempoAdapter.<a class="code" href="classVamp_1_1PluginAdapterBase.html#ad24595002512f9f00e8e45216d6f5dfb" title="Return a VampPluginDescriptor describing the plugin that is wrapped by this adapter.">getDescriptor</a>(); +<a name="l00065"></a>00065 <span class="keywordflow">case</span> 5: <span class="keywordflow">return</span> powerSpectrum.<a class="code" href="classVamp_1_1PluginAdapterBase.html#ad24595002512f9f00e8e45216d6f5dfb" title="Return a VampPluginDescriptor describing the plugin that is wrapped by this adapter.">getDescriptor</a>(); +<a name="l00066"></a>00066 <span class="keywordflow">default</span>: <span class="keywordflow">return</span> 0; +<a name="l00067"></a>00067 } +<a name="l00068"></a>00068 } +<a name="l00069"></a>00069 +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="plugins_8cpp.html">plugins.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/resize.js Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,81 @@ +var cookie_namespace = 'doxygen'; +var sidenav,navtree,content,header; + +function readCookie(cookie) +{ + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) + { + var index = document.cookie.indexOf(myCookie); + if (index != -1) + { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) + { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; + } + } + return 0; +} + +function writeCookie(cookie, val, expiration) +{ + if (val==undefined) return; + if (expiration == null) + { + var date = new Date(); + date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week + expiration = date.toGMTString(); + } + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; +} + +function resizeWidth() +{ + var windowWidth = $(window).width() + "px"; + var sidenavWidth = $(sidenav).width(); + content.css({marginLeft:parseInt(sidenavWidth)+6+"px"}); //account for 6px-wide handle-bar + writeCookie('width',sidenavWidth, null); +} + +function restoreWidth(navWidth) +{ + var windowWidth = $(window).width() + "px"; + content.css({marginLeft:parseInt(navWidth)+6+"px"}); + sidenav.css({width:navWidth + "px"}); +} + +function resizeHeight() +{ + var headerHeight = header.height(); + var footerHeight = footer.height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + content.css({height:windowHeight + "px"}); + navtree.css({height:windowHeight + "px"}); + sidenav.css({height:windowHeight + "px",top: headerHeight+"px"}); +} + +function initResizable() +{ + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(window).resize(function() { resizeHeight(); }); + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); +} + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/structVamp_1_1PluginBase_1_1ParameterDescriptor-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,104 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('structVamp_1_1PluginBase_1_1ParameterDescriptor.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Vamp::PluginBase::ParameterDescriptor Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">Vamp::PluginBase::ParameterDescriptor</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#aec4ef77451ec02193ecc4a0856673fbc">defaultValue</a></td><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">Vamp::PluginBase::ParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a780ddad41e433d85c82f9ea4d959cbaf">description</a></td><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">Vamp::PluginBase::ParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a116fd9f0dc94c2bc4bbc60b5443c598c">identifier</a></td><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">Vamp::PluginBase::ParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a7c556d58d552f737ee5a34efdf7f9425">isQuantized</a></td><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">Vamp::PluginBase::ParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab934b20dd708228a0e3c2811a3e2cec4">maxValue</a></td><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">Vamp::PluginBase::ParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab3e4d84f5bc199eea8b642b27e425ec8">minValue</a></td><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">Vamp::PluginBase::ParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a0ecebb94fb4ada4aad2640e20aa57084">name</a></td><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">Vamp::PluginBase::ParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a5b793130e9746b2302317b3c9a9c1395">ParameterDescriptor</a>()</td><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">Vamp::PluginBase::ParameterDescriptor</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a01f8387e7c853d5e4e35d4e9a37353d7">quantizeStep</a></td><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">Vamp::PluginBase::ParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a3bc3df322e4c02e17e96bc6d44982d7b">unit</a></td><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">Vamp::PluginBase::ParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a94df96f53835980b4739965007ff222b">valueNames</a></td><td><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">Vamp::PluginBase::ParameterDescriptor</a></td><td></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/structVamp_1_1PluginBase_1_1ParameterDescriptor.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,347 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::PluginBase::ParameterDescriptor Struct Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('structVamp_1_1PluginBase_1_1ParameterDescriptor.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pub-attribs">Public Attributes</a> </div> + <div class="headertitle"> +<div class="title">Vamp::PluginBase::ParameterDescriptor Struct Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="Vamp::PluginBase::ParameterDescriptor" --> +<p><code>#include <<a class="el" href="vamp-sdk_2PluginBase_8h_source.html">PluginBase.h</a>></code></p> + +<p><a href="structVamp_1_1PluginBase_1_1ParameterDescriptor-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a5b793130e9746b2302317b3c9a9c1395">ParameterDescriptor</a> ()</td></tr> +<tr><td colspan="2"><h2><a name="pub-attribs"></a> +Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a116fd9f0dc94c2bc4bbc60b5443c598c">identifier</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The name of the parameter, in computer-usable form. <a href="#a116fd9f0dc94c2bc4bbc60b5443c598c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a0ecebb94fb4ada4aad2640e20aa57084">name</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The human-readable name of the parameter. <a href="#a0ecebb94fb4ada4aad2640e20aa57084"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a780ddad41e433d85c82f9ea4d959cbaf">description</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">A human-readable short text describing the parameter. <a href="#a780ddad41e433d85c82f9ea4d959cbaf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a3bc3df322e4c02e17e96bc6d44982d7b">unit</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The unit of the parameter, in human-readable form. <a href="#a3bc3df322e4c02e17e96bc6d44982d7b"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab3e4d84f5bc199eea8b642b27e425ec8">minValue</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The minimum value of the parameter. <a href="#ab3e4d84f5bc199eea8b642b27e425ec8"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab934b20dd708228a0e3c2811a3e2cec4">maxValue</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The maximum value of the parameter. <a href="#ab934b20dd708228a0e3c2811a3e2cec4"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#aec4ef77451ec02193ecc4a0856673fbc">defaultValue</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The default value of the parameter. <a href="#aec4ef77451ec02193ecc4a0856673fbc"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a7c556d58d552f737ee5a34efdf7f9425">isQuantized</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">True if the parameter values are quantized to a particular resolution. <a href="#a7c556d58d552f737ee5a34efdf7f9425"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a01f8387e7c853d5e4e35d4e9a37353d7">quantizeStep</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Quantization resolution of the parameter values (e.g. <a href="#a01f8387e7c853d5e4e35d4e9a37353d7"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a94df96f53835980b4739965007ff222b">valueNames</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Names for the quantized values. <a href="#a94df96f53835980b4739965007ff222b"></a><br/></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"> +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00130">130</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> +</div><hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a5b793130e9746b2302317b3c9a9c1395"></a><!-- doxytag: member="Vamp::PluginBase::ParameterDescriptor::ParameterDescriptor" ref="a5b793130e9746b2302317b3c9a9c1395" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Vamp::PluginBase::ParameterDescriptor::ParameterDescriptor </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00199">199</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a116fd9f0dc94c2bc4bbc60b5443c598c"></a><!-- doxytag: member="Vamp::PluginBase::ParameterDescriptor::identifier" ref="a116fd9f0dc94c2bc4bbc60b5443c598c" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a116fd9f0dc94c2bc4bbc60b5443c598c">Vamp::PluginBase::ParameterDescriptor::identifier</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>The name of the parameter, in computer-usable form. </p> +<p>Should be reasonably short, and may only contain the characters [a-zA-Z0-9_-]. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00137">137</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00125">FixedTempoEstimator::D::getParameterDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00145">PercussionOnsetDetector::getParameterDescriptors()</a>, and <a class="el" href="AmplitudeFollower_8cpp_source.html#l00148">AmplitudeFollower::getParameterDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="a0ecebb94fb4ada4aad2640e20aa57084"></a><!-- doxytag: member="Vamp::PluginBase::ParameterDescriptor::name" ref="a0ecebb94fb4ada4aad2640e20aa57084" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a0ecebb94fb4ada4aad2640e20aa57084">Vamp::PluginBase::ParameterDescriptor::name</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>The human-readable name of the parameter. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00142">142</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00125">FixedTempoEstimator::D::getParameterDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00145">PercussionOnsetDetector::getParameterDescriptors()</a>, and <a class="el" href="AmplitudeFollower_8cpp_source.html#l00148">AmplitudeFollower::getParameterDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="a780ddad41e433d85c82f9ea4d959cbaf"></a><!-- doxytag: member="Vamp::PluginBase::ParameterDescriptor::description" ref="a780ddad41e433d85c82f9ea4d959cbaf" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a780ddad41e433d85c82f9ea4d959cbaf">Vamp::PluginBase::ParameterDescriptor::description</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>A human-readable short text describing the parameter. </p> +<p>May be empty if the name has said it all already. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00148">148</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00125">FixedTempoEstimator::D::getParameterDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00145">PercussionOnsetDetector::getParameterDescriptors()</a>, and <a class="el" href="AmplitudeFollower_8cpp_source.html#l00148">AmplitudeFollower::getParameterDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="a3bc3df322e4c02e17e96bc6d44982d7b"></a><!-- doxytag: member="Vamp::PluginBase::ParameterDescriptor::unit" ref="a3bc3df322e4c02e17e96bc6d44982d7b" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a3bc3df322e4c02e17e96bc6d44982d7b">Vamp::PluginBase::ParameterDescriptor::unit</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>The unit of the parameter, in human-readable form. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00153">153</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00125">FixedTempoEstimator::D::getParameterDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00145">PercussionOnsetDetector::getParameterDescriptors()</a>, and <a class="el" href="AmplitudeFollower_8cpp_source.html#l00148">AmplitudeFollower::getParameterDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="ab3e4d84f5bc199eea8b642b27e425ec8"></a><!-- doxytag: member="Vamp::PluginBase::ParameterDescriptor::minValue" ref="ab3e4d84f5bc199eea8b642b27e425ec8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab3e4d84f5bc199eea8b642b27e425ec8">Vamp::PluginBase::ParameterDescriptor::minValue</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>The minimum value of the parameter. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00158">158</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00125">FixedTempoEstimator::D::getParameterDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00145">PercussionOnsetDetector::getParameterDescriptors()</a>, and <a class="el" href="AmplitudeFollower_8cpp_source.html#l00148">AmplitudeFollower::getParameterDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="ab934b20dd708228a0e3c2811a3e2cec4"></a><!-- doxytag: member="Vamp::PluginBase::ParameterDescriptor::maxValue" ref="ab934b20dd708228a0e3c2811a3e2cec4" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab934b20dd708228a0e3c2811a3e2cec4">Vamp::PluginBase::ParameterDescriptor::maxValue</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>The maximum value of the parameter. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00163">163</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00125">FixedTempoEstimator::D::getParameterDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00145">PercussionOnsetDetector::getParameterDescriptors()</a>, and <a class="el" href="AmplitudeFollower_8cpp_source.html#l00148">AmplitudeFollower::getParameterDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="aec4ef77451ec02193ecc4a0856673fbc"></a><!-- doxytag: member="Vamp::PluginBase::ParameterDescriptor::defaultValue" ref="aec4ef77451ec02193ecc4a0856673fbc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#aec4ef77451ec02193ecc4a0856673fbc">Vamp::PluginBase::ParameterDescriptor::defaultValue</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>The default value of the parameter. </p> +<p>The plugin should ensure that parameters have this value on initialisation (i.e. the host is not required to explicitly set parameters if it wants to use their default values). </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00171">171</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00125">FixedTempoEstimator::D::getParameterDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00145">PercussionOnsetDetector::getParameterDescriptors()</a>, and <a class="el" href="AmplitudeFollower_8cpp_source.html#l00148">AmplitudeFollower::getParameterDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="a7c556d58d552f737ee5a34efdf7f9425"></a><!-- doxytag: member="Vamp::PluginBase::ParameterDescriptor::isQuantized" ref="a7c556d58d552f737ee5a34efdf7f9425" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a7c556d58d552f737ee5a34efdf7f9425">Vamp::PluginBase::ParameterDescriptor::isQuantized</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>True if the parameter values are quantized to a particular resolution. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00177">177</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00125">FixedTempoEstimator::D::getParameterDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00145">PercussionOnsetDetector::getParameterDescriptors()</a>, and <a class="el" href="AmplitudeFollower_8cpp_source.html#l00148">AmplitudeFollower::getParameterDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="a01f8387e7c853d5e4e35d4e9a37353d7"></a><!-- doxytag: member="Vamp::PluginBase::ParameterDescriptor::quantizeStep" ref="a01f8387e7c853d5e4e35d4e9a37353d7" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a01f8387e7c853d5e4e35d4e9a37353d7">Vamp::PluginBase::ParameterDescriptor::quantizeStep</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Quantization resolution of the parameter values (e.g. </p> +<p>1.0 if they are all integers). Undefined if isQuantized is false. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00184">184</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a94df96f53835980b4739965007ff222b"></a><!-- doxytag: member="Vamp::PluginBase::ParameterDescriptor::valueNames" ref="a94df96f53835980b4739965007ff222b" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::vector<std::string> <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a94df96f53835980b4739965007ff222b">Vamp::PluginBase::ParameterDescriptor::valueNames</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Names for the quantized values. </p> +<p>If isQuantized is true, this may either be empty or contain one string for each of the quantize steps from minValue up to maxValue inclusive. Undefined if isQuantized is false.</p> +<p>If these names are provided, they should be shown to the user in preference to the values themselves. The user may never see the actual numeric values unless they are also encoded in the names. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00197">197</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> + +</div> +</div> +<hr/>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="classVamp_1_1PluginBase.html">PluginBase</a> </li> + <li class="navelem"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/structVamp_1_1Plugin_1_1Feature-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('structVamp_1_1Plugin_1_1Feature.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Vamp::Plugin::Feature Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Vamp::Plugin::Feature</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1Feature.html#af687c0a7fe041757e922ec296862b115">duration</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Vamp::Plugin::Feature</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1Feature.html#acd4b4cd0d2c31512f4a5df50f8f7a7b8">Feature</a>()</td><td><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Vamp::Plugin::Feature</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a33686757bd4481c72494122e9bfb9fba">hasDuration</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Vamp::Plugin::Feature</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b">hasTimestamp</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Vamp::Plugin::Feature</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a8eb1fb35f73b247ed13de9527c18f036">label</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Vamp::Plugin::Feature</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1Feature.html#acaa605f36839c07e76f4882f5e22d8d7">timestamp</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Vamp::Plugin::Feature</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71">values</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Vamp::Plugin::Feature</a></td><td></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/structVamp_1_1Plugin_1_1Feature.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,266 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::Plugin::Feature Struct Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('structVamp_1_1Plugin_1_1Feature.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pub-attribs">Public Attributes</a> </div> + <div class="headertitle"> +<div class="title">Vamp::Plugin::Feature Struct Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="Vamp::Plugin::Feature" --> +<p><code>#include <<a class="el" href="vamp-sdk_2Plugin_8h_source.html">Plugin.h</a>></code></p> + +<p><a href="structVamp_1_1Plugin_1_1Feature-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1Feature.html#acd4b4cd0d2c31512f4a5df50f8f7a7b8">Feature</a> ()</td></tr> +<tr><td colspan="2"><h2><a name="pub-attribs"></a> +Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b">hasTimestamp</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">True if an output feature has its own timestamp. <a href="#a98907091d0b6a589720ae35ae588a82b"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1Feature.html#acaa605f36839c07e76f4882f5e22d8d7">timestamp</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Timestamp of the output feature. <a href="#acaa605f36839c07e76f4882f5e22d8d7"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a33686757bd4481c72494122e9bfb9fba">hasDuration</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">True if an output feature has a specified duration. <a href="#a33686757bd4481c72494122e9bfb9fba"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1Feature.html#af687c0a7fe041757e922ec296862b115">duration</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Duration of the output feature. <a href="#af687c0a7fe041757e922ec296862b115"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::vector< float > </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71">values</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Results for a single sample of this feature. <a href="#a60b9f3057386820dbcaec0eb1189ce71"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a8eb1fb35f73b247ed13de9527c18f036">label</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Label for the sample of this feature. <a href="#a8eb1fb35f73b247ed13de9527c18f036"></a><br/></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"> +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00336">336</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> +</div><hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="acd4b4cd0d2c31512f4a5df50f8f7a7b8"></a><!-- doxytag: member="Vamp::Plugin::Feature::Feature" ref="acd4b4cd0d2c31512f4a5df50f8f7a7b8" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Vamp::Plugin::Feature::Feature </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00381">381</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a98907091d0b6a589720ae35ae588a82b"></a><!-- doxytag: member="Vamp::Plugin::Feature::hasTimestamp" ref="a98907091d0b6a589720ae35ae588a82b" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b">Vamp::Plugin::Feature::hasTimestamp</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>True if an output feature has its own timestamp. </p> +<p>This is mandatory if the output has VariableSampleRate, optional if the output has FixedSampleRate, and unused if the output has OneSamplePerStep. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00344">344</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00146">SpectralCentroid::process()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">ZeroCrossing::process()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00136">PowerSpectrum::process()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00200">AmplitudeFollower::process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>.</p> + +</div> +</div> +<a class="anchor" id="acaa605f36839c07e76f4882f5e22d8d7"></a><!-- doxytag: member="Vamp::Plugin::Feature::timestamp" ref="acaa605f36839c07e76f4882f5e22d8d7" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#acaa605f36839c07e76f4882f5e22d8d7">Vamp::Plugin::Feature::timestamp</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Timestamp of the output feature. </p> +<p>This is mandatory if the output has VariableSampleRate or if the output has FixedSampleRate and hasTimestamp is true, and unused otherwise. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00352">352</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">ZeroCrossing::process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>.</p> + +</div> +</div> +<a class="anchor" id="a33686757bd4481c72494122e9bfb9fba"></a><!-- doxytag: member="Vamp::Plugin::Feature::hasDuration" ref="a33686757bd4481c72494122e9bfb9fba" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a33686757bd4481c72494122e9bfb9fba">Vamp::Plugin::Feature::hasDuration</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>True if an output feature has a specified duration. </p> +<p>This is optional if the output has VariableSampleRate or FixedSampleRate, and and unused if the output has OneSamplePerStep. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00360">360</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>.</p> + +</div> +</div> +<a class="anchor" id="af687c0a7fe041757e922ec296862b115"></a><!-- doxytag: member="Vamp::Plugin::Feature::duration" ref="af687c0a7fe041757e922ec296862b115" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#af687c0a7fe041757e922ec296862b115">Vamp::Plugin::Feature::duration</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Duration of the output feature. </p> +<p>This is mandatory if the output has VariableSampleRate or FixedSampleRate and hasDuration is true, and unused otherwise. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00367">367</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>.</p> + +</div> +</div> +<a class="anchor" id="a60b9f3057386820dbcaec0eb1189ce71"></a><!-- doxytag: member="Vamp::Plugin::Feature::values" ref="a60b9f3057386820dbcaec0eb1189ce71" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::vector<float> <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71">Vamp::Plugin::Feature::values</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Results for a single sample of this feature. </p> +<p>If the output hasFixedBinCount, there must be the same number of values as the output's binCount count. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00374">374</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00146">SpectralCentroid::process()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">ZeroCrossing::process()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00136">PowerSpectrum::process()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00200">AmplitudeFollower::process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>.</p> + +</div> +</div> +<a class="anchor" id="a8eb1fb35f73b247ed13de9527c18f036"></a><!-- doxytag: member="Vamp::Plugin::Feature::label" ref="a8eb1fb35f73b247ed13de9527c18f036" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string <a class="el" href="structVamp_1_1Plugin_1_1Feature.html#a8eb1fb35f73b247ed13de9527c18f036">Vamp::Plugin::Feature::label</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Label for the sample of this feature. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00379">379</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00481">FixedTempoEstimator::D::assembleFeatures()</a>.</p> + +</div> +</div> +<hr/>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> </li> + <li class="navelem"><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/structVamp_1_1Plugin_1_1OutputDescriptor-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,113 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('structVamp_1_1Plugin_1_1OutputDescriptor.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">Vamp::Plugin::OutputDescriptor Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc">binCount</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a31d9b79e2d8241344f551a22fcb5c8c7">binNames</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1">description</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca4c74bd2fc96dfe2815623f94b40e5629">FixedSampleRate</a> enum value</td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab0d7cc6ab19e53b5bd12ee234f549ea3">hasDuration</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d">hasFixedBinCount</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae9ccb65f99f477096b65dd031f4c5e31">hasKnownExtents</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b">identifier</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1b4858928d23bfd7d5bc557c82a83fb4">isQuantized</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a907b4e8fbb48a46ac5a05f880d72719f">maxValue</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ac9f5924c0be7571bba8e7ae7e7a921f4">minValue</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87">name</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca0459d5d0d2198d21e8bc90abe4fdccca">OneSamplePerStep</a> enum value</td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1ebf91cc3f60e4cbba818c10591cd344">OutputDescriptor</a>()</td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td><code> [inline]</code></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a3bed37153067b625b95acb40b60dbf0b">quantizeStep</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#add0cbbdfa9c91764037c39365b1d42af">sampleRate</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d">sampleType</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448c">SampleType</a> enum name</td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4">unit</a></td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448cadea995a737867f7b22b52f1c43c5432e">VariableSampleRate</a> enum value</td><td><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td><td></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/structVamp_1_1Plugin_1_1OutputDescriptor.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,497 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::Plugin::OutputDescriptor Struct Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('structVamp_1_1Plugin_1_1OutputDescriptor.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-types">Public Types</a> | +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pub-attribs">Public Attributes</a> </div> + <div class="headertitle"> +<div class="title">Vamp::Plugin::OutputDescriptor Struct Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="Vamp::Plugin::OutputDescriptor" --> +<p><code>#include <<a class="el" href="vamp-sdk_2Plugin_8h_source.html">Plugin.h</a>></code></p> + +<p><a href="structVamp_1_1Plugin_1_1OutputDescriptor-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-types"></a> +Public Types</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448c">SampleType</a> { <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca0459d5d0d2198d21e8bc90abe4fdccca">OneSamplePerStep</a>, +<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca4c74bd2fc96dfe2815623f94b40e5629">FixedSampleRate</a>, +<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448cadea995a737867f7b22b52f1c43c5432e">VariableSampleRate</a> + }</td></tr> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1ebf91cc3f60e4cbba818c10591cd344">OutputDescriptor</a> ()</td></tr> +<tr><td colspan="2"><h2><a name="pub-attribs"></a> +Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b">identifier</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The name of the output, in computer-usable form. <a href="#ae2c893ddb1860589517ab7eaa989a18b"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87">name</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The human-readable name of the output. <a href="#ab824b2b34ee50f897a30901c620e8d87"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1">description</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">A human-readable short text describing the output. <a href="#af9b4fe8f78e7126ead820ba5dc55efd1"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4">unit</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The unit of the output, in human-readable form. <a href="#aa057a8833fa037f06ac9f7b85b85d5e4"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d">hasFixedBinCount</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">True if the output has the same number of values per sample for every output sample. <a href="#af0e577e1a256ff6eed6ea42133fec77d"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc">binCount</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The number of values per result of the output. <a href="#afdd006959a995e40ef7d565a3a4df6dc"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::vector< std::string > </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a31d9b79e2d8241344f551a22fcb5c8c7">binNames</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">The (human-readable) names of each of the bins, if appropriate. <a href="#a31d9b79e2d8241344f551a22fcb5c8c7"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae9ccb65f99f477096b65dd031f4c5e31">hasKnownExtents</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">True if the results in each output bin fall within a fixed numeric range (minimum and maximum values). <a href="#ae9ccb65f99f477096b65dd031f4c5e31"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ac9f5924c0be7571bba8e7ae7e7a921f4">minValue</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Minimum value of the results in the output. <a href="#ac9f5924c0be7571bba8e7ae7e7a921f4"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a907b4e8fbb48a46ac5a05f880d72719f">maxValue</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum value of the results in the output. <a href="#a907b4e8fbb48a46ac5a05f880d72719f"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1b4858928d23bfd7d5bc557c82a83fb4">isQuantized</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">True if the output values are quantized to a particular resolution. <a href="#a1b4858928d23bfd7d5bc557c82a83fb4"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a3bed37153067b625b95acb40b60dbf0b">quantizeStep</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Quantization resolution of the output values (e.g. <a href="#a3bed37153067b625b95acb40b60dbf0b"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448c">SampleType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d">sampleType</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Positioning in time of the output results. <a href="#a0d1194980d44e31b25ef3b4b070d6b5d"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#add0cbbdfa9c91764037c39365b1d42af">sampleRate</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sample rate of the output results, as samples per second. <a href="#add0cbbdfa9c91764037c39365b1d42af"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab0d7cc6ab19e53b5bd12ee234f549ea3">hasDuration</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">True if the returned results for this output are known to have a duration field. <a href="#ab0d7cc6ab19e53b5bd12ee234f549ea3"></a><br/></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"> +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00206">206</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> +</div><hr/><h2>Member Enumeration Documentation</h2> +<a class="anchor" id="abffa9ed50cd756df70fd51f0355f448c"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::SampleType" ref="abffa9ed50cd756df70fd51f0355f448c" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448c">Vamp::Plugin::OutputDescriptor::SampleType</a></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="abffa9ed50cd756df70fd51f0355f448ca0459d5d0d2198d21e8bc90abe4fdccca"></a><!-- doxytag: member="OneSamplePerStep" ref="abffa9ed50cd756df70fd51f0355f448ca0459d5d0d2198d21e8bc90abe4fdccca" args="" -->OneSamplePerStep</em> </td><td> +<p>Results from each <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> align with that call's block start. </p> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="abffa9ed50cd756df70fd51f0355f448ca4c74bd2fc96dfe2815623f94b40e5629"></a><!-- doxytag: member="FixedSampleRate" ref="abffa9ed50cd756df70fd51f0355f448ca4c74bd2fc96dfe2815623f94b40e5629" args="" -->FixedSampleRate</em> </td><td> +<p>Results are evenly spaced in time (sampleRate specified below) </p> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="abffa9ed50cd756df70fd51f0355f448cadea995a737867f7b22b52f1c43c5432e"></a><!-- doxytag: member="VariableSampleRate" ref="abffa9ed50cd756df70fd51f0355f448cadea995a737867f7b22b52f1c43c5432e" args="" -->VariableSampleRate</em> </td><td> +<p>Results are unevenly spaced and have individual timestamps. </p> +</td></tr> +</table> +</dd> +</dl> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00287">287</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +</div> +</div> +<hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="a1ebf91cc3f60e4cbba818c10591cd344"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::OutputDescriptor" ref="a1ebf91cc3f60e4cbba818c10591cd344" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Vamp::Plugin::OutputDescriptor::OutputDescriptor </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00322">322</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="ae2c893ddb1860589517ab7eaa989a18b"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::identifier" ref="ae2c893ddb1860589517ab7eaa989a18b" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b">Vamp::Plugin::OutputDescriptor::identifier</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>The name of the output, in computer-usable form. </p> +<p>Should be reasonably short and without whitespace or punctuation, using the characters [a-zA-Z0-9_-] only. Example: "zero_crossing_count" </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00214">214</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00128">AmplitudeFollower::getOutputDescriptors()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00121">SpectralCentroid::getOutputDescriptors()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00108">PowerSpectrum::getOutputDescriptors()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="ab824b2b34ee50f897a30901c620e8d87"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::name" ref="ab824b2b34ee50f897a30901c620e8d87" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87">Vamp::Plugin::OutputDescriptor::name</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>The human-readable name of the output. </p> +<p>Example: "Zero Crossing Counts" </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00220">220</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00128">AmplitudeFollower::getOutputDescriptors()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00121">SpectralCentroid::getOutputDescriptors()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00108">PowerSpectrum::getOutputDescriptors()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="af9b4fe8f78e7126ead820ba5dc55efd1"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::description" ref="af9b4fe8f78e7126ead820ba5dc55efd1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1">Vamp::Plugin::OutputDescriptor::description</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>A human-readable short text describing the output. </p> +<p>May be empty if the name has said it all already. Example: "The number of zero crossing points per processing block" </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00227">227</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00128">AmplitudeFollower::getOutputDescriptors()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00121">SpectralCentroid::getOutputDescriptors()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00108">PowerSpectrum::getOutputDescriptors()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="aa057a8833fa037f06ac9f7b85b85d5e4"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::unit" ref="aa057a8833fa037f06ac9f7b85b85d5e4" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4">Vamp::Plugin::OutputDescriptor::unit</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>The unit of the output, in human-readable form. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00232">232</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00128">AmplitudeFollower::getOutputDescriptors()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00121">SpectralCentroid::getOutputDescriptors()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00108">PowerSpectrum::getOutputDescriptors()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="af0e577e1a256ff6eed6ea42133fec77d"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::hasFixedBinCount" ref="af0e577e1a256ff6eed6ea42133fec77d" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d">Vamp::Plugin::OutputDescriptor::hasFixedBinCount</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>True if the output has the same number of values per sample for every output sample. </p> +<p>Outputs for which this is false are unlikely to be very useful in a general-purpose host. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00239">239</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00128">AmplitudeFollower::getOutputDescriptors()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00121">SpectralCentroid::getOutputDescriptors()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00108">PowerSpectrum::getOutputDescriptors()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="afdd006959a995e40ef7d565a3a4df6dc"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::binCount" ref="afdd006959a995e40ef7d565a3a4df6dc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">size_t <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc">Vamp::Plugin::OutputDescriptor::binCount</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>The number of values per result of the output. </p> +<p>Undefined if hasFixedBinCount is false. If this is zero, the output is point data (i.e. only the time of each output is of interest, the value list will be empty). </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00247">247</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00128">AmplitudeFollower::getOutputDescriptors()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00121">SpectralCentroid::getOutputDescriptors()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00108">PowerSpectrum::getOutputDescriptors()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="a31d9b79e2d8241344f551a22fcb5c8c7"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::binNames" ref="a31d9b79e2d8241344f551a22fcb5c8c7" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::vector<std::string> <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a31d9b79e2d8241344f551a22fcb5c8c7">Vamp::Plugin::OutputDescriptor::binNames</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>The (human-readable) names of each of the bins, if appropriate. </p> +<p>This is always optional. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00253">253</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ae9ccb65f99f477096b65dd031f4c5e31"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::hasKnownExtents" ref="ae9ccb65f99f477096b65dd031f4c5e31" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae9ccb65f99f477096b65dd031f4c5e31">Vamp::Plugin::OutputDescriptor::hasKnownExtents</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>True if the results in each output bin fall within a fixed numeric range (minimum and maximum values). </p> +<p>Undefined if binCount is zero. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00260">260</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00128">AmplitudeFollower::getOutputDescriptors()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00121">SpectralCentroid::getOutputDescriptors()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00108">PowerSpectrum::getOutputDescriptors()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="ac9f5924c0be7571bba8e7ae7e7a921f4"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::minValue" ref="ac9f5924c0be7571bba8e7ae7e7a921f4" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ac9f5924c0be7571bba8e7ae7e7a921f4">Vamp::Plugin::OutputDescriptor::minValue</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Minimum value of the results in the output. </p> +<p>Undefined if hasKnownExtents is false or binCount is zero. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00266">266</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="a907b4e8fbb48a46ac5a05f880d72719f"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::maxValue" ref="a907b4e8fbb48a46ac5a05f880d72719f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a907b4e8fbb48a46ac5a05f880d72719f">Vamp::Plugin::OutputDescriptor::maxValue</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Maximum value of the results in the output. </p> +<p>Undefined if hasKnownExtents is false or binCount is zero. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00272">272</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="a1b4858928d23bfd7d5bc557c82a83fb4"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::isQuantized" ref="a1b4858928d23bfd7d5bc557c82a83fb4" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1b4858928d23bfd7d5bc557c82a83fb4">Vamp::Plugin::OutputDescriptor::isQuantized</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>True if the output values are quantized to a particular resolution. </p> +<p>Undefined if binCount is zero. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00278">278</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00128">AmplitudeFollower::getOutputDescriptors()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00121">SpectralCentroid::getOutputDescriptors()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00108">PowerSpectrum::getOutputDescriptors()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="a3bed37153067b625b95acb40b60dbf0b"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::quantizeStep" ref="a3bed37153067b625b95acb40b60dbf0b" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a3bed37153067b625b95acb40b60dbf0b">Vamp::Plugin::OutputDescriptor::quantizeStep</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Quantization resolution of the output values (e.g. </p> +<p>1.0 if they are all integers). Undefined if isQuantized is false or binCount is zero. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00285">285</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="a0d1194980d44e31b25ef3b4b070d6b5d"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::sampleType" ref="a0d1194980d44e31b25ef3b4b070d6b5d" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448c">SampleType</a> <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d">Vamp::Plugin::OutputDescriptor::sampleType</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Positioning in time of the output results. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00302">302</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp_source.html#l00128">AmplitudeFollower::getOutputDescriptors()</a>, <a class="el" href="SpectralCentroid_8cpp_source.html#l00121">SpectralCentroid::getOutputDescriptors()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PowerSpectrum_8cpp_source.html#l00108">PowerSpectrum::getOutputDescriptors()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="add0cbbdfa9c91764037c39365b1d42af"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::sampleRate" ref="add0cbbdfa9c91764037c39365b1d42af" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#add0cbbdfa9c91764037c39365b1d42af">Vamp::Plugin::OutputDescriptor::sampleRate</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Sample rate of the output results, as samples per second. </p> +<p>Undefined if sampleType is OneSamplePerStep.</p> +<p>If sampleType is VariableSampleRate and this value is non-zero, then it may be used to calculate a resolution for the output (i.e. the "duration" of each sample, in time, will be 1/sampleRate seconds). It's recommended to set this to zero if that behaviour is not desired. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00314">314</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>, <a class="el" href="ZeroCrossing_8cpp_source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>.</p> + +</div> +</div> +<a class="anchor" id="ab0d7cc6ab19e53b5bd12ee234f549ea3"></a><!-- doxytag: member="Vamp::Plugin::OutputDescriptor::hasDuration" ref="ab0d7cc6ab19e53b5bd12ee234f549ea3" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab0d7cc6ab19e53b5bd12ee234f549ea3">Vamp::Plugin::OutputDescriptor::hasDuration</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>True if the returned results for this output are known to have a duration field. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00320">320</a> of file <a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a>.</p> + +<p>Referenced by <a class="el" href="FixedTempoEstimator_8cpp_source.html#l00190">FixedTempoEstimator::D::getOutputDescriptors()</a>.</p> + +</div> +</div> +<hr/>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="vamp-sdk_2Plugin_8h_source.html">vamp-sdk/Plugin.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> </li> + <li class="navelem"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/structVamp_1_1RealTime.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,698 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Vamp::RealTime Class Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('structVamp_1_1RealTime.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-methods">Public Member Functions</a> | +<a href="#pub-static-methods">Static Public Member Functions</a> | +<a href="#pub-attribs">Public Attributes</a> | +<a href="#pub-static-attribs">Static Public Attributes</a> </div> + <div class="headertitle"> +<div class="title">Vamp::RealTime Class Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="Vamp::RealTime" --> +<p><a class="el" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> represents time values to nanosecond precision with accurate arithmetic and frame-rate conversion functions. + <a href="structVamp_1_1RealTime.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>></code></p> + +<p><a href="classVamp_1_1RealTime-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-methods"></a> +Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#aace9e2c60af62273e45ccd98d623914c">usec</a> () const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#a76e22815db51ae180c38021110da9947">msec</a> () const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#ad703be11b7beb07af08ddf133aa2ae79">RealTime</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#a75b2f0af2f9c49e649f8d30b452b049d">RealTime</a> (int s, int n)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#a8f4dbd8ef24a0ec6a77dce67fff5434e">RealTime</a> (const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> &r)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#adb82f838804a9a3ad49988de5944d090">operator=</a> (const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> &r)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#a6b74748d1eb4c3c751e7a12aefae0bde">operator+</a> (const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> &r) const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#af0360b5b0d23a464025a6823912c6291">operator-</a> (const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> &r) const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#af62915355c482f2e1611a52a7f17f5ed">operator-</a> () const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#a78e378a5dd0137a6514dca18edda6f9a">operator<</a> (const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> &r) const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#a6f0aced679e2f97133ed63c688b335e4">operator></a> (const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> &r) const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#abc5f06b5b9973012cb7453192df3ea5e">operator==</a> (const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> &r) const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#ae9b0ea7c217163d5327b1a2a0662a90b">operator!=</a> (const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> &r) const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#a5cb785a410e3a91ed3092b7bba22afc3">operator>=</a> (const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> &r) const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#acf4278eec678c558d62bbda6bc1da44e">operator<=</a> (const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> &r) const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#ac88cda961da5cb728d823b29c5456c06">operator/</a> (int d) const </td></tr> +<tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#aa6e50a94c81a1448ec1d61421ccf6e3f">operator/</a> (const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> &r) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the ratio of two times. <a href="#aa6e50a94c81a1448ec1d61421ccf6e3f"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#ad44476618183bd736996a87292d03c07">toString</a> () const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return a human-readable debug-type string to full precision (probably not a format to show to a user directly) <a href="#ad44476618183bd736996a87292d03c07"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#ad75b927afadfa422ae512d169ccda0aa">toText</a> (bool fixedDp=false) const </td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return a user-readable string to the nearest millisecond in a form like HH:MM:SS.mmm. <a href="#ad75b927afadfa422ae512d169ccda0aa"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pub-static-methods"></a> +Static Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#ae29ae57d19c66f256839988a0959c6bb">fromSeconds</a> (double <a class="el" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a>)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#a6992d9959fc4f19c11a98f17506f4905">fromMilliseconds</a> (int msec)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#a7f1e1e35ca5196283b2086e3d9cd9d3b">fromTimeval</a> (const struct timeval &)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static long </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#ac046c73d88da6715e55b12e10534bb5c">realTime2Frame</a> (const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> &r, unsigned int sampleRate)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert a <a class="el" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> into a sample frame at the given sample rate. <a href="#ac046c73d88da6715e55b12e10534bb5c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#a939b4b1d1ca190db69a418883f16ce8a">frame2RealTime</a> (long frame, unsigned int sampleRate)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Convert a sample frame at the given sample rate into a <a class="el" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a>. <a href="#a939b4b1d1ca190db69a418883f16ce8a"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="pub-attribs"></a> +Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#a2078835bef7bb92514a65b6051cfc6c8">nsec</a></td></tr> +<tr><td colspan="2"><h2><a name="pub-static-attribs"></a> +Static Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html#abe453371597710148b0fd19bb452f8a9">zeroTime</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p><a class="el" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> represents time values to nanosecond precision with accurate arithmetic and frame-rate conversion functions. </p> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00066">66</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> +</div><hr/><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" id="ad703be11b7beb07af08ddf133aa2ae79"></a><!-- doxytag: member="Vamp::RealTime::RealTime" ref="ad703be11b7beb07af08ddf133aa2ae79" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Vamp::RealTime::RealTime </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00074">74</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a75b2f0af2f9c49e649f8d30b452b049d"></a><!-- doxytag: member="Vamp::RealTime::RealTime" ref="a75b2f0af2f9c49e649f8d30b452b049d" args="(int s, int n)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Vamp::RealTime::RealTime </td> + <td>(</td> + <td class="paramtype">int </td> + <td class="paramname"><em>s</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>n</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="a8f4dbd8ef24a0ec6a77dce67fff5434e"></a><!-- doxytag: member="Vamp::RealTime::RealTime" ref="a8f4dbd8ef24a0ec6a77dce67fff5434e" args="(const RealTime &r)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">Vamp::RealTime::RealTime </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> & </td> + <td class="paramname"><em>r</em></td><td>)</td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00077">77</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +</div> +</div> +<hr/><h2>Member Function Documentation</h2> +<a class="anchor" id="aace9e2c60af62273e45ccd98d623914c"></a><!-- doxytag: member="Vamp::RealTime::usec" ref="aace9e2c60af62273e45ccd98d623914c" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int Vamp::RealTime::usec </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00071">71</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a76e22815db51ae180c38021110da9947"></a><!-- doxytag: member="Vamp::RealTime::msec" ref="a76e22815db51ae180c38021110da9947" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int Vamp::RealTime::msec </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00072">72</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ae29ae57d19c66f256839988a0959c6bb"></a><!-- doxytag: member="Vamp::RealTime::fromSeconds" ref="ae29ae57d19c66f256839988a0959c6bb" args="(double sec)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">static <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> Vamp::RealTime::fromSeconds </td> + <td>(</td> + <td class="paramtype">double </td> + <td class="paramname"><em>sec</em></td><td>)</td> + <td><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="a6992d9959fc4f19c11a98f17506f4905"></a><!-- doxytag: member="Vamp::RealTime::fromMilliseconds" ref="a6992d9959fc4f19c11a98f17506f4905" args="(int msec)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">static <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> Vamp::RealTime::fromMilliseconds </td> + <td>(</td> + <td class="paramtype">int </td> + <td class="paramname"><em>msec</em></td><td>)</td> + <td><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="a7f1e1e35ca5196283b2086e3d9cd9d3b"></a><!-- doxytag: member="Vamp::RealTime::fromTimeval" ref="a7f1e1e35ca5196283b2086e3d9cd9d3b" args="(const struct timeval &)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">static <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> Vamp::RealTime::fromTimeval </td> + <td>(</td> + <td class="paramtype">const struct timeval & </td> + <td class="paramname"></td><td>)</td> + <td><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="adb82f838804a9a3ad49988de5944d090"></a><!-- doxytag: member="Vamp::RealTime::operator=" ref="adb82f838804a9a3ad49988de5944d090" args="(const RealTime &r)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a>& Vamp::RealTime::operator= </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> & </td> + <td class="paramname"><em>r</em></td><td>)</td> + <td><code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00087">87</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00069">nsec</a>, and <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00068">sec</a>.</p> + +</div> +</div> +<a class="anchor" id="a6b74748d1eb4c3c751e7a12aefae0bde"></a><!-- doxytag: member="Vamp::RealTime::operator+" ref="a6b74748d1eb4c3c751e7a12aefae0bde" args="(const RealTime &r) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> Vamp::RealTime::operator+ </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> & </td> + <td class="paramname"><em>r</em></td><td>)</td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00091">91</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00069">nsec</a>, and <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00068">sec</a>.</p> + +</div> +</div> +<a class="anchor" id="af0360b5b0d23a464025a6823912c6291"></a><!-- doxytag: member="Vamp::RealTime::operator-" ref="af0360b5b0d23a464025a6823912c6291" args="(const RealTime &r) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> Vamp::RealTime::operator- </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> & </td> + <td class="paramname"><em>r</em></td><td>)</td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00094">94</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00069">nsec</a>, and <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00068">sec</a>.</p> + +</div> +</div> +<a class="anchor" id="af62915355c482f2e1611a52a7f17f5ed"></a><!-- doxytag: member="Vamp::RealTime::operator-" ref="af62915355c482f2e1611a52a7f17f5ed" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> Vamp::RealTime::operator- </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00097">97</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a78e378a5dd0137a6514dca18edda6f9a"></a><!-- doxytag: member="Vamp::RealTime::operator<" ref="a78e378a5dd0137a6514dca18edda6f9a" args="(const RealTime &r) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool Vamp::RealTime::operator< </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> & </td> + <td class="paramname"><em>r</em></td><td>)</td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00101">101</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00069">nsec</a>, and <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00068">sec</a>.</p> + +</div> +</div> +<a class="anchor" id="a6f0aced679e2f97133ed63c688b335e4"></a><!-- doxytag: member="Vamp::RealTime::operator>" ref="a6f0aced679e2f97133ed63c688b335e4" args="(const RealTime &r) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool Vamp::RealTime::operator> </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> & </td> + <td class="paramname"><em>r</em></td><td>)</td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00106">106</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00069">nsec</a>, and <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00068">sec</a>.</p> + +</div> +</div> +<a class="anchor" id="abc5f06b5b9973012cb7453192df3ea5e"></a><!-- doxytag: member="Vamp::RealTime::operator==" ref="abc5f06b5b9973012cb7453192df3ea5e" args="(const RealTime &r) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool Vamp::RealTime::operator== </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> & </td> + <td class="paramname"><em>r</em></td><td>)</td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00111">111</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00069">nsec</a>, and <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00068">sec</a>.</p> + +</div> +</div> +<a class="anchor" id="ae9b0ea7c217163d5327b1a2a0662a90b"></a><!-- doxytag: member="Vamp::RealTime::operator!=" ref="ae9b0ea7c217163d5327b1a2a0662a90b" args="(const RealTime &r) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool Vamp::RealTime::operator!= </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> & </td> + <td class="paramname"><em>r</em></td><td>)</td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00115">115</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a5cb785a410e3a91ed3092b7bba22afc3"></a><!-- doxytag: member="Vamp::RealTime::operator>=" ref="a5cb785a410e3a91ed3092b7bba22afc3" args="(const RealTime &r) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool Vamp::RealTime::operator>= </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> & </td> + <td class="paramname"><em>r</em></td><td>)</td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00119">119</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00069">nsec</a>, and <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00068">sec</a>.</p> + +</div> +</div> +<a class="anchor" id="acf4278eec678c558d62bbda6bc1da44e"></a><!-- doxytag: member="Vamp::RealTime::operator<=" ref="acf4278eec678c558d62bbda6bc1da44e" args="(const RealTime &r) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool Vamp::RealTime::operator<= </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> & </td> + <td class="paramname"><em>r</em></td><td>)</td> + <td> const<code> [inline]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00124">124</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +<p>References <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00069">nsec</a>, and <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00068">sec</a>.</p> + +</div> +</div> +<a class="anchor" id="ac88cda961da5cb728d823b29c5456c06"></a><!-- doxytag: member="Vamp::RealTime::operator/" ref="ac88cda961da5cb728d823b29c5456c06" args="(int d) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> Vamp::RealTime::operator/ </td> + <td>(</td> + <td class="paramtype">int </td> + <td class="paramname"><em>d</em></td><td>)</td> + <td> const</td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="aa6e50a94c81a1448ec1d61421ccf6e3f"></a><!-- doxytag: member="Vamp::RealTime::operator/" ref="aa6e50a94c81a1448ec1d61421ccf6e3f" args="(const RealTime &r) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">double Vamp::RealTime::operator/ </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> & </td> + <td class="paramname"><em>r</em></td><td>)</td> + <td> const</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return the ratio of two times. </p> + +</div> +</div> +<a class="anchor" id="ad44476618183bd736996a87292d03c07"></a><!-- doxytag: member="Vamp::RealTime::toString" ref="ad44476618183bd736996a87292d03c07" args="() const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::RealTime::toString </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td> const</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return a human-readable debug-type string to full precision (probably not a format to show to a user directly) </p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00495">printFeatures()</a>.</p> + +</div> +</div> +<a class="anchor" id="ad75b927afadfa422ae512d169ccda0aa"></a><!-- doxytag: member="Vamp::RealTime::toText" ref="ad75b927afadfa422ae512d169ccda0aa" args="(bool fixedDp=false) const " --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">std::string Vamp::RealTime::toText </td> + <td>(</td> + <td class="paramtype">bool </td> + <td class="paramname"><em>fixedDp</em> = <code>false</code></td><td>)</td> + <td> const</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return a user-readable string to the nearest millisecond in a form like HH:MM:SS.mmm. </p> + +</div> +</div> +<a class="anchor" id="ac046c73d88da6715e55b12e10534bb5c"></a><!-- doxytag: member="Vamp::RealTime::realTime2Frame" ref="ac046c73d88da6715e55b12e10534bb5c" args="(const RealTime &r, unsigned int sampleRate)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">static long Vamp::RealTime::realTime2Frame </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> & </td> + <td class="paramname"><em>r</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">unsigned int </td> + <td class="paramname"><em>sampleRate</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Convert a <a class="el" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> into a sample frame at the given sample rate. </p> + +</div> +</div> +<a class="anchor" id="a939b4b1d1ca190db69a418883f16ce8a"></a><!-- doxytag: member="Vamp::RealTime::frame2RealTime" ref="a939b4b1d1ca190db69a418883f16ce8a" args="(long frame, unsigned int sampleRate)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">static <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> Vamp::RealTime::frame2RealTime </td> + <td>(</td> + <td class="paramtype">long </td> + <td class="paramname"><em>frame</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">unsigned int </td> + <td class="paramname"><em>sampleRate</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Convert a sample frame at the given sample rate into a <a class="el" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a>. </p> + +<p>Referenced by <a class="el" href="ZeroCrossing_8cpp_source.html#l00142">ZeroCrossing::process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp_source.html#l00226">PercussionOnsetDetector::process()</a>.</p> + +</div> +</div> +<hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="ab4d81983384a9f57ce064e6c343f2267"></a><!-- doxytag: member="Vamp::RealTime::sec" ref="ab4d81983384a9f57ce064e6c343f2267" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">Vamp::RealTime::sec</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00068">68</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +<p>Referenced by <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00091">operator+()</a>, <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00094">operator-()</a>, <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00101">operator<()</a>, <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00124">operator<=()</a>, <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00087">operator=()</a>, <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00111">operator==()</a>, <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00106">operator>()</a>, and <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00119">operator>=()</a>.</p> + +</div> +</div> +<a class="anchor" id="a2078835bef7bb92514a65b6051cfc6c8"></a><!-- doxytag: member="Vamp::RealTime::nsec" ref="a2078835bef7bb92514a65b6051cfc6c8" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="structVamp_1_1RealTime.html#a2078835bef7bb92514a65b6051cfc6c8">Vamp::RealTime::nsec</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00069">69</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +<p>Referenced by <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00091">operator+()</a>, <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00094">operator-()</a>, <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00101">operator<()</a>, <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00124">operator<=()</a>, <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00087">operator=()</a>, <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00111">operator==()</a>, <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00106">operator>()</a>, and <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00119">operator>=()</a>.</p> + +</div> +</div> +<a class="anchor" id="abe453371597710148b0fd19bb452f8a9"></a><!-- doxytag: member="Vamp::RealTime::zeroTime" ref="abe453371597710148b0fd19bb452f8a9" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> <a class="el" href="structVamp_1_1RealTime.html#abe453371597710148b0fd19bb452f8a9">Vamp::RealTime::zeroTime</a><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2RealTime_8h_source.html#l00158">158</a> of file <a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a>.</p> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="vamp-sdk_2RealTime_8h_source.html">vamp-sdk/RealTime.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a> </li> + <li class="navelem"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:52 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/struct__VampFeature-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,99 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('struct__VampFeature.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">_VampFeature Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="struct__VampFeature.html">_VampFeature</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="struct__VampFeature.html#abe6aa7a08185beeb9deca2d08d99859f">hasTimestamp</a></td><td><a class="el" href="struct__VampFeature.html">_VampFeature</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampFeature.html#a6662b7489a7890cae713bf4e8f6d52cd">label</a></td><td><a class="el" href="struct__VampFeature.html">_VampFeature</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampFeature.html#a8874cb23600c6b10ca6e8a40920d999e">nsec</a></td><td><a class="el" href="struct__VampFeature.html">_VampFeature</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampFeature.html#a31f0b57050e33d082692536097953d9c">sec</a></td><td><a class="el" href="struct__VampFeature.html">_VampFeature</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampFeature.html#ab1ce7c8a2b489e9b0694a967497a29fd">valueCount</a></td><td><a class="el" href="struct__VampFeature.html">_VampFeature</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampFeature.html#ae4030f941ddb2bab8bc147b88e1f1c15">values</a></td><td><a class="el" href="struct__VampFeature.html">_VampFeature</a></td><td></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/struct__VampFeature.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,227 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: _VampFeature Struct Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('struct__VampFeature.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-attribs">Public Attributes</a> </div> + <div class="headertitle"> +<div class="title">_VampFeature Struct Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="_VampFeature" --> +<p><code>#include <<a class="el" href="vamp_8h_source.html">vamp.h</a>></code></p> + +<p><a href="struct__VampFeature-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-attribs"></a> +Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampFeature.html#abe6aa7a08185beeb9deca2d08d99859f">hasTimestamp</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">1 if the feature has a timestamp (i.e. <a href="#abe6aa7a08185beeb9deca2d08d99859f"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampFeature.html#a31f0b57050e33d082692536097953d9c">sec</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Seconds component of timestamp. <a href="#a31f0b57050e33d082692536097953d9c"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampFeature.html#a8874cb23600c6b10ca6e8a40920d999e">nsec</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Nanoseconds component of timestamp. <a href="#a8874cb23600c6b10ca6e8a40920d999e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampFeature.html#ab1ce7c8a2b489e9b0694a967497a29fd">valueCount</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Number of values. <a href="#ab1ce7c8a2b489e9b0694a967497a29fd"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampFeature.html#ae4030f941ddb2bab8bc147b88e1f1c15">values</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Values for this returned sample. <a href="#ae4030f941ddb2bab8bc147b88e1f1c15"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampFeature.html#a6662b7489a7890cae713bf4e8f6d52cd">label</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Label for this returned sample. <a href="#a6662b7489a7890cae713bf4e8f6d52cd"></a><br/></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"> +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00174">174</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> +</div><hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="abe6aa7a08185beeb9deca2d08d99859f"></a><!-- doxytag: member="_VampFeature::hasTimestamp" ref="abe6aa7a08185beeb9deca2d08d99859f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="struct__VampFeature.html#abe6aa7a08185beeb9deca2d08d99859f">_VampFeature::hasTimestamp</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>1 if the feature has a timestamp (i.e. </p> +<p>if vampVariableSampleRate). </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00177">177</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a31f0b57050e33d082692536097953d9c"></a><!-- doxytag: member="_VampFeature::sec" ref="a31f0b57050e33d082692536097953d9c" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="struct__VampFeature.html#a31f0b57050e33d082692536097953d9c">_VampFeature::sec</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Seconds component of timestamp. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00180">180</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a8874cb23600c6b10ca6e8a40920d999e"></a><!-- doxytag: member="_VampFeature::nsec" ref="a8874cb23600c6b10ca6e8a40920d999e" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="struct__VampFeature.html#a8874cb23600c6b10ca6e8a40920d999e">_VampFeature::nsec</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Nanoseconds component of timestamp. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00183">183</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ab1ce7c8a2b489e9b0694a967497a29fd"></a><!-- doxytag: member="_VampFeature::valueCount" ref="ab1ce7c8a2b489e9b0694a967497a29fd" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int <a class="el" href="struct__VampFeature.html#ab1ce7c8a2b489e9b0694a967497a29fd">_VampFeature::valueCount</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Number of values. </p> +<p>Must be binCount if hasFixedBinCount. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00186">186</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ae4030f941ddb2bab8bc147b88e1f1c15"></a><!-- doxytag: member="_VampFeature::values" ref="ae4030f941ddb2bab8bc147b88e1f1c15" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float* <a class="el" href="struct__VampFeature.html#ae4030f941ddb2bab8bc147b88e1f1c15">_VampFeature::values</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Values for this returned sample. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00189">189</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a6662b7489a7890cae713bf4e8f6d52cd"></a><!-- doxytag: member="_VampFeature::label" ref="a6662b7489a7890cae713bf4e8f6d52cd" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">char* <a class="el" href="struct__VampFeature.html#a6662b7489a7890cae713bf4e8f6d52cd">_VampFeature::label</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Label for this returned sample. </p> +<p>May be NULL. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00192">192</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<hr/>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="vamp_8h_source.html">vamp.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="struct__VampFeature.html">_VampFeature</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/struct__VampFeatureList-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,95 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('struct__VampFeatureList.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">_VampFeatureList Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="struct__VampFeatureList.html">_VampFeatureList</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="struct__VampFeatureList.html#a01db33a31ae5e04a4bd097f4b6aa75f1">featureCount</a></td><td><a class="el" href="struct__VampFeatureList.html">_VampFeatureList</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampFeatureList.html#a103c817094643ac5ff4410768f4f92a7">features</a></td><td><a class="el" href="struct__VampFeatureList.html">_VampFeatureList</a></td><td></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/struct__VampFeatureList.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,151 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: _VampFeatureList Struct Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('struct__VampFeatureList.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-attribs">Public Attributes</a> </div> + <div class="headertitle"> +<div class="title">_VampFeatureList Struct Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="_VampFeatureList" --> +<p><code>#include <<a class="el" href="vamp_8h_source.html">vamp.h</a>></code></p> + +<p><a href="struct__VampFeatureList-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-attribs"></a> +Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampFeatureList.html#a01db33a31ae5e04a4bd097f4b6aa75f1">featureCount</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Number of features in this feature list. <a href="#a01db33a31ae5e04a4bd097f4b6aa75f1"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="vamp_8h.html#a2517349f1c97e0c59faab6085e092fcd">VampFeatureUnion</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampFeatureList.html#a103c817094643ac5ff4410768f4f92a7">features</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Features in this feature list. <a href="#a103c817094643ac5ff4410768f4f92a7"></a><br/></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"> +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00217">217</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> +</div><hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a01db33a31ae5e04a4bd097f4b6aa75f1"></a><!-- doxytag: member="_VampFeatureList::featureCount" ref="a01db33a31ae5e04a4bd097f4b6aa75f1" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int <a class="el" href="struct__VampFeatureList.html#a01db33a31ae5e04a4bd097f4b6aa75f1">_VampFeatureList::featureCount</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Number of features in this feature list. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00220">220</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a103c817094643ac5ff4410768f4f92a7"></a><!-- doxytag: member="_VampFeatureList::features" ref="a103c817094643ac5ff4410768f4f92a7" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="vamp_8h.html#a2517349f1c97e0c59faab6085e092fcd">VampFeatureUnion</a>* <a class="el" href="struct__VampFeatureList.html#a103c817094643ac5ff4410768f4f92a7">_VampFeatureList::features</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Features in this feature list. </p> +<p>May be NULL if featureCount is zero.</p> +<p>If present, this array must contain featureCount feature structures for a <a class="el" href="namespaceVamp.html">Vamp</a> API version 1 plugin, or 2*featureCount feature unions for a <a class="el" href="namespaceVamp.html">Vamp</a> API version 2 plugin.</p> +<p>The features returned by an API version 2 plugin must consist of the same feature structures as in API version 1 for the first featureCount array elements, followed by featureCount unions that contain VampFeatureV2 structures (or NULL pointers if no V2 feature structures are present). </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00235">235</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<hr/>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="vamp_8h_source.html">vamp.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="struct__VampFeatureList.html">_VampFeatureList</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/struct__VampFeatureV2-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,96 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('struct__VampFeatureV2.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">_VampFeatureV2 Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="struct__VampFeatureV2.html">_VampFeatureV2</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="struct__VampFeatureV2.html#af71693d907f69048d602d28edbce679e">durationNsec</a></td><td><a class="el" href="struct__VampFeatureV2.html">_VampFeatureV2</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampFeatureV2.html#abc95aac3a2efdef6ef0b17e7b6bd3daf">durationSec</a></td><td><a class="el" href="struct__VampFeatureV2.html">_VampFeatureV2</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampFeatureV2.html#a44d9c57f1ae197d3fec1a48c650cce81">hasDuration</a></td><td><a class="el" href="struct__VampFeatureV2.html">_VampFeatureV2</a></td><td></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/struct__VampFeatureV2.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,167 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: _VampFeatureV2 Struct Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('struct__VampFeatureV2.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-attribs">Public Attributes</a> </div> + <div class="headertitle"> +<div class="title">_VampFeatureV2 Struct Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="_VampFeatureV2" --> +<p><code>#include <<a class="el" href="vamp_8h_source.html">vamp.h</a>></code></p> + +<p><a href="struct__VampFeatureV2-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-attribs"></a> +Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampFeatureV2.html#a44d9c57f1ae197d3fec1a48c650cce81">hasDuration</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">1 if the feature has a duration. <a href="#a44d9c57f1ae197d3fec1a48c650cce81"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampFeatureV2.html#abc95aac3a2efdef6ef0b17e7b6bd3daf">durationSec</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Seconds component of duratiion. <a href="#abc95aac3a2efdef6ef0b17e7b6bd3daf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampFeatureV2.html#af71693d907f69048d602d28edbce679e">durationNsec</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Nanoseconds component of duration. <a href="#af71693d907f69048d602d28edbce679e"></a><br/></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"> +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00196">196</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> +</div><hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a44d9c57f1ae197d3fec1a48c650cce81"></a><!-- doxytag: member="_VampFeatureV2::hasDuration" ref="a44d9c57f1ae197d3fec1a48c650cce81" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="struct__VampFeatureV2.html#a44d9c57f1ae197d3fec1a48c650cce81">_VampFeatureV2::hasDuration</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>1 if the feature has a duration. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00199">199</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="abc95aac3a2efdef6ef0b17e7b6bd3daf"></a><!-- doxytag: member="_VampFeatureV2::durationSec" ref="abc95aac3a2efdef6ef0b17e7b6bd3daf" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="struct__VampFeatureV2.html#abc95aac3a2efdef6ef0b17e7b6bd3daf">_VampFeatureV2::durationSec</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Seconds component of duratiion. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00202">202</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="af71693d907f69048d602d28edbce679e"></a><!-- doxytag: member="_VampFeatureV2::durationNsec" ref="af71693d907f69048d602d28edbce679e" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="struct__VampFeatureV2.html#af71693d907f69048d602d28edbce679e">_VampFeatureV2::durationNsec</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Nanoseconds component of duration. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00205">205</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<hr/>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="vamp_8h_source.html">vamp.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="struct__VampFeatureV2.html">_VampFeatureV2</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/struct__VampOutputDescriptor-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,108 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('struct__VampOutputDescriptor.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">_VampOutputDescriptor Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="struct__VampOutputDescriptor.html#a652ee422092720e44d23d98bdb68f978">binCount</a></td><td><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampOutputDescriptor.html#a10fffaa32bd894843ff7592240dfe447">binNames</a></td><td><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampOutputDescriptor.html#abfa911b138cfb80cf63e8f2e0fa0fb89">description</a></td><td><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampOutputDescriptor.html#af792a96dbf292ec966b9b68250febd99">hasDuration</a></td><td><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampOutputDescriptor.html#ae8571f5a2bc740738af0cb7dda0c4749">hasFixedBinCount</a></td><td><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampOutputDescriptor.html#af6b512d772023b4e852216689c1c4465">hasKnownExtents</a></td><td><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampOutputDescriptor.html#a461161b2010370176115967e4f58a5f5">identifier</a></td><td><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampOutputDescriptor.html#ab56cf0bbb17136819024574d5cc65e30">isQuantized</a></td><td><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampOutputDescriptor.html#a4cbe540a247df60f85b00b2aa16461ee">maxValue</a></td><td><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampOutputDescriptor.html#a9a28180989e3d028c12a98517479dc46">minValue</a></td><td><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampOutputDescriptor.html#af4fca576bd47167fd2bf9b43d588815f">name</a></td><td><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampOutputDescriptor.html#a71aa40222dda4321030cccd0bb655fe3">quantizeStep</a></td><td><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampOutputDescriptor.html#a1ccf193317b2b9c2eb0dbd8dcf61d26e">sampleRate</a></td><td><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampOutputDescriptor.html#a5da1d27cc99badc214640e859b882072">sampleType</a></td><td><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampOutputDescriptor.html#ad038caa8e596dfd037035637202f1d63">unit</a></td><td><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td><td></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/struct__VampOutputDescriptor.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,401 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: _VampOutputDescriptor Struct Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('struct__VampOutputDescriptor.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-attribs">Public Attributes</a> </div> + <div class="headertitle"> +<div class="title">_VampOutputDescriptor Struct Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="_VampOutputDescriptor" --> +<p><code>#include <<a class="el" href="vamp_8h_source.html">vamp.h</a>></code></p> + +<p><a href="struct__VampOutputDescriptor-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-attribs"></a> +Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html#a461161b2010370176115967e4f58a5f5">identifier</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Computer-usable name of the output. <a href="#a461161b2010370176115967e4f58a5f5"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html#af4fca576bd47167fd2bf9b43d588815f">name</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Human-readable name of the output. <a href="#af4fca576bd47167fd2bf9b43d588815f"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html#abfa911b138cfb80cf63e8f2e0fa0fb89">description</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Human-readable short text about the output. <a href="#abfa911b138cfb80cf63e8f2e0fa0fb89"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html#ad038caa8e596dfd037035637202f1d63">unit</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Human-readable name of the unit of the output. <a href="#ad038caa8e596dfd037035637202f1d63"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html#ae8571f5a2bc740738af0cb7dda0c4749">hasFixedBinCount</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">1 if output has equal number of values for each returned result. <a href="#ae8571f5a2bc740738af0cb7dda0c4749"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html#a652ee422092720e44d23d98bdb68f978">binCount</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Number of values per result, if hasFixedBinCount. <a href="#a652ee422092720e44d23d98bdb68f978"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char ** </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html#a10fffaa32bd894843ff7592240dfe447">binNames</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Names of returned value bins, if hasFixedBinCount. <a href="#a10fffaa32bd894843ff7592240dfe447"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html#af6b512d772023b4e852216689c1c4465">hasKnownExtents</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">1 if each returned value falls within the same fixed min/max range. <a href="#af6b512d772023b4e852216689c1c4465"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html#a9a28180989e3d028c12a98517479dc46">minValue</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Minimum value for a returned result in any bin, if hasKnownExtents. <a href="#a9a28180989e3d028c12a98517479dc46"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html#a4cbe540a247df60f85b00b2aa16461ee">maxValue</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum value for a returned result in any bin, if hasKnownExtents. <a href="#a4cbe540a247df60f85b00b2aa16461ee"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html#ab56cf0bbb17136819024574d5cc65e30">isQuantized</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">1 if returned results are quantized to a particular resolution. <a href="#ab56cf0bbb17136819024574d5cc65e30"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html#a71aa40222dda4321030cccd0bb655fe3">quantizeStep</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Quantization resolution for returned results, if isQuantized. <a href="#a71aa40222dda4321030cccd0bb655fe3"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821">VampSampleType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html#a5da1d27cc99badc214640e859b882072">sampleType</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Time positioning method for returned results (see VampSampleType). <a href="#a5da1d27cc99badc214640e859b882072"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html#a1ccf193317b2b9c2eb0dbd8dcf61d26e">sampleRate</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Sample rate of returned results, if sampleType is vampFixedSampleRate. <a href="#a1ccf193317b2b9c2eb0dbd8dcf61d26e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html#af792a96dbf292ec966b9b68250febd99">hasDuration</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">1 if the returned results for this output are known to have a duration field. <a href="#af792a96dbf292ec966b9b68250febd99"></a><br/></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"> +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00118">118</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> +</div><hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a461161b2010370176115967e4f58a5f5"></a><!-- doxytag: member="_VampOutputDescriptor::identifier" ref="a461161b2010370176115967e4f58a5f5" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* <a class="el" href="struct__VampOutputDescriptor.html#a461161b2010370176115967e4f58a5f5">_VampOutputDescriptor::identifier</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Computer-usable name of the output. </p> +<p>Must not change. [a-zA-Z0-9_] </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00121">121</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="af4fca576bd47167fd2bf9b43d588815f"></a><!-- doxytag: member="_VampOutputDescriptor::name" ref="af4fca576bd47167fd2bf9b43d588815f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* <a class="el" href="struct__VampOutputDescriptor.html#af4fca576bd47167fd2bf9b43d588815f">_VampOutputDescriptor::name</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Human-readable name of the output. </p> +<p>May be translatable. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00124">124</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="abfa911b138cfb80cf63e8f2e0fa0fb89"></a><!-- doxytag: member="_VampOutputDescriptor::description" ref="abfa911b138cfb80cf63e8f2e0fa0fb89" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* <a class="el" href="struct__VampOutputDescriptor.html#abfa911b138cfb80cf63e8f2e0fa0fb89">_VampOutputDescriptor::description</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Human-readable short text about the output. </p> +<p>May be translatable. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00127">127</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ad038caa8e596dfd037035637202f1d63"></a><!-- doxytag: member="_VampOutputDescriptor::unit" ref="ad038caa8e596dfd037035637202f1d63" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* <a class="el" href="struct__VampOutputDescriptor.html#ad038caa8e596dfd037035637202f1d63">_VampOutputDescriptor::unit</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Human-readable name of the unit of the output. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00130">130</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ae8571f5a2bc740738af0cb7dda0c4749"></a><!-- doxytag: member="_VampOutputDescriptor::hasFixedBinCount" ref="ae8571f5a2bc740738af0cb7dda0c4749" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="struct__VampOutputDescriptor.html#ae8571f5a2bc740738af0cb7dda0c4749">_VampOutputDescriptor::hasFixedBinCount</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>1 if output has equal number of values for each returned result. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00133">133</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a652ee422092720e44d23d98bdb68f978"></a><!-- doxytag: member="_VampOutputDescriptor::binCount" ref="a652ee422092720e44d23d98bdb68f978" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int <a class="el" href="struct__VampOutputDescriptor.html#a652ee422092720e44d23d98bdb68f978">_VampOutputDescriptor::binCount</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Number of values per result, if hasFixedBinCount. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00136">136</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a10fffaa32bd894843ff7592240dfe447"></a><!-- doxytag: member="_VampOutputDescriptor::binNames" ref="a10fffaa32bd894843ff7592240dfe447" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char** <a class="el" href="struct__VampOutputDescriptor.html#a10fffaa32bd894843ff7592240dfe447">_VampOutputDescriptor::binNames</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Names of returned value bins, if hasFixedBinCount. </p> +<p>May be NULL. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00139">139</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="af6b512d772023b4e852216689c1c4465"></a><!-- doxytag: member="_VampOutputDescriptor::hasKnownExtents" ref="af6b512d772023b4e852216689c1c4465" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="struct__VampOutputDescriptor.html#af6b512d772023b4e852216689c1c4465">_VampOutputDescriptor::hasKnownExtents</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>1 if each returned value falls within the same fixed min/max range. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00142">142</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a9a28180989e3d028c12a98517479dc46"></a><!-- doxytag: member="_VampOutputDescriptor::minValue" ref="a9a28180989e3d028c12a98517479dc46" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="struct__VampOutputDescriptor.html#a9a28180989e3d028c12a98517479dc46">_VampOutputDescriptor::minValue</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Minimum value for a returned result in any bin, if hasKnownExtents. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00145">145</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a4cbe540a247df60f85b00b2aa16461ee"></a><!-- doxytag: member="_VampOutputDescriptor::maxValue" ref="a4cbe540a247df60f85b00b2aa16461ee" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="struct__VampOutputDescriptor.html#a4cbe540a247df60f85b00b2aa16461ee">_VampOutputDescriptor::maxValue</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Maximum value for a returned result in any bin, if hasKnownExtents. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00148">148</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ab56cf0bbb17136819024574d5cc65e30"></a><!-- doxytag: member="_VampOutputDescriptor::isQuantized" ref="ab56cf0bbb17136819024574d5cc65e30" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="struct__VampOutputDescriptor.html#ab56cf0bbb17136819024574d5cc65e30">_VampOutputDescriptor::isQuantized</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>1 if returned results are quantized to a particular resolution. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00151">151</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a71aa40222dda4321030cccd0bb655fe3"></a><!-- doxytag: member="_VampOutputDescriptor::quantizeStep" ref="a71aa40222dda4321030cccd0bb655fe3" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="struct__VampOutputDescriptor.html#a71aa40222dda4321030cccd0bb655fe3">_VampOutputDescriptor::quantizeStep</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Quantization resolution for returned results, if isQuantized. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00154">154</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a5da1d27cc99badc214640e859b882072"></a><!-- doxytag: member="_VampOutputDescriptor::sampleType" ref="a5da1d27cc99badc214640e859b882072" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821">VampSampleType</a> <a class="el" href="struct__VampOutputDescriptor.html#a5da1d27cc99badc214640e859b882072">_VampOutputDescriptor::sampleType</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Time positioning method for returned results (see VampSampleType). </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00157">157</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a1ccf193317b2b9c2eb0dbd8dcf61d26e"></a><!-- doxytag: member="_VampOutputDescriptor::sampleRate" ref="a1ccf193317b2b9c2eb0dbd8dcf61d26e" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="struct__VampOutputDescriptor.html#a1ccf193317b2b9c2eb0dbd8dcf61d26e">_VampOutputDescriptor::sampleRate</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Sample rate of returned results, if sampleType is vampFixedSampleRate. </p> +<p>"Resolution" of result, if sampleType is vampVariableSampleRate. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00161">161</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="af792a96dbf292ec966b9b68250febd99"></a><!-- doxytag: member="_VampOutputDescriptor::hasDuration" ref="af792a96dbf292ec966b9b68250febd99" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="struct__VampOutputDescriptor.html#af792a96dbf292ec966b9b68250febd99">_VampOutputDescriptor::hasDuration</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>1 if the returned results for this output are known to have a duration field. </p> +<p>This field is new in <a class="el" href="namespaceVamp.html">Vamp</a> API version 2; it must not be tested for plugins that report an older API version in their plugin descriptor. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00170">170</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<hr/>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="vamp_8h_source.html">vamp.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/struct__VampParameterDescriptor-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,103 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('struct__VampParameterDescriptor.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">_VampParameterDescriptor Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="struct__VampParameterDescriptor.html#a3d37f986ee152ab55feb9902b35f7aca">defaultValue</a></td><td><a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampParameterDescriptor.html#a95489272d6cf5a5b487e949da8e4fac6">description</a></td><td><a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampParameterDescriptor.html#a26d74afd6a3341a673f15955031845ab">identifier</a></td><td><a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampParameterDescriptor.html#a3f41e3b6b69c7a95ff0ce8625794f83a">isQuantized</a></td><td><a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampParameterDescriptor.html#a6e7646babdb265c4abfc107ba4350d80">maxValue</a></td><td><a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampParameterDescriptor.html#ab59c84f0bbe0d4d0c578d893c087b0db">minValue</a></td><td><a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampParameterDescriptor.html#abba810bce9656f6002777f6c3f655957">name</a></td><td><a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampParameterDescriptor.html#a68c91fd3fc0b0b3617c2d343fe32d0e5">quantizeStep</a></td><td><a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampParameterDescriptor.html#a8ca235f816b56dc99125e010eee08fc7">unit</a></td><td><a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampParameterDescriptor.html#a188883325ab1e4a898e3dc53a8f88f9d">valueNames</a></td><td><a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a></td><td></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/struct__VampParameterDescriptor.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,311 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: _VampParameterDescriptor Struct Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('struct__VampParameterDescriptor.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-attribs">Public Attributes</a> </div> + <div class="headertitle"> +<div class="title">_VampParameterDescriptor Struct Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="_VampParameterDescriptor" --> +<p>C language API for <a class="el" href="namespaceVamp.html">Vamp</a> plugins. + <a href="struct__VampParameterDescriptor.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="vamp_8h_source.html">vamp.h</a>></code></p> + +<p><a href="struct__VampParameterDescriptor-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-attribs"></a> +Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampParameterDescriptor.html#a26d74afd6a3341a673f15955031845ab">identifier</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Computer-usable name of the parameter. <a href="#a26d74afd6a3341a673f15955031845ab"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampParameterDescriptor.html#abba810bce9656f6002777f6c3f655957">name</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Human-readable name of the parameter. <a href="#abba810bce9656f6002777f6c3f655957"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampParameterDescriptor.html#a95489272d6cf5a5b487e949da8e4fac6">description</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Human-readable short text about the parameter. <a href="#a95489272d6cf5a5b487e949da8e4fac6"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampParameterDescriptor.html#a8ca235f816b56dc99125e010eee08fc7">unit</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Human-readable unit of the parameter. <a href="#a8ca235f816b56dc99125e010eee08fc7"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampParameterDescriptor.html#ab59c84f0bbe0d4d0c578d893c087b0db">minValue</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Minimum value. <a href="#ab59c84f0bbe0d4d0c578d893c087b0db"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampParameterDescriptor.html#a6e7646babdb265c4abfc107ba4350d80">maxValue</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum value. <a href="#a6e7646babdb265c4abfc107ba4350d80"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampParameterDescriptor.html#a3d37f986ee152ab55feb9902b35f7aca">defaultValue</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Default value. <a href="#a3d37f986ee152ab55feb9902b35f7aca"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampParameterDescriptor.html#a3f41e3b6b69c7a95ff0ce8625794f83a">isQuantized</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">1 if parameter values are quantized to a particular resolution. <a href="#a3f41e3b6b69c7a95ff0ce8625794f83a"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampParameterDescriptor.html#a68c91fd3fc0b0b3617c2d343fe32d0e5">quantizeStep</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Quantization resolution, if isQuantized. <a href="#a68c91fd3fc0b0b3617c2d343fe32d0e5"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char ** </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampParameterDescriptor.html#a188883325ab1e4a898e3dc53a8f88f9d">valueNames</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Human-readable names of the values, if isQuantized. <a href="#a188883325ab1e4a898e3dc53a8f88f9d"></a><br/></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"><p>C language API for <a class="el" href="namespaceVamp.html">Vamp</a> plugins. </p> +<p>This is the formal plugin API for <a class="el" href="namespaceVamp.html">Vamp</a>. Plugin authors may prefer to use the C++ classes provided in the <a class="el" href="namespaceVamp.html">Vamp</a> plugin SDK, instead of using this API directly. There is an adapter class provided that makes C++ plugins available using this C API with relatively little work, and the C++ headers are more thoroughly documented.</p> +<p>IMPORTANT: The comments in this file summarise the purpose of each of the declared fields and functions, but do not provide a complete guide to their permitted values and expected usage. Please refer to the C++ headers in the <a class="el" href="namespaceVamp.html">Vamp</a> plugin SDK for further details and plugin lifecycle documentation. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00071">71</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> +</div><hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a26d74afd6a3341a673f15955031845ab"></a><!-- doxytag: member="_VampParameterDescriptor::identifier" ref="a26d74afd6a3341a673f15955031845ab" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* <a class="el" href="struct__VampParameterDescriptor.html#a26d74afd6a3341a673f15955031845ab">_VampParameterDescriptor::identifier</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Computer-usable name of the parameter. </p> +<p>Must not change. [a-zA-Z0-9_] </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00074">74</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="abba810bce9656f6002777f6c3f655957"></a><!-- doxytag: member="_VampParameterDescriptor::name" ref="abba810bce9656f6002777f6c3f655957" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* <a class="el" href="struct__VampParameterDescriptor.html#abba810bce9656f6002777f6c3f655957">_VampParameterDescriptor::name</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Human-readable name of the parameter. </p> +<p>May be translatable. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00077">77</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a95489272d6cf5a5b487e949da8e4fac6"></a><!-- doxytag: member="_VampParameterDescriptor::description" ref="a95489272d6cf5a5b487e949da8e4fac6" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* <a class="el" href="struct__VampParameterDescriptor.html#a95489272d6cf5a5b487e949da8e4fac6">_VampParameterDescriptor::description</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Human-readable short text about the parameter. </p> +<p>May be translatable. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00080">80</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a8ca235f816b56dc99125e010eee08fc7"></a><!-- doxytag: member="_VampParameterDescriptor::unit" ref="a8ca235f816b56dc99125e010eee08fc7" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* <a class="el" href="struct__VampParameterDescriptor.html#a8ca235f816b56dc99125e010eee08fc7">_VampParameterDescriptor::unit</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Human-readable unit of the parameter. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00083">83</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ab59c84f0bbe0d4d0c578d893c087b0db"></a><!-- doxytag: member="_VampParameterDescriptor::minValue" ref="ab59c84f0bbe0d4d0c578d893c087b0db" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="struct__VampParameterDescriptor.html#ab59c84f0bbe0d4d0c578d893c087b0db">_VampParameterDescriptor::minValue</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Minimum value. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00086">86</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a6e7646babdb265c4abfc107ba4350d80"></a><!-- doxytag: member="_VampParameterDescriptor::maxValue" ref="a6e7646babdb265c4abfc107ba4350d80" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="struct__VampParameterDescriptor.html#a6e7646babdb265c4abfc107ba4350d80">_VampParameterDescriptor::maxValue</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Maximum value. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00089">89</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a3d37f986ee152ab55feb9902b35f7aca"></a><!-- doxytag: member="_VampParameterDescriptor::defaultValue" ref="a3d37f986ee152ab55feb9902b35f7aca" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="struct__VampParameterDescriptor.html#a3d37f986ee152ab55feb9902b35f7aca">_VampParameterDescriptor::defaultValue</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Default value. </p> +<p>Plugin is responsible for setting this on initialise. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00092">92</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a3f41e3b6b69c7a95ff0ce8625794f83a"></a><!-- doxytag: member="_VampParameterDescriptor::isQuantized" ref="a3f41e3b6b69c7a95ff0ce8625794f83a" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="struct__VampParameterDescriptor.html#a3f41e3b6b69c7a95ff0ce8625794f83a">_VampParameterDescriptor::isQuantized</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>1 if parameter values are quantized to a particular resolution. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00095">95</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a68c91fd3fc0b0b3617c2d343fe32d0e5"></a><!-- doxytag: member="_VampParameterDescriptor::quantizeStep" ref="a68c91fd3fc0b0b3617c2d343fe32d0e5" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float <a class="el" href="struct__VampParameterDescriptor.html#a68c91fd3fc0b0b3617c2d343fe32d0e5">_VampParameterDescriptor::quantizeStep</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Quantization resolution, if isQuantized. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00098">98</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a188883325ab1e4a898e3dc53a8f88f9d"></a><!-- doxytag: member="_VampParameterDescriptor::valueNames" ref="a188883325ab1e4a898e3dc53a8f88f9d" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char** <a class="el" href="struct__VampParameterDescriptor.html#a188883325ab1e4a898e3dc53a8f88f9d">_VampParameterDescriptor::valueNames</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Human-readable names of the values, if isQuantized. </p> +<p>May be NULL. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00101">101</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<hr/>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="vamp_8h_source.html">vamp.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/struct__VampPluginDescriptor-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,123 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('struct__VampPluginDescriptor.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">_VampPluginDescriptor Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#a0e4522c33e59c3c518b9262f2477bc27">cleanup</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#ae704bba384af0de056a26da1b13ee521">copyright</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#a9ff8050f92f1a04a68bb34a9d368295e">description</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#a861a77525a95d424cb846820b018af53">getCurrentProgram</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#ad1600203418d9646332f5b917284261b">getMaxChannelCount</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#af175ca17716db5a7545b61b01caabd92">getMinChannelCount</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#aa8fc88da704e24b2b5f674821dd380c1">getOutputCount</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#a92c58b8ff99ad0c23a42333aa55c144d">getOutputDescriptor</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#a07174981875b55ee2ec7521a7f4fc395">getParameter</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#ac626e42554ab1532c8d8b5132a0faee8">getPreferredBlockSize</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#a2beddf2ce156c05dd24477ac663adcbb">getPreferredStepSize</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#ad22c666188aadab83c354a0edb18fcf0">getRemainingFeatures</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#a4915ec8276749cb505c01d25a6d02219">identifier</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#ad0978f17a5e568079470a1978a9aad22">initialise</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#affc4d1796da7ced2c0cbb2cc2c4a22f4">inputDomain</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#a19c4ce36fdeb88eeedb539efc544b8ee">instantiate</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#a4dca3d57331802964716edfa80580c9b">maker</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#a9dd5a0190e4d453ff36b5acb7000b150">name</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#ae6271dc3ea0cea959c84a64185492cab">parameterCount</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#a64d614862604c31d6b84c49005f51913">parameters</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#a04427c420d9252c7796c0bf5101345ae">pluginVersion</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#ac5a0a75b6e68b22fed536765d1f2f254">process</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#a1962666aa173e7a9a2c30dc82e4b2e00">programCount</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#ad488470c582d8472d86455889d71c5ec">programs</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#ac4bafe8ad2734d21a433d745b18e7d63">releaseFeatureSet</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#a8cc38edc921616e67e551aa03397ec79">releaseOutputDescriptor</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#a12267f6b506aeda3792ff7c982b02336">reset</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#ad9af40cb165ca187e49250964af5f5cf">selectProgram</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#aad3cfc7a3b432df40bd9db13eee6a481">setParameter</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="struct__VampPluginDescriptor.html#ab6c87760e87ddaa9ac3491bccaaa28c2">vampApiVersion</a></td><td><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td><td></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/struct__VampPluginDescriptor.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,687 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: _VampPluginDescriptor Struct Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('struct__VampPluginDescriptor.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-attribs">Public Attributes</a> </div> + <div class="headertitle"> +<div class="title">_VampPluginDescriptor Struct Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="_VampPluginDescriptor" --> +<p><code>#include <<a class="el" href="vamp_8h_source.html">vamp.h</a>></code></p> + +<p><a href="struct__VampPluginDescriptor-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-attribs"></a> +Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#ab6c87760e87ddaa9ac3491bccaaa28c2">vampApiVersion</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">API version with which this descriptor is compatible. <a href="#ab6c87760e87ddaa9ac3491bccaaa28c2"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#a4915ec8276749cb505c01d25a6d02219">identifier</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Computer-usable name of the plugin. <a href="#a4915ec8276749cb505c01d25a6d02219"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#a9dd5a0190e4d453ff36b5acb7000b150">name</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Human-readable name of the plugin. <a href="#a9dd5a0190e4d453ff36b5acb7000b150"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#a9ff8050f92f1a04a68bb34a9d368295e">description</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Human-readable short text about the plugin. <a href="#a9ff8050f92f1a04a68bb34a9d368295e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#a4dca3d57331802964716edfa80580c9b">maker</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Human-readable name of plugin's author or vendor. <a href="#a4dca3d57331802964716edfa80580c9b"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#a04427c420d9252c7796c0bf5101345ae">pluginVersion</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Version number of the plugin. <a href="#a04427c420d9252c7796c0bf5101345ae"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#ae704bba384af0de056a26da1b13ee521">copyright</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Human-readable summary of copyright or licensing for plugin. <a href="#ae704bba384af0de056a26da1b13ee521"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#ae6271dc3ea0cea959c84a64185492cab">parameterCount</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Number of parameter inputs. <a href="#ae6271dc3ea0cea959c84a64185492cab"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="vamp_8h.html#ae26a9d54a92f1c083a1b209a25a8e44e">VampParameterDescriptor</a> ** </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#a64d614862604c31d6b84c49005f51913">parameters</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Fixed descriptors for parameter inputs. <a href="#a64d614862604c31d6b84c49005f51913"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#a1962666aa173e7a9a2c30dc82e4b2e00">programCount</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Number of programs. <a href="#a1962666aa173e7a9a2c30dc82e4b2e00"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const char ** </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#ad488470c582d8472d86455889d71c5ec">programs</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Fixed names for programs. <a href="#ad488470c582d8472d86455889d71c5ec"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765">VampInputDomain</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#affc4d1796da7ced2c0cbb2cc2c4a22f4">inputDomain</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Preferred input domain for audio input (time or frequency). <a href="#affc4d1796da7ced2c0cbb2cc2c4a22f4"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#a19c4ce36fdeb88eeedb539efc544b8ee">instantiate</a> )(const struct <a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a> *, float inputSampleRate)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Create and return a new instance of this plugin. <a href="#a19c4ce36fdeb88eeedb539efc544b8ee"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#a0e4522c33e59c3c518b9262f2477bc27">cleanup</a> )(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy an instance of this plugin. <a href="#a0e4522c33e59c3c518b9262f2477bc27"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#ad0978f17a5e568079470a1978a9aad22">initialise</a> )(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, unsigned int inputChannels, unsigned int stepSize, unsigned int blockSize)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Initialise an instance following parameter configuration. <a href="#ad0978f17a5e568079470a1978a9aad22"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#a12267f6b506aeda3792ff7c982b02336">reset</a> )(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Reset an instance, ready to use again on new input data. <a href="#a12267f6b506aeda3792ff7c982b02336"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">float(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#a07174981875b55ee2ec7521a7f4fc395">getParameter</a> )(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, int)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a parameter value. <a href="#a07174981875b55ee2ec7521a7f4fc395"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#aad3cfc7a3b432df40bd9db13eee6a481">setParameter</a> )(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, int, float)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set a parameter value. <a href="#aad3cfc7a3b432df40bd9db13eee6a481"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#a861a77525a95d424cb846820b018af53">getCurrentProgram</a> )(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the current program (if programCount > 0). <a href="#a861a77525a95d424cb846820b018af53"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#ad9af40cb165ca187e49250964af5f5cf">selectProgram</a> )(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, unsigned int)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the current program. <a href="#ad9af40cb165ca187e49250964af5f5cf"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#a2beddf2ce156c05dd24477ac663adcbb">getPreferredStepSize</a> )(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the plugin's preferred processing window increment in samples. <a href="#a2beddf2ce156c05dd24477ac663adcbb"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#ac626e42554ab1532c8d8b5132a0faee8">getPreferredBlockSize</a> )(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the plugin's preferred processing window size in samples. <a href="#ac626e42554ab1532c8d8b5132a0faee8"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#af175ca17716db5a7545b61b01caabd92">getMinChannelCount</a> )(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the minimum number of input channels this plugin can handle. <a href="#af175ca17716db5a7545b61b01caabd92"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#ad1600203418d9646332f5b917284261b">getMaxChannelCount</a> )(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the maximum number of input channels this plugin can handle. <a href="#ad1600203418d9646332f5b917284261b"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">unsigned int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#aa8fc88da704e24b2b5f674821dd380c1">getOutputCount</a> )(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number of feature outputs (distinct sets of results). <a href="#aa8fc88da704e24b2b5f674821dd380c1"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="vamp_8h.html#aa8429dd9c60d65800c58574c2b06bf66">VampOutputDescriptor</a> *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#a92c58b8ff99ad0c23a42333aa55c144d">getOutputDescriptor</a> )(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, unsigned int)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a descriptor for a given feature output. <a href="#a92c58b8ff99ad0c23a42333aa55c144d"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#a8cc38edc921616e67e551aa03397ec79">releaseOutputDescriptor</a> )(<a class="el" href="vamp_8h.html#aa8429dd9c60d65800c58574c2b06bf66">VampOutputDescriptor</a> *)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy a descriptor for a feature output. <a href="#a8cc38edc921616e67e551aa03397ec79"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="vamp_8h.html#a5f257e3f8b5ca1ca4c159d486e219078">VampFeatureList</a> *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#ac5a0a75b6e68b22fed536765d1f2f254">process</a> )(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, const float *const *inputBuffers, int sec, int nsec)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Process an input block and return a set of features. <a href="#ac5a0a75b6e68b22fed536765d1f2f254"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="vamp_8h.html#a5f257e3f8b5ca1ca4c159d486e219078">VampFeatureList</a> *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#ad22c666188aadab83c354a0edb18fcf0">getRemainingFeatures</a> )(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Return any remaining features at the end of processing. <a href="#ad22c666188aadab83c354a0edb18fcf0"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html#ac4bafe8ad2734d21a433d745b18e7d63">releaseFeatureSet</a> )(<a class="el" href="vamp_8h.html#a5f257e3f8b5ca1ca4c159d486e219078">VampFeatureList</a> *)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Release a feature set returned from process or getRemainingFeatures. <a href="#ac4bafe8ad2734d21a433d745b18e7d63"></a><br/></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"> +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00248">248</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> +</div><hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="ab6c87760e87ddaa9ac3491bccaaa28c2"></a><!-- doxytag: member="_VampPluginDescriptor::vampApiVersion" ref="ab6c87760e87ddaa9ac3491bccaaa28c2" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int <a class="el" href="struct__VampPluginDescriptor.html#ab6c87760e87ddaa9ac3491bccaaa28c2">_VampPluginDescriptor::vampApiVersion</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>API version with which this descriptor is compatible. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00251">251</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a4915ec8276749cb505c01d25a6d02219"></a><!-- doxytag: member="_VampPluginDescriptor::identifier" ref="a4915ec8276749cb505c01d25a6d02219" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* <a class="el" href="struct__VampPluginDescriptor.html#a4915ec8276749cb505c01d25a6d02219">_VampPluginDescriptor::identifier</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Computer-usable name of the plugin. </p> +<p>Must not change. [a-zA-Z0-9_] </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00254">254</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a9dd5a0190e4d453ff36b5acb7000b150"></a><!-- doxytag: member="_VampPluginDescriptor::name" ref="a9dd5a0190e4d453ff36b5acb7000b150" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* <a class="el" href="struct__VampPluginDescriptor.html#a9dd5a0190e4d453ff36b5acb7000b150">_VampPluginDescriptor::name</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Human-readable name of the plugin. </p> +<p>May be translatable. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00257">257</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a9ff8050f92f1a04a68bb34a9d368295e"></a><!-- doxytag: member="_VampPluginDescriptor::description" ref="a9ff8050f92f1a04a68bb34a9d368295e" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* <a class="el" href="struct__VampPluginDescriptor.html#a9ff8050f92f1a04a68bb34a9d368295e">_VampPluginDescriptor::description</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Human-readable short text about the plugin. </p> +<p>May be translatable. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00260">260</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a4dca3d57331802964716edfa80580c9b"></a><!-- doxytag: member="_VampPluginDescriptor::maker" ref="a4dca3d57331802964716edfa80580c9b" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* <a class="el" href="struct__VampPluginDescriptor.html#a4dca3d57331802964716edfa80580c9b">_VampPluginDescriptor::maker</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Human-readable name of plugin's author or vendor. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00263">263</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a04427c420d9252c7796c0bf5101345ae"></a><!-- doxytag: member="_VampPluginDescriptor::pluginVersion" ref="a04427c420d9252c7796c0bf5101345ae" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int <a class="el" href="struct__VampPluginDescriptor.html#a04427c420d9252c7796c0bf5101345ae">_VampPluginDescriptor::pluginVersion</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Version number of the plugin. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00266">266</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ae704bba384af0de056a26da1b13ee521"></a><!-- doxytag: member="_VampPluginDescriptor::copyright" ref="ae704bba384af0de056a26da1b13ee521" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* <a class="el" href="struct__VampPluginDescriptor.html#ae704bba384af0de056a26da1b13ee521">_VampPluginDescriptor::copyright</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Human-readable summary of copyright or licensing for plugin. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00269">269</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ae6271dc3ea0cea959c84a64185492cab"></a><!-- doxytag: member="_VampPluginDescriptor::parameterCount" ref="ae6271dc3ea0cea959c84a64185492cab" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int <a class="el" href="struct__VampPluginDescriptor.html#ae6271dc3ea0cea959c84a64185492cab">_VampPluginDescriptor::parameterCount</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Number of parameter inputs. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00272">272</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a64d614862604c31d6b84c49005f51913"></a><!-- doxytag: member="_VampPluginDescriptor::parameters" ref="a64d614862604c31d6b84c49005f51913" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="vamp_8h.html#ae26a9d54a92f1c083a1b209a25a8e44e">VampParameterDescriptor</a>** <a class="el" href="struct__VampPluginDescriptor.html#a64d614862604c31d6b84c49005f51913">_VampPluginDescriptor::parameters</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Fixed descriptors for parameter inputs. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00275">275</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a1962666aa173e7a9a2c30dc82e4b2e00"></a><!-- doxytag: member="_VampPluginDescriptor::programCount" ref="a1962666aa173e7a9a2c30dc82e4b2e00" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int <a class="el" href="struct__VampPluginDescriptor.html#a1962666aa173e7a9a2c30dc82e4b2e00">_VampPluginDescriptor::programCount</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Number of programs. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00278">278</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ad488470c582d8472d86455889d71c5ec"></a><!-- doxytag: member="_VampPluginDescriptor::programs" ref="ad488470c582d8472d86455889d71c5ec" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char** <a class="el" href="struct__VampPluginDescriptor.html#ad488470c582d8472d86455889d71c5ec">_VampPluginDescriptor::programs</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Fixed names for programs. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00281">281</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="affc4d1796da7ced2c0cbb2cc2c4a22f4"></a><!-- doxytag: member="_VampPluginDescriptor::inputDomain" ref="affc4d1796da7ced2c0cbb2cc2c4a22f4" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765">VampInputDomain</a> <a class="el" href="struct__VampPluginDescriptor.html#affc4d1796da7ced2c0cbb2cc2c4a22f4">_VampPluginDescriptor::inputDomain</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Preferred input domain for audio input (time or frequency). </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00284">284</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a19c4ce36fdeb88eeedb539efc544b8ee"></a><!-- doxytag: member="_VampPluginDescriptor::instantiate" ref="a19c4ce36fdeb88eeedb539efc544b8ee" args=")(const struct _VampPluginDescriptor *, float inputSampleRate)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>(* <a class="el" href="struct__VampPluginDescriptor.html#a19c4ce36fdeb88eeedb539efc544b8ee">_VampPluginDescriptor::instantiate</a>)(const struct <a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a> *, float inputSampleRate)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Create and return a new instance of this plugin. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00287">287</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a0e4522c33e59c3c518b9262f2477bc27"></a><!-- doxytag: member="_VampPluginDescriptor::cleanup" ref="a0e4522c33e59c3c518b9262f2477bc27" args=")(VampPluginHandle)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void(* <a class="el" href="struct__VampPluginDescriptor.html#a0e4522c33e59c3c518b9262f2477bc27">_VampPluginDescriptor::cleanup</a>)(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Destroy an instance of this plugin. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00291">291</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ad0978f17a5e568079470a1978a9aad22"></a><!-- doxytag: member="_VampPluginDescriptor::initialise" ref="ad0978f17a5e568079470a1978a9aad22" args=")(VampPluginHandle, unsigned int inputChannels, unsigned int stepSize, unsigned int blockSize)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int(* <a class="el" href="struct__VampPluginDescriptor.html#ad0978f17a5e568079470a1978a9aad22">_VampPluginDescriptor::initialise</a>)(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, unsigned int inputChannels, unsigned int stepSize, unsigned int blockSize)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Initialise an instance following parameter configuration. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00294">294</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a12267f6b506aeda3792ff7c982b02336"></a><!-- doxytag: member="_VampPluginDescriptor::reset" ref="a12267f6b506aeda3792ff7c982b02336" args=")(VampPluginHandle)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void(* <a class="el" href="struct__VampPluginDescriptor.html#a12267f6b506aeda3792ff7c982b02336">_VampPluginDescriptor::reset</a>)(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Reset an instance, ready to use again on new input data. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00300">300</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a07174981875b55ee2ec7521a7f4fc395"></a><!-- doxytag: member="_VampPluginDescriptor::getParameter" ref="a07174981875b55ee2ec7521a7f4fc395" args=")(VampPluginHandle, int)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">float(* <a class="el" href="struct__VampPluginDescriptor.html#a07174981875b55ee2ec7521a7f4fc395">_VampPluginDescriptor::getParameter</a>)(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, int)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a parameter value. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00303">303</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="aad3cfc7a3b432df40bd9db13eee6a481"></a><!-- doxytag: member="_VampPluginDescriptor::setParameter" ref="aad3cfc7a3b432df40bd9db13eee6a481" args=")(VampPluginHandle, int, float)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void(* <a class="el" href="struct__VampPluginDescriptor.html#aad3cfc7a3b432df40bd9db13eee6a481">_VampPluginDescriptor::setParameter</a>)(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, int, float)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set a parameter value. </p> +<p>May only be called before initialise. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00306">306</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a861a77525a95d424cb846820b018af53"></a><!-- doxytag: member="_VampPluginDescriptor::getCurrentProgram" ref="a861a77525a95d424cb846820b018af53" args=")(VampPluginHandle)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int(* <a class="el" href="struct__VampPluginDescriptor.html#a861a77525a95d424cb846820b018af53">_VampPluginDescriptor::getCurrentProgram</a>)(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the current program (if programCount > 0). </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00309">309</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ad9af40cb165ca187e49250964af5f5cf"></a><!-- doxytag: member="_VampPluginDescriptor::selectProgram" ref="ad9af40cb165ca187e49250964af5f5cf" args=")(VampPluginHandle, unsigned int)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void(* <a class="el" href="struct__VampPluginDescriptor.html#ad9af40cb165ca187e49250964af5f5cf">_VampPluginDescriptor::selectProgram</a>)(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, unsigned int)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Set the current program. </p> +<p>May only be called before initialise. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00312">312</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a2beddf2ce156c05dd24477ac663adcbb"></a><!-- doxytag: member="_VampPluginDescriptor::getPreferredStepSize" ref="a2beddf2ce156c05dd24477ac663adcbb" args=")(VampPluginHandle)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int(* <a class="el" href="struct__VampPluginDescriptor.html#a2beddf2ce156c05dd24477ac663adcbb">_VampPluginDescriptor::getPreferredStepSize</a>)(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the plugin's preferred processing window increment in samples. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00315">315</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ac626e42554ab1532c8d8b5132a0faee8"></a><!-- doxytag: member="_VampPluginDescriptor::getPreferredBlockSize" ref="ac626e42554ab1532c8d8b5132a0faee8" args=")(VampPluginHandle)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int(* <a class="el" href="struct__VampPluginDescriptor.html#ac626e42554ab1532c8d8b5132a0faee8">_VampPluginDescriptor::getPreferredBlockSize</a>)(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the plugin's preferred processing window size in samples. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00318">318</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="af175ca17716db5a7545b61b01caabd92"></a><!-- doxytag: member="_VampPluginDescriptor::getMinChannelCount" ref="af175ca17716db5a7545b61b01caabd92" args=")(VampPluginHandle)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int(* <a class="el" href="struct__VampPluginDescriptor.html#af175ca17716db5a7545b61b01caabd92">_VampPluginDescriptor::getMinChannelCount</a>)(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the minimum number of input channels this plugin can handle. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00321">321</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ad1600203418d9646332f5b917284261b"></a><!-- doxytag: member="_VampPluginDescriptor::getMaxChannelCount" ref="ad1600203418d9646332f5b917284261b" args=")(VampPluginHandle)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int(* <a class="el" href="struct__VampPluginDescriptor.html#ad1600203418d9646332f5b917284261b">_VampPluginDescriptor::getMaxChannelCount</a>)(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the maximum number of input channels this plugin can handle. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00324">324</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="aa8fc88da704e24b2b5f674821dd380c1"></a><!-- doxytag: member="_VampPluginDescriptor::getOutputCount" ref="aa8fc88da704e24b2b5f674821dd380c1" args=")(VampPluginHandle)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">unsigned int(* <a class="el" href="struct__VampPluginDescriptor.html#aa8fc88da704e24b2b5f674821dd380c1">_VampPluginDescriptor::getOutputCount</a>)(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the number of feature outputs (distinct sets of results). </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00327">327</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a92c58b8ff99ad0c23a42333aa55c144d"></a><!-- doxytag: member="_VampPluginDescriptor::getOutputDescriptor" ref="a92c58b8ff99ad0c23a42333aa55c144d" args=")(VampPluginHandle, unsigned int)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="vamp_8h.html#aa8429dd9c60d65800c58574c2b06bf66">VampOutputDescriptor</a>*(* <a class="el" href="struct__VampPluginDescriptor.html#a92c58b8ff99ad0c23a42333aa55c144d">_VampPluginDescriptor::getOutputDescriptor</a>)(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, unsigned int)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get a descriptor for a given feature output. </p> +<p>Returned pointer is valid only until next call to getOutputDescriptor for this handle, or releaseOutputDescriptor for this descriptor. Host must call releaseOutputDescriptor after use. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00333">333</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a8cc38edc921616e67e551aa03397ec79"></a><!-- doxytag: member="_VampPluginDescriptor::releaseOutputDescriptor" ref="a8cc38edc921616e67e551aa03397ec79" args=")(VampOutputDescriptor *)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void(* <a class="el" href="struct__VampPluginDescriptor.html#a8cc38edc921616e67e551aa03397ec79">_VampPluginDescriptor::releaseOutputDescriptor</a>)(<a class="el" href="vamp_8h.html#aa8429dd9c60d65800c58574c2b06bf66">VampOutputDescriptor</a> *)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Destroy a descriptor for a feature output. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00337">337</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ac5a0a75b6e68b22fed536765d1f2f254"></a><!-- doxytag: member="_VampPluginDescriptor::process" ref="ac5a0a75b6e68b22fed536765d1f2f254" args=")(VampPluginHandle, const float *const *inputBuffers, int sec, int nsec)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="vamp_8h.html#a5f257e3f8b5ca1ca4c159d486e219078">VampFeatureList</a>*(* <a class="el" href="struct__VampPluginDescriptor.html#ac5a0a75b6e68b22fed536765d1f2f254">_VampPluginDescriptor::process</a>)(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, const float *const *inputBuffers, int sec, int nsec)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Process an input block and return a set of features. </p> +<p>Returned pointer is valid only until next call to process, getRemainingFeatures, or cleanup for this handle, or releaseFeatureSet for this feature set. Host must call releaseFeatureSet after use. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00344">344</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ad22c666188aadab83c354a0edb18fcf0"></a><!-- doxytag: member="_VampPluginDescriptor::getRemainingFeatures" ref="ad22c666188aadab83c354a0edb18fcf0" args=")(VampPluginHandle)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="vamp_8h.html#a5f257e3f8b5ca1ca4c159d486e219078">VampFeatureList</a>*(* <a class="el" href="struct__VampPluginDescriptor.html#ad22c666188aadab83c354a0edb18fcf0">_VampPluginDescriptor::getRemainingFeatures</a>)(<a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Return any remaining features at the end of processing. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00350">350</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ac4bafe8ad2734d21a433d745b18e7d63"></a><!-- doxytag: member="_VampPluginDescriptor::releaseFeatureSet" ref="ac4bafe8ad2734d21a433d745b18e7d63" args=")(VampFeatureList *)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void(* <a class="el" href="struct__VampPluginDescriptor.html#ac4bafe8ad2734d21a433d745b18e7d63">_VampPluginDescriptor::releaseFeatureSet</a>)(<a class="el" href="vamp_8h.html#a5f257e3f8b5ca1ca4c159d486e219078">VampFeatureList</a> *)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Release a feature set returned from process or getRemainingFeatures. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00353">353</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<hr/>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="vamp_8h_source.html">vamp.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/system_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,234 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: system.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('system_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#define-members">Defines</a> </div> + <div class="headertitle"> +<div class="title">system.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="system_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="define-members"></a> +Defines</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="system_8h.html#a0a14867c4f7ccec2b5a804bd0fd66a53">DLOPEN</a>(a, b)   dlopen((a).c_str(),(b))</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="system_8h.html#a4e0f5c42b68801054532c293169317d8">DLSYM</a>(a, b)   dlsym((a),(b))</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="system_8h.html#a1defcae089d0d937682cc78981a0ef99">DLCLOSE</a>(a)   dlclose((a))</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="system_8h.html#a690562dc6c92cb811f90e8391bfeb801">DLERROR</a>()   dlerror()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="system_8h.html#a1efbc9bb9a9f2837d3f7386af8607abf">PLUGIN_SUFFIX</a>   "so"</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="system_8h.html#a7cbcd5e9e882451e8c93a78b06f563c4">HAVE_OPENDIR</a>   1</td></tr> +</table> +<hr/><h2>Define Documentation</h2> +<a class="anchor" id="a0a14867c4f7ccec2b5a804bd0fd66a53"></a><!-- doxytag: member="system.h::DLOPEN" ref="a0a14867c4f7ccec2b5a804bd0fd66a53" args="(a, b)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define DLOPEN</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">a, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname">b </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td>   dlopen((a).c_str(),(b))</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="system_8h_source.html#l00055">55</a> of file <a class="el" href="system_8h_source.html">system.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a4e0f5c42b68801054532c293169317d8"></a><!-- doxytag: member="system.h::DLSYM" ref="a4e0f5c42b68801054532c293169317d8" args="(a, b)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define DLSYM</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">a, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname">b </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td>   dlsym((a),(b))</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="system_8h_source.html#l00056">56</a> of file <a class="el" href="system_8h_source.html">system.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a1defcae089d0d937682cc78981a0ef99"></a><!-- doxytag: member="system.h::DLCLOSE" ref="a1defcae089d0d937682cc78981a0ef99" args="(a)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define DLCLOSE</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">a</td><td>)</td> + <td>   dlclose((a))</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="system_8h_source.html#l00057">57</a> of file <a class="el" href="system_8h_source.html">system.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a690562dc6c92cb811f90e8391bfeb801"></a><!-- doxytag: member="system.h::DLERROR" ref="a690562dc6c92cb811f90e8391bfeb801" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define DLERROR</td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td>   dlerror()</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="system_8h_source.html#l00058">58</a> of file <a class="el" href="system_8h_source.html">system.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a1efbc9bb9a9f2837d3f7386af8607abf"></a><!-- doxytag: member="system.h::PLUGIN_SUFFIX" ref="a1efbc9bb9a9f2837d3f7386af8607abf" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define PLUGIN_SUFFIX   "so"</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="system_8h_source.html#l00067">67</a> of file <a class="el" href="system_8h_source.html">system.h</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00093">usage()</a>.</p> + +</div> +</div> +<a class="anchor" id="a7cbcd5e9e882451e8c93a78b06f563c4"></a><!-- doxytag: member="system.h::HAVE_OPENDIR" ref="a7cbcd5e9e882451e8c93a78b06f563c4" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define HAVE_OPENDIR   1</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="system_8h_source.html#l00068">68</a> of file <a class="el" href="system_8h_source.html">system.h</a>.</p> + +</div> +</div> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="system_8h.html">system.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/system_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,167 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: system.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('system_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">system.h</div> </div> +</div> +<div class="contents"> +<a href="system_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _SYSTEM_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _SYSTEM_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#ifdef _WIN32</span> +<a name="l00041"></a>00041 <span class="preprocessor"></span> +<a name="l00042"></a>00042 <span class="preprocessor">#include <windows.h></span> +<a name="l00043"></a>00043 +<a name="l00044"></a>00044 <span class="preprocessor">#define DLOPEN(a,b) LoadLibrary((a).c_str())</span> +<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define DLSYM(a,b) GetProcAddress((HINSTANCE)(a),(b))</span> +<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define DLCLOSE(a) FreeLibrary((HINSTANCE)(a))</span> +<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#define DLERROR() ""</span> +<a name="l00048"></a>00048 <span class="preprocessor"></span> +<a name="l00049"></a>00049 <span class="preprocessor">#define PLUGIN_SUFFIX "dll"</span> +<a name="l00050"></a>00050 <span class="preprocessor"></span> +<a name="l00051"></a>00051 <span class="preprocessor">#else</span> +<a name="l00052"></a>00052 <span class="preprocessor"></span> +<a name="l00053"></a>00053 <span class="preprocessor">#include <dlfcn.h></span> +<a name="l00054"></a>00054 +<a name="l00055"></a><a class="code" href="system_8h.html#a0a14867c4f7ccec2b5a804bd0fd66a53">00055</a> <span class="preprocessor">#define DLOPEN(a,b) dlopen((a).c_str(),(b))</span> +<a name="l00056"></a><a class="code" href="system_8h.html#a4e0f5c42b68801054532c293169317d8">00056</a> <span class="preprocessor"></span><span class="preprocessor">#define DLSYM(a,b) dlsym((a),(b))</span> +<a name="l00057"></a><a class="code" href="system_8h.html#a1defcae089d0d937682cc78981a0ef99">00057</a> <span class="preprocessor"></span><span class="preprocessor">#define DLCLOSE(a) dlclose((a))</span> +<a name="l00058"></a><a class="code" href="system_8h.html#a690562dc6c92cb811f90e8391bfeb801">00058</a> <span class="preprocessor"></span><span class="preprocessor">#define DLERROR() dlerror()</span> +<a name="l00059"></a>00059 <span class="preprocessor"></span> +<a name="l00060"></a>00060 <span class="preprocessor">#ifdef __APPLE__</span> +<a name="l00061"></a>00061 <span class="preprocessor"></span> +<a name="l00062"></a>00062 <span class="preprocessor">#define PLUGIN_SUFFIX "dylib"</span> +<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#define HAVE_OPENDIR 1</span> +<a name="l00064"></a>00064 <span class="preprocessor"></span> +<a name="l00065"></a>00065 <span class="preprocessor">#else </span> +<a name="l00066"></a>00066 <span class="preprocessor"></span> +<a name="l00067"></a><a class="code" href="system_8h.html#a1efbc9bb9a9f2837d3f7386af8607abf">00067</a> <span class="preprocessor">#define PLUGIN_SUFFIX "so"</span> +<a name="l00068"></a><a class="code" href="system_8h.html#a7cbcd5e9e882451e8c93a78b06f563c4">00068</a> <span class="preprocessor"></span><span class="preprocessor">#define HAVE_OPENDIR 1</span> +<a name="l00069"></a>00069 <span class="preprocessor"></span> +<a name="l00070"></a>00070 <span class="preprocessor">#endif </span><span class="comment">/* __APPLE__ */</span> +<a name="l00071"></a>00071 +<a name="l00072"></a>00072 <span class="preprocessor">#endif </span><span class="comment">/* ! _WIN32 */</span> +<a name="l00073"></a>00073 +<a name="l00074"></a>00074 <span class="preprocessor">#endif</span> +<a name="l00075"></a>00075 <span class="preprocessor"></span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="system_8h.html">system.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/tabs.css Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,59 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/union__VampFeatureUnion-members.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,95 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Member List</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('union__VampFeatureUnion.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">_VampFeatureUnion Member List</div> </div> +</div> +<div class="contents"> +This is the complete list of members for <a class="el" href="union__VampFeatureUnion.html">_VampFeatureUnion</a>, including all inherited members.<table> + <tr class="memlist"><td><a class="el" href="union__VampFeatureUnion.html#a4a32a2ce141ec3cd36b8be54cd9c3369">v1</a></td><td><a class="el" href="union__VampFeatureUnion.html">_VampFeatureUnion</a></td><td></td></tr> + <tr class="memlist"><td><a class="el" href="union__VampFeatureUnion.html#a87e508e37e02cce11c3c4ddf087a627a">v2</a></td><td><a class="el" href="union__VampFeatureUnion.html">_VampFeatureUnion</a></td><td></td></tr> +</table></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/union__VampFeatureUnion.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: _VampFeatureUnion Union Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li class="current"><a href="annotated.html"><span>Classes</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="annotated.html"><span>Class List</span></a></li> + <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> + <li><a href="functions.html"><span>Class Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('union__VampFeatureUnion.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#pub-attribs">Public Attributes</a> </div> + <div class="headertitle"> +<div class="title">_VampFeatureUnion Union Reference</div> </div> +</div> +<div class="contents"> +<!-- doxytag: class="_VampFeatureUnion" --> +<p><code>#include <<a class="el" href="vamp_8h_source.html">vamp.h</a>></code></p> + +<p><a href="union__VampFeatureUnion-members.html">List of all members.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="pub-attribs"></a> +Public Attributes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="vamp_8h.html#a8d04355c13e5ff7a146abcb168cb919f">VampFeature</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="union__VampFeatureUnion.html#a4a32a2ce141ec3cd36b8be54cd9c3369">v1</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="vamp_8h.html#a41cb3518127d0971b1d2c8edfbbe2763">VampFeatureV2</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="union__VampFeatureUnion.html#a87e508e37e02cce11c3c4ddf087a627a">v2</a></td></tr> +</table> +<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> +<div class="textblock"> +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00209">209</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> +</div><hr/><h2>Member Data Documentation</h2> +<a class="anchor" id="a4a32a2ce141ec3cd36b8be54cd9c3369"></a><!-- doxytag: member="_VampFeatureUnion::v1" ref="a4a32a2ce141ec3cd36b8be54cd9c3369" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="vamp_8h.html#a8d04355c13e5ff7a146abcb168cb919f">VampFeature</a> <a class="el" href="union__VampFeatureUnion.html#a4a32a2ce141ec3cd36b8be54cd9c3369">_VampFeatureUnion::v1</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00212">212</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="a87e508e37e02cce11c3c4ddf087a627a"></a><!-- doxytag: member="_VampFeatureUnion::v2" ref="a87e508e37e02cce11c3c4ddf087a627a" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="vamp_8h.html#a41cb3518127d0971b1d2c8edfbbe2763">VampFeatureV2</a> <a class="el" href="union__VampFeatureUnion.html#a87e508e37e02cce11c3c4ddf087a627a">_VampFeatureUnion::v2</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00213">213</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<hr/>The documentation for this union was generated from the following file:<ul> +<li><a class="el" href="vamp_8h_source.html">vamp.h</a></li> +</ul> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="union__VampFeatureUnion.html">_VampFeatureUnion</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-hostsdk_2PluginBase_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginBase.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-hostsdk_2PluginBase_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-hostsdk/PluginBase.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="vamp-hostsdk_2PluginBase_8h_source.html">Go to the source code of this file.</a></p> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-hostsdk_2PluginBase_8h.html">PluginBase.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-hostsdk_2PluginBase_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,139 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginBase.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-hostsdk_2PluginBase_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-hostsdk/PluginBase.h</div> </div> +</div> +<div class="contents"> +<a href="vamp-hostsdk_2PluginBase_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_HOSTSDK_PLUGIN_BASE_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_HOSTSDK_PLUGIN_BASE_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="comment">// Do not include vamp-sdk/PluginBase.h directly from host code.</span> +<a name="l00041"></a>00041 <span class="comment">// Always use this header instead.</span> +<a name="l00042"></a>00042 +<a name="l00043"></a>00043 <span class="preprocessor">#include "<a class="code" href="hostguard_8h.html">hostguard.h</a>"</span> +<a name="l00044"></a>00044 +<a name="l00045"></a>00045 <span class="preprocessor">#include <<a class="code" href="vamp-sdk_2PluginBase_8h.html">vamp-sdk/PluginBase.h</a>></span> +<a name="l00046"></a>00046 +<a name="l00047"></a>00047 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-hostsdk_2PluginBase_8h.html">PluginBase.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-hostsdk_2Plugin_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Plugin.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-hostsdk_2Plugin_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-hostsdk/Plugin.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="vamp-hostsdk_2Plugin_8h_source.html">Go to the source code of this file.</a></p> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-hostsdk_2Plugin_8h.html">Plugin.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-hostsdk_2Plugin_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,139 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Plugin.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-hostsdk_2Plugin_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-hostsdk/Plugin.h</div> </div> +</div> +<div class="contents"> +<a href="vamp-hostsdk_2Plugin_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_HOSTSDK_PLUGIN_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_HOSTSDK_PLUGIN_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="comment">// Do not include vamp-sdk/Plugin.h directly from host code. Always</span> +<a name="l00041"></a>00041 <span class="comment">// use this header instead.</span> +<a name="l00042"></a>00042 +<a name="l00043"></a>00043 <span class="preprocessor">#include "<a class="code" href="hostguard_8h.html">hostguard.h</a>"</span> +<a name="l00044"></a>00044 +<a name="l00045"></a>00045 <span class="preprocessor">#include <<a class="code" href="vamp-sdk_2Plugin_8h.html">vamp-sdk/Plugin.h</a>></span> +<a name="l00046"></a>00046 +<a name="l00047"></a>00047 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-hostsdk_2Plugin_8h.html">Plugin.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-hostsdk_2RealTime_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: RealTime.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-hostsdk_2RealTime_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-hostsdk/RealTime.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="vamp-hostsdk_2RealTime_8h_source.html">Go to the source code of this file.</a></p> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-hostsdk_2RealTime_8h.html">RealTime.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-hostsdk_2RealTime_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: RealTime.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-hostsdk_2RealTime_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-hostsdk/RealTime.h</div> </div> +</div> +<div class="contents"> +<a href="vamp-hostsdk_2RealTime_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_HOSTSDK_REALTIME_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_HOSTSDK_REALTIME_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="comment">// Do not include vamp-sdk/RealTime.h directly from host code. Always</span> +<a name="l00041"></a>00041 <span class="comment">// use this header instead.</span> +<a name="l00042"></a>00042 +<a name="l00043"></a>00043 <span class="preprocessor">#include "<a class="code" href="hostguard_8h.html">hostguard.h</a>"</span> +<a name="l00044"></a>00044 <span class="preprocessor">#include <<a class="code" href="vamp-sdk_2RealTime_8h.html">vamp-sdk/RealTime.h</a>></span> +<a name="l00045"></a>00045 +<a name="l00046"></a>00046 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-hostsdk_2RealTime_8h.html">RealTime.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-hostsdk_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: vamp-hostsdk.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-hostsdk_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-hostsdk.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="vamp-hostsdk_8h_source.html">Go to the source code of this file.</a></p> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-hostsdk_8h.html">vamp-hostsdk.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-hostsdk_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,145 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: vamp-hostsdk.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-hostsdk_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-hostsdk.h</div> </div> +</div> +<div class="contents"> +<a href="vamp-hostsdk_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_HOSTSDK_SINGLE_INCLUDE_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_HOSTSDK_SINGLE_INCLUDE_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include "PluginBase.h"</span> +<a name="l00041"></a>00041 <span class="preprocessor">#include "<a class="code" href="PluginBufferingAdapter_8h.html">PluginBufferingAdapter.h</a>"</span> +<a name="l00042"></a>00042 <span class="preprocessor">#include "<a class="code" href="PluginChannelAdapter_8h.html">PluginChannelAdapter.h</a>"</span> +<a name="l00043"></a>00043 <span class="preprocessor">#include "Plugin.h"</span> +<a name="l00044"></a>00044 <span class="preprocessor">#include "<a class="code" href="PluginHostAdapter_8h.html">PluginHostAdapter.h</a>"</span> +<a name="l00045"></a>00045 <span class="preprocessor">#include "<a class="code" href="PluginInputDomainAdapter_8h.html">PluginInputDomainAdapter.h</a>"</span> +<a name="l00046"></a>00046 <span class="preprocessor">#include "<a class="code" href="PluginLoader_8h.html">PluginLoader.h</a>"</span> +<a name="l00047"></a>00047 <span class="preprocessor">#include "<a class="code" href="PluginSummarisingAdapter_8h.html">PluginSummarisingAdapter.h</a>"</span> +<a name="l00048"></a>00048 <span class="preprocessor">#include "<a class="code" href="PluginWrapper_8h.html">PluginWrapper.h</a>"</span> +<a name="l00049"></a>00049 <span class="preprocessor">#include "RealTime.h"</span> +<a name="l00050"></a>00050 +<a name="l00051"></a>00051 <span class="preprocessor">#endif</span> +<a name="l00052"></a>00052 <span class="preprocessor"></span> +<a name="l00053"></a>00053 +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-hostsdk_8h.html">vamp-hostsdk.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-sdk_2PluginBase_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,161 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginBase.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-sdk_2PluginBase_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#namespaces">Namespaces</a> | +<a href="#define-members">Defines</a> </div> + <div class="headertitle"> +<div class="title">vamp-sdk/PluginBase.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="vamp-sdk_2PluginBase_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html">Vamp::PluginBase</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">A base class for plugins with optional configurable parameters, programs, etc. <a href="classVamp_1_1PluginBase.html#details">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">Vamp::PluginBase::ParameterDescriptor</a></td></tr> +<tr><td colspan="2"><h2><a name="namespaces"></a> +Namespaces</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp.html">Vamp</a></td></tr> +<tr><td colspan="2"><h2><a name="define-members"></a> +Defines</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-sdk_2PluginBase_8h.html#a9b7a8e1ac1c91366bec5f2f33c137a2f">VAMP_SDK_VERSION</a>   "3.5"</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-sdk_2PluginBase_8h.html#ab5f7da6acf45065a6c7b7cd38a0bf588">VAMP_SDK_MAJOR_VERSION</a>   2</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-sdk_2PluginBase_8h.html#ad5eef1e2154b42769cd642d2a1d42257">VAMP_SDK_MINOR_VERSION</a>   2</td></tr> +</table> +<hr/><h2>Define Documentation</h2> +<a class="anchor" id="a9b7a8e1ac1c91366bec5f2f33c137a2f"></a><!-- doxytag: member="vamp-sdk/PluginBase.h::VAMP_SDK_VERSION" ref="a9b7a8e1ac1c91366bec5f2f33c137a2f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define VAMP_SDK_VERSION   "3.5"</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00043">43</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00137">main()</a>.</p> + +</div> +</div> +<a class="anchor" id="ab5f7da6acf45065a6c7b7cd38a0bf588"></a><!-- doxytag: member="vamp-sdk/PluginBase.h::VAMP_SDK_MAJOR_VERSION" ref="ab5f7da6acf45065a6c7b7cd38a0bf588" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define VAMP_SDK_MAJOR_VERSION   2</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00044">44</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ad5eef1e2154b42769cd642d2a1d42257"></a><!-- doxytag: member="vamp-sdk/PluginBase.h::VAMP_SDK_MINOR_VERSION" ref="ad5eef1e2154b42769cd642d2a1d42257" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define VAMP_SDK_MINOR_VERSION   2</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00045">45</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p> + +</div> +</div> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-sdk_2PluginBase_8h.html">PluginBase.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-sdk_2PluginBase_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,216 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: PluginBase.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-sdk_2PluginBase_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-sdk/PluginBase.h</div> </div> +</div> +<div class="contents"> +<a href="vamp-sdk_2PluginBase_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_SDK_PLUGIN_BASE_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_SDK_PLUGIN_BASE_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include <string></span> +<a name="l00041"></a>00041 <span class="preprocessor">#include <vector></span> +<a name="l00042"></a>00042 +<a name="l00043"></a><a class="code" href="vamp-sdk_2PluginBase_8h.html#a9b7a8e1ac1c91366bec5f2f33c137a2f">00043</a> <span class="preprocessor">#define VAMP_SDK_VERSION "3.5"</span> +<a name="l00044"></a><a class="code" href="vamp-sdk_2PluginBase_8h.html#ab5f7da6acf45065a6c7b7cd38a0bf588">00044</a> <span class="preprocessor"></span><span class="preprocessor">#define VAMP_SDK_MAJOR_VERSION 2</span> +<a name="l00045"></a><a class="code" href="vamp-sdk_2PluginBase_8h.html#ad5eef1e2154b42769cd642d2a1d42257">00045</a> <span class="preprocessor"></span><span class="preprocessor">#define VAMP_SDK_MINOR_VERSION 2</span> +<a name="l00046"></a>00046 <span class="preprocessor"></span> +<a name="l00047"></a>00047 <span class="preprocessor">#include "<a class="code" href="plugguard_8h.html">plugguard.h</a>"</span> +<a name="l00048"></a>00048 <a class="code" href="plugguard_8h.html#a1a2724ea453971288d3218e4eab3072c">_VAMP_SDK_PLUGSPACE_BEGIN</a>(PluginBase.h) +<a name="l00049"></a>00049 +<a name="l00050"></a>00050 namespace Vamp { +<a name="l00051"></a>00051 +<a name="l00064"></a><a class="code" href="classVamp_1_1PluginBase.html">00064</a> <span class="keyword">class </span><a class="code" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a> +<a name="l00065"></a>00065 { +<a name="l00066"></a>00066 <span class="keyword">public</span>: +<a name="l00067"></a><a class="code" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">00067</a> <span class="keyword">virtual</span> <a class="code" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a>() { } +<a name="l00068"></a>00068 +<a name="l00072"></a><a class="code" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf">00072</a> <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf" title="Get the Vamp API compatibility level of the plugin.">getVampApiVersion</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 2; } +<a name="l00073"></a>00073 +<a name="l00087"></a>00087 <span class="keyword">virtual</span> std::string getIdentifier() <span class="keyword">const</span> = 0; +<a name="l00088"></a>00088 +<a name="l00097"></a>00097 <span class="keyword">virtual</span> std::string getName() <span class="keyword">const</span> = 0; +<a name="l00098"></a>00098 +<a name="l00107"></a>00107 <span class="keyword">virtual</span> std::string getDescription() <span class="keyword">const</span> = 0; +<a name="l00108"></a>00108 +<a name="l00115"></a>00115 <span class="keyword">virtual</span> std::string getMaker() <span class="keyword">const</span> = 0; +<a name="l00116"></a>00116 +<a name="l00122"></a>00122 <span class="keyword">virtual</span> std::string getCopyright() <span class="keyword">const</span> = 0; +<a name="l00123"></a>00123 +<a name="l00127"></a>00127 <span class="keyword">virtual</span> <span class="keywordtype">int</span> getPluginVersion() <span class="keyword">const</span> = 0; +<a name="l00128"></a>00128 +<a name="l00129"></a>00129 +<a name="l00130"></a><a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">00130</a> <span class="keyword">struct </span><a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> +<a name="l00131"></a>00131 { +<a name="l00137"></a><a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a116fd9f0dc94c2bc4bbc60b5443c598c">00137</a> std::string <a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a116fd9f0dc94c2bc4bbc60b5443c598c" title="The name of the parameter, in computer-usable form.">identifier</a>; +<a name="l00138"></a>00138 +<a name="l00142"></a><a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a0ecebb94fb4ada4aad2640e20aa57084">00142</a> std::string <a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a0ecebb94fb4ada4aad2640e20aa57084" title="The human-readable name of the parameter.">name</a>; +<a name="l00143"></a>00143 +<a name="l00148"></a><a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a780ddad41e433d85c82f9ea4d959cbaf">00148</a> std::string <a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a780ddad41e433d85c82f9ea4d959cbaf" title="A human-readable short text describing the parameter.">description</a>; +<a name="l00149"></a>00149 +<a name="l00153"></a><a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a3bc3df322e4c02e17e96bc6d44982d7b">00153</a> std::string <a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a3bc3df322e4c02e17e96bc6d44982d7b" title="The unit of the parameter, in human-readable form.">unit</a>; +<a name="l00154"></a>00154 +<a name="l00158"></a><a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab3e4d84f5bc199eea8b642b27e425ec8">00158</a> <span class="keywordtype">float</span> <a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab3e4d84f5bc199eea8b642b27e425ec8" title="The minimum value of the parameter.">minValue</a>; +<a name="l00159"></a>00159 +<a name="l00163"></a><a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab934b20dd708228a0e3c2811a3e2cec4">00163</a> <span class="keywordtype">float</span> <a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#ab934b20dd708228a0e3c2811a3e2cec4" title="The maximum value of the parameter.">maxValue</a>; +<a name="l00164"></a>00164 +<a name="l00171"></a><a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#aec4ef77451ec02193ecc4a0856673fbc">00171</a> <span class="keywordtype">float</span> <a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#aec4ef77451ec02193ecc4a0856673fbc" title="The default value of the parameter.">defaultValue</a>; +<a name="l00172"></a>00172 +<a name="l00177"></a><a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a7c556d58d552f737ee5a34efdf7f9425">00177</a> <span class="keywordtype">bool</span> <a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a7c556d58d552f737ee5a34efdf7f9425" title="True if the parameter values are quantized to a particular resolution.">isQuantized</a>; +<a name="l00178"></a>00178 +<a name="l00184"></a><a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a01f8387e7c853d5e4e35d4e9a37353d7">00184</a> <span class="keywordtype">float</span> <a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a01f8387e7c853d5e4e35d4e9a37353d7" title="Quantization resolution of the parameter values (e.g.">quantizeStep</a>; +<a name="l00185"></a>00185 +<a name="l00197"></a><a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a94df96f53835980b4739965007ff222b">00197</a> std::vector<std::string> <a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a94df96f53835980b4739965007ff222b" title="Names for the quantized values.">valueNames</a>; +<a name="l00198"></a>00198 +<a name="l00199"></a><a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html#a5b793130e9746b2302317b3c9a9c1395">00199</a> <a class="code" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>() : <span class="comment">// the defaults are invalid: you must set them</span> +<a name="l00200"></a>00200 minValue(0), maxValue(0), defaultValue(0), isQuantized(false) { } +<a name="l00201"></a>00201 }; +<a name="l00202"></a>00202 +<a name="l00203"></a><a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">00203</a> <span class="keyword">typedef</span> std::vector<ParameterDescriptor> <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a>; +<a name="l00204"></a>00204 +<a name="l00208"></a><a class="code" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21">00208</a> <span class="keyword">virtual</span> <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> <a class="code" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21" title="Get the controllable parameters of this plugin.">getParameterDescriptors</a>()<span class="keyword"> const </span>{ +<a name="l00209"></a>00209 <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a>(); +<a name="l00210"></a>00210 } +<a name="l00211"></a>00211 +<a name="l00216"></a><a class="code" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7">00216</a> <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classVamp_1_1PluginBase.html#a97ababcd45348ceec998d0f8e0f38bf7" title="Get the value of a named parameter.">getParameter</a>(std::string)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0.0; } +<a name="l00217"></a>00217 +<a name="l00222"></a><a class="code" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">00222</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366" title="Set a named parameter.">setParameter</a>(std::string, <span class="keywordtype">float</span>) { } +<a name="l00223"></a>00223 +<a name="l00224"></a>00224 +<a name="l00225"></a><a class="code" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">00225</a> <span class="keyword">typedef</span> std::vector<std::string> <a class="code" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a>; +<a name="l00226"></a>00226 +<a name="l00237"></a><a class="code" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af">00237</a> <span class="keyword">virtual</span> <a class="code" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> <a class="code" href="classVamp_1_1PluginBase.html#abb307c60bdb981d5f5af50c3c4ae84af" title="Get the program settings available in this plugin.">getPrograms</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a>(); } +<a name="l00238"></a>00238 +<a name="l00242"></a><a class="code" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3">00242</a> <span class="keyword">virtual</span> std::string <a class="code" href="classVamp_1_1PluginBase.html#a24e77eccf1bdfbbca3c79bb25e8799b3" title="Get the current program.">getCurrentProgram</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">""</span>; } +<a name="l00243"></a>00243 +<a name="l00248"></a><a class="code" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">00248</a> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353" title="Select a program.">selectProgram</a>(std::string) { } +<a name="l00249"></a>00249 +<a name="l00255"></a>00255 <span class="keyword">virtual</span> std::string getType() <span class="keyword">const</span> = 0; +<a name="l00256"></a>00256 }; +<a name="l00257"></a>00257 +<a name="l00258"></a>00258 } +<a name="l00259"></a>00259 +<a name="l00260"></a>00260 <a class="code" href="plugguard_8h.html#ac879bb1077ecc6132ea3581ef9033753">_VAMP_SDK_PLUGSPACE_END</a>(PluginBase.h) +<a name="l00261"></a>00261 +<a name="l00262"></a>00262 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-sdk_2PluginBase_8h.html">PluginBase.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-sdk_2Plugin_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,108 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Plugin.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-sdk_2Plugin_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#namespaces">Namespaces</a> </div> + <div class="headertitle"> +<div class="title">vamp-sdk/Plugin.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="vamp-sdk_2Plugin_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html">Vamp::Plugin</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> is a base class for plugin instance classes that provide feature extraction from audio or related data. <a href="classVamp_1_1Plugin.html#details">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">Vamp::Plugin::OutputDescriptor</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Vamp::Plugin::Feature</a></td></tr> +<tr><td colspan="2"><h2><a name="namespaces"></a> +Namespaces</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp.html">Vamp</a></td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-sdk_2Plugin_8h.html">Plugin.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-sdk_2Plugin_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,260 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: Plugin.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-sdk_2Plugin_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-sdk/Plugin.h</div> </div> +</div> +<div class="contents"> +<a href="vamp-sdk_2Plugin_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_SDK_PLUGIN_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_SDK_PLUGIN_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include <string></span> +<a name="l00041"></a>00041 <span class="preprocessor">#include <vector></span> +<a name="l00042"></a>00042 <span class="preprocessor">#include <map></span> +<a name="l00043"></a>00043 +<a name="l00044"></a>00044 <span class="preprocessor">#include "PluginBase.h"</span> +<a name="l00045"></a>00045 <span class="preprocessor">#include "RealTime.h"</span> +<a name="l00046"></a>00046 +<a name="l00047"></a>00047 <span class="preprocessor">#include "<a class="code" href="plugguard_8h.html">plugguard.h</a>"</span> +<a name="l00048"></a>00048 <a class="code" href="plugguard_8h.html#a1a2724ea453971288d3218e4eab3072c">_VAMP_SDK_PLUGSPACE_BEGIN</a>(Plugin.h) +<a name="l00049"></a>00049 +<a name="l00050"></a><a class="code" href="namespaceVamp.html">00050</a> namespace Vamp { +<a name="l00051"></a>00051 +<a name="l00124"></a><a class="code" href="classVamp_1_1Plugin.html">00124</a> <span class="keyword">class </span><a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> : <span class="keyword">public</span> <a class="code" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a> +<a name="l00125"></a>00125 { +<a name="l00126"></a>00126 <span class="keyword">public</span>: +<a name="l00127"></a><a class="code" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">00127</a> <span class="keyword">virtual</span> <a class="code" href="classVamp_1_1Plugin.html#a42d3096f9c1f58b1876024cd8d9ab80b">~Plugin</a>() { } +<a name="l00128"></a>00128 +<a name="l00141"></a>00141 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> initialise(<span class="keywordtype">size_t</span> inputChannels, +<a name="l00142"></a>00142 <span class="keywordtype">size_t</span> stepSize, +<a name="l00143"></a>00143 <span class="keywordtype">size_t</span> blockSize) = 0; +<a name="l00144"></a>00144 +<a name="l00150"></a>00150 <span class="keyword">virtual</span> <span class="keywordtype">void</span> reset() = 0; +<a name="l00151"></a>00151 +<a name="l00152"></a><a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">00152</a> <span class="keyword">enum</span> <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>, FrequencyDomain }; +<a name="l00153"></a>00153 +<a name="l00169"></a>00169 <span class="keyword">virtual</span> InputDomain getInputDomain() <span class="keyword">const</span> = 0; +<a name="l00170"></a>00170 +<a name="l00179"></a><a class="code" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac">00179</a> <span class="keyword">virtual</span> <span class="keywordtype">size_t</span> <a class="code" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac" title="Get the preferred block size (window size -- the number of sample frames passed in each block to the ...">getPreferredBlockSize</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; } +<a name="l00180"></a>00180 +<a name="l00194"></a><a class="code" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567">00194</a> <span class="keyword">virtual</span> <span class="keywordtype">size_t</span> <a class="code" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567" title="Get the preferred step size (window increment -- the distance in sample frames between the start fram...">getPreferredStepSize</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; } +<a name="l00195"></a>00195 +<a name="l00199"></a><a class="code" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525">00199</a> <span class="keyword">virtual</span> <span class="keywordtype">size_t</span> <a class="code" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525" title="Get the minimum supported number of input channels.">getMinChannelCount</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 1; } +<a name="l00200"></a>00200 +<a name="l00204"></a><a class="code" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e">00204</a> <span class="keyword">virtual</span> <span class="keywordtype">size_t</span> <a class="code" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e" title="Get the maximum supported number of input channels.">getMaxChannelCount</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 1; } +<a name="l00205"></a>00205 +<a name="l00206"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">00206</a> <span class="keyword">struct </span><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> +<a name="l00207"></a>00207 { +<a name="l00214"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b">00214</a> std::string <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae2c893ddb1860589517ab7eaa989a18b" title="The name of the output, in computer-usable form.">identifier</a>; +<a name="l00215"></a>00215 +<a name="l00220"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87">00220</a> std::string <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab824b2b34ee50f897a30901c620e8d87" title="The human-readable name of the output.">name</a>; +<a name="l00221"></a>00221 +<a name="l00227"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1">00227</a> std::string <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af9b4fe8f78e7126ead820ba5dc55efd1" title="A human-readable short text describing the output.">description</a>; +<a name="l00228"></a>00228 +<a name="l00232"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4">00232</a> std::string <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#aa057a8833fa037f06ac9f7b85b85d5e4" title="The unit of the output, in human-readable form.">unit</a>; +<a name="l00233"></a>00233 +<a name="l00239"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d">00239</a> <span class="keywordtype">bool</span> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#af0e577e1a256ff6eed6ea42133fec77d" title="True if the output has the same number of values per sample for every output sample.">hasFixedBinCount</a>; +<a name="l00240"></a>00240 +<a name="l00247"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc">00247</a> <span class="keywordtype">size_t</span> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#afdd006959a995e40ef7d565a3a4df6dc" title="The number of values per result of the output.">binCount</a>; +<a name="l00248"></a>00248 +<a name="l00253"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a31d9b79e2d8241344f551a22fcb5c8c7">00253</a> std::vector<std::string> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a31d9b79e2d8241344f551a22fcb5c8c7" title="The (human-readable) names of each of the bins, if appropriate.">binNames</a>; +<a name="l00254"></a>00254 +<a name="l00260"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae9ccb65f99f477096b65dd031f4c5e31">00260</a> <span class="keywordtype">bool</span> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ae9ccb65f99f477096b65dd031f4c5e31" title="True if the results in each output bin fall within a fixed numeric range (minimum and maximum values)...">hasKnownExtents</a>; +<a name="l00261"></a>00261 +<a name="l00266"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ac9f5924c0be7571bba8e7ae7e7a921f4">00266</a> <span class="keywordtype">float</span> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ac9f5924c0be7571bba8e7ae7e7a921f4" title="Minimum value of the results in the output.">minValue</a>; +<a name="l00267"></a>00267 +<a name="l00272"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a907b4e8fbb48a46ac5a05f880d72719f">00272</a> <span class="keywordtype">float</span> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a907b4e8fbb48a46ac5a05f880d72719f" title="Maximum value of the results in the output.">maxValue</a>; +<a name="l00273"></a>00273 +<a name="l00278"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1b4858928d23bfd7d5bc557c82a83fb4">00278</a> <span class="keywordtype">bool</span> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1b4858928d23bfd7d5bc557c82a83fb4" title="True if the output values are quantized to a particular resolution.">isQuantized</a>; +<a name="l00279"></a>00279 +<a name="l00285"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a3bed37153067b625b95acb40b60dbf0b">00285</a> <span class="keywordtype">float</span> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a3bed37153067b625b95acb40b60dbf0b" title="Quantization resolution of the output values (e.g.">quantizeStep</a>; +<a name="l00286"></a>00286 +<a name="l00287"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448c">00287</a> <span class="keyword">enum</span> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448c">SampleType</a> { +<a name="l00288"></a>00288 +<a name="l00290"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca0459d5d0d2198d21e8bc90abe4fdccca">00290</a> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca0459d5d0d2198d21e8bc90abe4fdccca" title="Results from each process() align with that call's block start.">OneSamplePerStep</a>, +<a name="l00291"></a>00291 +<a name="l00293"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca4c74bd2fc96dfe2815623f94b40e5629">00293</a> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448ca4c74bd2fc96dfe2815623f94b40e5629" title="Results are evenly spaced in time (sampleRate specified below)">FixedSampleRate</a>, +<a name="l00294"></a>00294 +<a name="l00296"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448cadea995a737867f7b22b52f1c43c5432e">00296</a> VariableSampleRate +<a name="l00297"></a>00297 }; +<a name="l00298"></a>00298 +<a name="l00302"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d">00302</a> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#abffa9ed50cd756df70fd51f0355f448c">SampleType</a> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a0d1194980d44e31b25ef3b4b070d6b5d" title="Positioning in time of the output results.">sampleType</a>; +<a name="l00303"></a>00303 +<a name="l00314"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#add0cbbdfa9c91764037c39365b1d42af">00314</a> <span class="keywordtype">float</span> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#add0cbbdfa9c91764037c39365b1d42af" title="Sample rate of the output results, as samples per second.">sampleRate</a>; +<a name="l00315"></a>00315 +<a name="l00320"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab0d7cc6ab19e53b5bd12ee234f549ea3">00320</a> <span class="keywordtype">bool</span> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#ab0d7cc6ab19e53b5bd12ee234f549ea3" title="True if the returned results for this output are known to have a duration field.">hasDuration</a>; +<a name="l00321"></a>00321 +<a name="l00322"></a><a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html#a1ebf91cc3f60e4cbba818c10591cd344">00322</a> <a class="code" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>() : <span class="comment">// defaults for mandatory non-class-type members</span> +<a name="l00323"></a>00323 hasFixedBinCount(false), hasKnownExtents(false), isQuantized(false), +<a name="l00324"></a>00324 sampleType(OneSamplePerStep), hasDuration(false) { } +<a name="l00325"></a>00325 }; +<a name="l00326"></a>00326 +<a name="l00327"></a><a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">00327</a> <span class="keyword">typedef</span> std::vector<OutputDescriptor> <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a>; +<a name="l00328"></a>00328 +<a name="l00334"></a>00334 <span class="keyword">virtual</span> <a class="code" href="classVamp_1_1Plugin.html#a30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> getOutputDescriptors() <span class="keyword">const</span> = 0; +<a name="l00335"></a>00335 +<a name="l00336"></a><a class="code" href="structVamp_1_1Plugin_1_1Feature.html">00336</a> <span class="keyword">struct </span><a class="code" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> +<a name="l00337"></a>00337 { +<a name="l00344"></a><a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b">00344</a> <span class="keywordtype">bool</span> <a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a98907091d0b6a589720ae35ae588a82b" title="True if an output feature has its own timestamp.">hasTimestamp</a>; +<a name="l00345"></a>00345 +<a name="l00352"></a><a class="code" href="structVamp_1_1Plugin_1_1Feature.html#acaa605f36839c07e76f4882f5e22d8d7">00352</a> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> <a class="code" href="structVamp_1_1Plugin_1_1Feature.html#acaa605f36839c07e76f4882f5e22d8d7" title="Timestamp of the output feature.">timestamp</a>; +<a name="l00353"></a>00353 +<a name="l00360"></a><a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a33686757bd4481c72494122e9bfb9fba">00360</a> <span class="keywordtype">bool</span> <a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a33686757bd4481c72494122e9bfb9fba" title="True if an output feature has a specified duration.">hasDuration</a>; +<a name="l00361"></a>00361 +<a name="l00367"></a><a class="code" href="structVamp_1_1Plugin_1_1Feature.html#af687c0a7fe041757e922ec296862b115">00367</a> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> <a class="code" href="structVamp_1_1Plugin_1_1Feature.html#af687c0a7fe041757e922ec296862b115" title="Duration of the output feature.">duration</a>; +<a name="l00368"></a>00368 +<a name="l00374"></a><a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71">00374</a> std::vector<float> <a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a60b9f3057386820dbcaec0eb1189ce71" title="Results for a single sample of this feature.">values</a>; +<a name="l00375"></a>00375 +<a name="l00379"></a><a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a8eb1fb35f73b247ed13de9527c18f036">00379</a> std::string <a class="code" href="structVamp_1_1Plugin_1_1Feature.html#a8eb1fb35f73b247ed13de9527c18f036" title="Label for the sample of this feature.">label</a>; +<a name="l00380"></a>00380 +<a name="l00381"></a><a class="code" href="structVamp_1_1Plugin_1_1Feature.html#acd4b4cd0d2c31512f4a5df50f8f7a7b8">00381</a> <a class="code" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>() : <span class="comment">// defaults for mandatory non-class-type members</span> +<a name="l00382"></a>00382 hasTimestamp(false), hasDuration(false) { } +<a name="l00383"></a>00383 }; +<a name="l00384"></a>00384 +<a name="l00385"></a><a class="code" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">00385</a> <span class="keyword">typedef</span> std::vector<Feature> <a class="code" href="classVamp_1_1Plugin.html#a0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>; +<a name="l00386"></a>00386 +<a name="l00387"></a><a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">00387</a> <span class="keyword">typedef</span> std::map<int, FeatureList> <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>; <span class="comment">// key is output no</span> +<a name="l00388"></a>00388 +<a name="l00416"></a>00416 <span class="keyword">virtual</span> <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> process(<span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, +<a name="l00417"></a>00417 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> timestamp) = 0; +<a name="l00418"></a>00418 +<a name="l00423"></a>00423 <span class="keyword">virtual</span> <a class="code" href="classVamp_1_1Plugin.html#a448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> getRemainingFeatures() = 0; +<a name="l00424"></a>00424 +<a name="l00430"></a><a class="code" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91">00430</a> <span class="keyword">virtual</span> std::string <a class="code" href="classVamp_1_1Plugin.html#abe13b3997a69fbcc09e2213faa352f91" title="Used to distinguish between Vamp::Plugin and other potential sibling subclasses of PluginBase...">getType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">"Feature Extraction Plugin"</span>; } +<a name="l00431"></a>00431 +<a name="l00432"></a>00432 <span class="keyword">protected</span>: +<a name="l00433"></a><a class="code" href="classVamp_1_1Plugin.html#a1b78c4f46c72ef345ed27f0b9bf20ac9">00433</a> <a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a>(<span class="keywordtype">float</span> inputSampleRate) : +<a name="l00434"></a>00434 m_inputSampleRate(inputSampleRate) { } +<a name="l00435"></a>00435 +<a name="l00436"></a><a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">00436</a> <span class="keywordtype">float</span> <a class="code" href="classVamp_1_1Plugin.html#a59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a>; +<a name="l00437"></a>00437 }; +<a name="l00438"></a>00438 +<a name="l00439"></a>00439 } +<a name="l00440"></a>00440 +<a name="l00441"></a>00441 <a class="code" href="plugguard_8h.html#ac879bb1077ecc6132ea3581ef9033753">_VAMP_SDK_PLUGSPACE_END</a>(Plugin.h) +<a name="l00442"></a>00442 +<a name="l00443"></a>00443 <span class="preprocessor">#endif</span> +<a name="l00444"></a>00444 <span class="preprocessor"></span> +<a name="l00445"></a>00445 +<a name="l00446"></a>00446 +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-sdk_2Plugin_8h.html">Plugin.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-sdk_2RealTime_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,110 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: RealTime.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-sdk_2RealTime_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#namespaces">Namespaces</a> | +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">vamp-sdk/RealTime.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="vamp-sdk_2RealTime_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="structVamp_1_1RealTime.html">Vamp::RealTime</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> represents time values to nanosecond precision with accurate arithmetic and frame-rate conversion functions. <a href="structVamp_1_1RealTime.html#details">More...</a><br/></td></tr> +<tr><td colspan="2"><h2><a name="namespaces"></a> +Namespaces</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp.html">Vamp</a></td></tr> +<tr><td colspan="2"><h2><a name="func-members"></a> +Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">std::ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceVamp.html#a85842d554b6abf7bf9ff648b70f39fef">Vamp::operator<<</a> (std::ostream &out, const RealTime &rt)</td></tr> +</table> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-sdk_2RealTime_8h.html">RealTime.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-sdk_2RealTime_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,235 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: RealTime.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-sdk_2RealTime_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-sdk/RealTime.h</div> </div> +</div> +<div class="contents"> +<a href="vamp-sdk_2RealTime_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="comment">/*</span> +<a name="l00038"></a>00038 <span class="comment"> This is a modified version of a source file from the </span> +<a name="l00039"></a>00039 <span class="comment"> Rosegarden MIDI and audio sequencer and notation editor.</span> +<a name="l00040"></a>00040 <span class="comment"> This file copyright 2000-2006 Chris Cannam.</span> +<a name="l00041"></a>00041 <span class="comment"> Relicensed by the author as detailed above.</span> +<a name="l00042"></a>00042 <span class="comment">*/</span> +<a name="l00043"></a>00043 +<a name="l00044"></a>00044 <span class="preprocessor">#ifndef _VAMP_REAL_TIME_H_</span> +<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_REAL_TIME_H_</span> +<a name="l00046"></a>00046 <span class="preprocessor"></span> +<a name="l00047"></a>00047 <span class="preprocessor">#include <iostream></span> +<a name="l00048"></a>00048 <span class="preprocessor">#include <string></span> +<a name="l00049"></a>00049 +<a name="l00050"></a>00050 <span class="preprocessor">#ifndef _WIN32</span> +<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="keyword">struct </span>timeval; +<a name="l00052"></a>00052 <span class="preprocessor">#endif</span> +<a name="l00053"></a>00053 <span class="preprocessor"></span> +<a name="l00054"></a>00054 <span class="preprocessor">#include "<a class="code" href="plugguard_8h.html">plugguard.h</a>"</span> +<a name="l00055"></a>00055 <a class="code" href="plugguard_8h.html#a1a2724ea453971288d3218e4eab3072c">_VAMP_SDK_PLUGSPACE_BEGIN</a>(RealTime.h) +<a name="l00056"></a>00056 +<a name="l00057"></a>00057 namespace Vamp { +<a name="l00058"></a>00058 +<a name="l00066"></a><a class="code" href="structVamp_1_1RealTime.html">00066</a> <span class="keyword">struct </span><a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> +<a name="l00067"></a>00067 { +<a name="l00068"></a><a class="code" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">00068</a> <span class="keywordtype">int</span> <a class="code" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a>; +<a name="l00069"></a><a class="code" href="structVamp_1_1RealTime.html#a2078835bef7bb92514a65b6051cfc6c8">00069</a> <span class="keywordtype">int</span> <a class="code" href="structVamp_1_1RealTime.html#a2078835bef7bb92514a65b6051cfc6c8">nsec</a>; +<a name="l00070"></a>00070 +<a name="l00071"></a><a class="code" href="structVamp_1_1RealTime.html#aace9e2c60af62273e45ccd98d623914c">00071</a> <span class="keywordtype">int</span> <a class="code" href="structVamp_1_1RealTime.html#aace9e2c60af62273e45ccd98d623914c">usec</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> nsec / 1000; } +<a name="l00072"></a><a class="code" href="structVamp_1_1RealTime.html#a76e22815db51ae180c38021110da9947">00072</a> <span class="keywordtype">int</span> <a class="code" href="structVamp_1_1RealTime.html#a76e22815db51ae180c38021110da9947">msec</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> nsec / 1000000; } +<a name="l00073"></a>00073 +<a name="l00074"></a><a class="code" href="structVamp_1_1RealTime.html#ad703be11b7beb07af08ddf133aa2ae79">00074</a> <a class="code" href="structVamp_1_1RealTime.html#ad703be11b7beb07af08ddf133aa2ae79">RealTime</a>(): sec(0), nsec(0) {} +<a name="l00075"></a>00075 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a>(<span class="keywordtype">int</span> s, <span class="keywordtype">int</span> n); +<a name="l00076"></a>00076 +<a name="l00077"></a><a class="code" href="structVamp_1_1RealTime.html#a8f4dbd8ef24a0ec6a77dce67fff5434e">00077</a> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a>(<span class="keyword">const</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> &r) : +<a name="l00078"></a>00078 sec(r.sec), nsec(r.nsec) { } +<a name="l00079"></a>00079 +<a name="l00080"></a>00080 <span class="keyword">static</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> fromSeconds(<span class="keywordtype">double</span> sec); +<a name="l00081"></a>00081 <span class="keyword">static</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> fromMilliseconds(<span class="keywordtype">int</span> msec); +<a name="l00082"></a>00082 +<a name="l00083"></a>00083 <span class="preprocessor">#ifndef _WIN32</span> +<a name="l00084"></a>00084 <span class="preprocessor"></span> <span class="keyword">static</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> fromTimeval(<span class="keyword">const</span> <span class="keyword">struct</span> timeval &); +<a name="l00085"></a>00085 <span class="preprocessor">#endif</span> +<a name="l00086"></a>00086 <span class="preprocessor"></span> +<a name="l00087"></a><a class="code" href="structVamp_1_1RealTime.html#adb82f838804a9a3ad49988de5944d090">00087</a> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> &<a class="code" href="structVamp_1_1RealTime.html#adb82f838804a9a3ad49988de5944d090">operator=</a>(<span class="keyword">const</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> &r) { +<a name="l00088"></a>00088 sec = r.<a class="code" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a>; nsec = r.<a class="code" href="structVamp_1_1RealTime.html#a2078835bef7bb92514a65b6051cfc6c8">nsec</a>; <span class="keywordflow">return</span> *<span class="keyword">this</span>; +<a name="l00089"></a>00089 } +<a name="l00090"></a>00090 +<a name="l00091"></a><a class="code" href="structVamp_1_1RealTime.html#a6b74748d1eb4c3c751e7a12aefae0bde">00091</a> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> <a class="code" href="structVamp_1_1RealTime.html#a6b74748d1eb4c3c751e7a12aefae0bde">operator+</a>(<span class="keyword">const</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> &r)<span class="keyword"> const </span>{ +<a name="l00092"></a>00092 <span class="keywordflow">return</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a>(sec + r.<a class="code" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a>, nsec + r.<a class="code" href="structVamp_1_1RealTime.html#a2078835bef7bb92514a65b6051cfc6c8">nsec</a>); +<a name="l00093"></a>00093 } +<a name="l00094"></a><a class="code" href="structVamp_1_1RealTime.html#af0360b5b0d23a464025a6823912c6291">00094</a> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> <a class="code" href="structVamp_1_1RealTime.html#af0360b5b0d23a464025a6823912c6291">operator-</a>(<span class="keyword">const</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> &r)<span class="keyword"> const </span>{ +<a name="l00095"></a>00095 <span class="keywordflow">return</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a>(sec - r.<a class="code" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a>, nsec - r.<a class="code" href="structVamp_1_1RealTime.html#a2078835bef7bb92514a65b6051cfc6c8">nsec</a>); +<a name="l00096"></a>00096 } +<a name="l00097"></a><a class="code" href="structVamp_1_1RealTime.html#af62915355c482f2e1611a52a7f17f5ed">00097</a> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> <a class="code" href="structVamp_1_1RealTime.html#af62915355c482f2e1611a52a7f17f5ed">operator-</a>()<span class="keyword"> const </span>{ +<a name="l00098"></a>00098 <span class="keywordflow">return</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a>(-sec, -nsec); +<a name="l00099"></a>00099 } +<a name="l00100"></a>00100 +<a name="l00101"></a><a class="code" href="structVamp_1_1RealTime.html#a78e378a5dd0137a6514dca18edda6f9a">00101</a> <span class="keywordtype">bool</span> operator <(<span class="keyword">const</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> &r)<span class="keyword"> const </span>{ +<a name="l00102"></a>00102 <span class="keywordflow">if</span> (sec == r.<a class="code" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a>) <span class="keywordflow">return</span> nsec < r.<a class="code" href="structVamp_1_1RealTime.html#a2078835bef7bb92514a65b6051cfc6c8">nsec</a>; +<a name="l00103"></a>00103 <span class="keywordflow">else</span> <span class="keywordflow">return</span> sec < r.<a class="code" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a>; +<a name="l00104"></a>00104 } +<a name="l00105"></a>00105 +<a name="l00106"></a><a class="code" href="structVamp_1_1RealTime.html#a6f0aced679e2f97133ed63c688b335e4">00106</a> <span class="keywordtype">bool</span> operator >(<span class="keyword">const</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> &r)<span class="keyword"> const </span>{ +<a name="l00107"></a>00107 <span class="keywordflow">if</span> (sec == r.<a class="code" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a>) <span class="keywordflow">return</span> nsec > r.<a class="code" href="structVamp_1_1RealTime.html#a2078835bef7bb92514a65b6051cfc6c8">nsec</a>; +<a name="l00108"></a>00108 <span class="keywordflow">else</span> <span class="keywordflow">return</span> sec > r.<a class="code" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a>; +<a name="l00109"></a>00109 } +<a name="l00110"></a>00110 +<a name="l00111"></a><a class="code" href="structVamp_1_1RealTime.html#abc5f06b5b9973012cb7453192df3ea5e">00111</a> <span class="keywordtype">bool</span> <a class="code" href="structVamp_1_1RealTime.html#abc5f06b5b9973012cb7453192df3ea5e">operator==</a>(<span class="keyword">const</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> &r)<span class="keyword"> const </span>{ +<a name="l00112"></a>00112 <span class="keywordflow">return</span> (sec == r.<a class="code" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a> && nsec == r.<a class="code" href="structVamp_1_1RealTime.html#a2078835bef7bb92514a65b6051cfc6c8">nsec</a>); +<a name="l00113"></a>00113 } +<a name="l00114"></a>00114 +<a name="l00115"></a><a class="code" href="structVamp_1_1RealTime.html#ae9b0ea7c217163d5327b1a2a0662a90b">00115</a> <span class="keywordtype">bool</span> <a class="code" href="structVamp_1_1RealTime.html#ae9b0ea7c217163d5327b1a2a0662a90b">operator!=</a>(<span class="keyword">const</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> &r)<span class="keyword"> const </span>{ +<a name="l00116"></a>00116 <span class="keywordflow">return</span> !(r == *<span class="keyword">this</span>); +<a name="l00117"></a>00117 } +<a name="l00118"></a>00118 +<a name="l00119"></a><a class="code" href="structVamp_1_1RealTime.html#a5cb785a410e3a91ed3092b7bba22afc3">00119</a> <span class="keywordtype">bool</span> <a class="code" href="structVamp_1_1RealTime.html#a5cb785a410e3a91ed3092b7bba22afc3">operator>=</a>(<span class="keyword">const</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> &r)<span class="keyword"> const </span>{ +<a name="l00120"></a>00120 <span class="keywordflow">if</span> (sec == r.<a class="code" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a>) <span class="keywordflow">return</span> nsec >= r.<a class="code" href="structVamp_1_1RealTime.html#a2078835bef7bb92514a65b6051cfc6c8">nsec</a>; +<a name="l00121"></a>00121 <span class="keywordflow">else</span> <span class="keywordflow">return</span> sec >= r.<a class="code" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a>; +<a name="l00122"></a>00122 } +<a name="l00123"></a>00123 +<a name="l00124"></a><a class="code" href="structVamp_1_1RealTime.html#acf4278eec678c558d62bbda6bc1da44e">00124</a> <span class="keywordtype">bool</span> <a class="code" href="structVamp_1_1RealTime.html#acf4278eec678c558d62bbda6bc1da44e">operator<=</a>(<span class="keyword">const</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> &r)<span class="keyword"> const </span>{ +<a name="l00125"></a>00125 <span class="keywordflow">if</span> (sec == r.<a class="code" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a>) <span class="keywordflow">return</span> nsec <= r.<a class="code" href="structVamp_1_1RealTime.html#a2078835bef7bb92514a65b6051cfc6c8">nsec</a>; +<a name="l00126"></a>00126 <span class="keywordflow">else</span> <span class="keywordflow">return</span> sec <= r.<a class="code" href="structVamp_1_1RealTime.html#ab4d81983384a9f57ce064e6c343f2267">sec</a>; +<a name="l00127"></a>00127 } +<a name="l00128"></a>00128 +<a name="l00129"></a>00129 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> operator/(<span class="keywordtype">int</span> d) <span class="keyword">const</span>; +<a name="l00130"></a>00130 +<a name="l00134"></a>00134 <span class="keywordtype">double</span> operator/(<span class="keyword">const</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> &r) <span class="keyword">const</span>; +<a name="l00135"></a>00135 +<a name="l00140"></a>00140 std::string toString() <span class="keyword">const</span>; +<a name="l00141"></a>00141 +<a name="l00146"></a>00146 std::string toText(<span class="keywordtype">bool</span> fixedDp = <span class="keyword">false</span>) <span class="keyword">const</span>; +<a name="l00147"></a>00147 +<a name="l00151"></a>00151 <span class="keyword">static</span> <span class="keywordtype">long</span> realTime2Frame(<span class="keyword">const</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> &r, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sampleRate); +<a name="l00152"></a>00152 +<a name="l00156"></a>00156 <span class="keyword">static</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> frame2RealTime(<span class="keywordtype">long</span> frame, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> sampleRate); +<a name="l00157"></a>00157 +<a name="l00158"></a><a class="code" href="structVamp_1_1RealTime.html#abe453371597710148b0fd19bb452f8a9">00158</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> <a class="code" href="structVamp_1_1RealTime.html#abe453371597710148b0fd19bb452f8a9">zeroTime</a>; +<a name="l00159"></a>00159 }; +<a name="l00160"></a>00160 +<a name="l00161"></a>00161 std::ostream &<a class="code" href="namespaceVamp.html#a85842d554b6abf7bf9ff648b70f39fef">operator<<</a>(std::ostream &out, <span class="keyword">const</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> &rt); +<a name="l00162"></a>00162 +<a name="l00163"></a>00163 } +<a name="l00164"></a>00164 +<a name="l00165"></a>00165 <a class="code" href="plugguard_8h.html#ac879bb1077ecc6132ea3581ef9033753">_VAMP_SDK_PLUGSPACE_END</a>(RealTime.h) +<a name="l00166"></a>00166 +<a name="l00167"></a>00167 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-sdk_2RealTime_8h.html">RealTime.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:48 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-sdk_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,94 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: vamp-sdk.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-sdk_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-sdk.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="vamp-sdk_8h_source.html">Go to the source code of this file.</a></p> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-sdk_8h.html">vamp-sdk.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-sdk_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,138 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: vamp-sdk.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-sdk_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-sdk.h</div> </div> +</div> +<div class="contents"> +<a href="vamp-sdk_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef _VAMP_SDK_SINGLE_INCLUDE_H_</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define _VAMP_SDK_SINGLE_INCLUDE_H_</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#include "PluginBase.h"</span> +<a name="l00041"></a>00041 <span class="preprocessor">#include "Plugin.h"</span> +<a name="l00042"></a>00042 <span class="preprocessor">#include "RealTime.h"</span> +<a name="l00043"></a>00043 +<a name="l00044"></a>00044 <span class="preprocessor">#endif</span> +<a name="l00045"></a>00045 <span class="preprocessor"></span> +<a name="l00046"></a>00046 +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-sdk_8h.html">vamp-sdk.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-simple-host_8cpp.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,542 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: vamp-simple-host.cpp File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-simple-host_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#define-members">Defines</a> | +<a href="#enum-members">Enumerations</a> | +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">vamp-simple-host.cpp File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="vamp-simple-host_8cpp_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="define-members"></a> +Defines</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-simple-host_8cpp.html#aa8bc193818940a8954ef0e0e5a8e16d6">HOST_VERSION</a>   "1.4"</td></tr> +<tr><td colspan="2"><h2><a name="enum-members"></a> +Enumerations</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313">Verbosity</a> { <a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a4cf6a0dfdb6864356feab9d9ca230d16">PluginIds</a>, +<a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a30eab122efa9537df4ecb2fc27fc354e">PluginOutputIds</a>, +<a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a8acba147ed4716f3baa8546f6dc055a1">PluginInformation</a>, +<a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a2624ce417628b6d40ce0973ba381c1e6">PluginInformationDetailed</a> + }</td></tr> +<tr><td colspan="2"><h2><a name="func-members"></a> +Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-simple-host_8cpp.html#a81f8bc89ed9194159bfb1f2b4d7a7ac4">printFeatures</a> (int, int, int, Plugin::FeatureSet, ofstream *, bool frames)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-simple-host_8cpp.html#ae610372882497afdeaf180a7e53eb00b">transformInput</a> (float *, size_t)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-simple-host_8cpp.html#ab40a86a032d0cf473d15fed3616ccc57">fft</a> (unsigned int, bool, double *, double *, double *, double *)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-simple-host_8cpp.html#a4767f8c142ee0b61ba414df1b0376a01">printPluginPath</a> (bool verbose)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-simple-host_8cpp.html#af771864c41f23e5755ed99e8ac6609a5">printPluginCategoryList</a> ()</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-simple-host_8cpp.html#a80dad9e80d85fdf86b7714bf1b3c1017">enumeratePlugins</a> (<a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313">Verbosity</a>)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-simple-host_8cpp.html#a4d02c3d9ebe7bedb3a4c3a116479e334">listPluginsInLibrary</a> (string soname)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-simple-host_8cpp.html#a54e0185f4b6ff507cb42c29a04f76397">runPlugin</a> (string myname, string soname, string id, string output, int outputNo, string inputFile, string outfilename, bool frames)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-simple-host_8cpp.html#a7cac13da282785878351e0a820104851">usage</a> (const char *name)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-simple-host_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a> (int argc, char **argv)</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">static string </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp-simple-host_8cpp.html#a713775f2037987c0851ff3672339a82c">header</a> (string text, int level)</td></tr> +</table> +<hr/><h2>Define Documentation</h2> +<a class="anchor" id="aa8bc193818940a8954ef0e0e5a8e16d6"></a><!-- doxytag: member="vamp-simple-host.cpp::HOST_VERSION" ref="aa8bc193818940a8954ef0e0e5a8e16d6" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define HOST_VERSION   "1.4"</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-simple-host_8cpp_source.html#l00074">74</a> of file <a class="el" href="vamp-simple-host_8cpp_source.html">vamp-simple-host.cpp</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00137">main()</a>.</p> + +</div> +</div> +<hr/><h2>Enumeration Type Documentation</h2> +<a class="anchor" id="abf3be10d03894afb391f3a2935e3b313"></a><!-- doxytag: member="vamp-simple-host.cpp::Verbosity" ref="abf3be10d03894afb391f3a2935e3b313" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313">Verbosity</a></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="abf3be10d03894afb391f3a2935e3b313a4cf6a0dfdb6864356feab9d9ca230d16"></a><!-- doxytag: member="PluginIds" ref="abf3be10d03894afb391f3a2935e3b313a4cf6a0dfdb6864356feab9d9ca230d16" args="" -->PluginIds</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="abf3be10d03894afb391f3a2935e3b313a30eab122efa9537df4ecb2fc27fc354e"></a><!-- doxytag: member="PluginOutputIds" ref="abf3be10d03894afb391f3a2935e3b313a30eab122efa9537df4ecb2fc27fc354e" args="" -->PluginOutputIds</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="abf3be10d03894afb391f3a2935e3b313a8acba147ed4716f3baa8546f6dc055a1"></a><!-- doxytag: member="PluginInformation" ref="abf3be10d03894afb391f3a2935e3b313a8acba147ed4716f3baa8546f6dc055a1" args="" -->PluginInformation</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="abf3be10d03894afb391f3a2935e3b313a2624ce417628b6d40ce0973ba381c1e6"></a><!-- doxytag: member="PluginInformationDetailed" ref="abf3be10d03894afb391f3a2935e3b313a2624ce417628b6d40ce0973ba381c1e6" args="" -->PluginInformationDetailed</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<p>Definition at line <a class="el" href="vamp-simple-host_8cpp_source.html#l00076">76</a> of file <a class="el" href="vamp-simple-host_8cpp_source.html">vamp-simple-host.cpp</a>.</p> + +</div> +</div> +<hr/><h2>Function Documentation</h2> +<a class="anchor" id="a81f8bc89ed9194159bfb1f2b4d7a7ac4"></a><!-- doxytag: member="vamp-simple-host.cpp::printFeatures" ref="a81f8bc89ed9194159bfb1f2b4d7a7ac4" args="(int, int, int, Plugin::FeatureSet, ofstream *, bool frames)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void printFeatures </td> + <td>(</td> + <td class="paramtype">int </td> + <td class="paramname"><em>frame</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>sr</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>output</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">Plugin::FeatureSet </td> + <td class="paramname"><em>features</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">ofstream * </td> + <td class="paramname"><em>out</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">bool </td> + <td class="paramname"><em>frames</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-simple-host_8cpp_source.html#l00495">495</a> of file <a class="el" href="vamp-simple-host_8cpp_source.html">vamp-simple-host.cpp</a>.</p> + +<p>References <a class="el" href="structVamp_1_1RealTime.html#ad44476618183bd736996a87292d03c07">Vamp::RealTime::toString()</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>.</p> + +</div> +</div> +<a class="anchor" id="ae610372882497afdeaf180a7e53eb00b"></a><!-- doxytag: member="vamp-simple-host.cpp::transformInput" ref="ae610372882497afdeaf180a7e53eb00b" args="(float *, size_t)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void transformInput </td> + <td>(</td> + <td class="paramtype">float * </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="ab40a86a032d0cf473d15fed3616ccc57"></a><!-- doxytag: member="vamp-simple-host.cpp::fft" ref="ab40a86a032d0cf473d15fed3616ccc57" args="(unsigned int, bool, double *, double *, double *, double *)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void fft </td> + <td>(</td> + <td class="paramtype">unsigned </td> + <td class="paramname"><em>int</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">bool </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">double * </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">double * </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">double * </td> + <td class="paramname">, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">double * </td> + <td class="paramname"> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="a4767f8c142ee0b61ba414df1b0376a01"></a><!-- doxytag: member="vamp-simple-host.cpp::printPluginPath" ref="a4767f8c142ee0b61ba414df1b0376a01" args="(bool verbose)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void printPluginPath </td> + <td>(</td> + <td class="paramtype">bool </td> + <td class="paramname"><em>verbose</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-simple-host_8cpp_source.html#l00547">547</a> of file <a class="el" href="vamp-simple-host_8cpp_source.html">vamp-simple-host.cpp</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00137">main()</a>.</p> + +</div> +</div> +<a class="anchor" id="af771864c41f23e5755ed99e8ac6609a5"></a><!-- doxytag: member="vamp-simple-host.cpp::printPluginCategoryList" ref="af771864c41f23e5755ed99e8ac6609a5" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void printPluginCategoryList </td> + <td>(</td> + <td class="paramname"></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-simple-host_8cpp_source.html#l00797">797</a> of file <a class="el" href="vamp-simple-host_8cpp_source.html">vamp-simple-host.cpp</a>.</p> + +<p>References <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase::getDescription()</a>, <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase::getMaker()</a>, <a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase::getName()</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a52746ea66339ad981b868a031a3b382d">Vamp::HostExt::PluginLoader::getPluginCategory()</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff51b52bb68aa2934ccf26ad1d284f28">Vamp::HostExt::PluginLoader::listPlugins()</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f">Vamp::HostExt::PluginLoader::loadPlugin()</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00137">main()</a>.</p> + +</div> +</div> +<a class="anchor" id="a80dad9e80d85fdf86b7714bf1b3c1017"></a><!-- doxytag: member="vamp-simple-host.cpp::enumeratePlugins" ref="a80dad9e80d85fdf86b7714bf1b3c1017" args="(Verbosity)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void enumeratePlugins </td> + <td>(</td> + <td class="paramtype"><a class="el" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313">Verbosity</a> </td> + <td class="paramname"><em>verbosity</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">578</a> of file <a class="el" href="vamp-simple-host_8cpp_source.html">vamp-simple-host.cpp</a>.</p> + +<p>References <a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase::getCopyright()</a>, <a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase::getDescription()</a>, <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase::getIdentifier()</a>, <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin::getInputDomain()</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a4bbcb7873e617bbc9f79eade1f90f7ad">Vamp::HostExt::PluginLoader::getLibraryPathForPlugin()</a>, <a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase::getMaker()</a>, <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="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">Vamp::PluginBase::getName()</a>, <a class="el" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin::getOutputDescriptors()</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00208">Vamp::PluginBase::getParameterDescriptors()</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a52746ea66339ad981b868a031a3b382d">Vamp::HostExt::PluginLoader::getPluginCategory()</a>, <a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase::getPluginVersion()</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00179">Vamp::Plugin::getPreferredBlockSize()</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00194">Vamp::Plugin::getPreferredStepSize()</a>, <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00072">Vamp::PluginBase::getVampApiVersion()</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00567">header()</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff51b52bb68aa2934ccf26ad1d284f28">Vamp::HostExt::PluginLoader::listPlugins()</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f">Vamp::HostExt::PluginLoader::loadPlugin()</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00077">PluginIds</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00079">PluginInformation</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00080">PluginInformationDetailed</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00078">PluginOutputIds</a>, and <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00152">Vamp::Plugin::TimeDomain</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00137">main()</a>.</p> + +</div> +</div> +<a class="anchor" id="a4d02c3d9ebe7bedb3a4c3a116479e334"></a><!-- doxytag: member="vamp-simple-host.cpp::listPluginsInLibrary" ref="a4d02c3d9ebe7bedb3a4c3a116479e334" args="(string soname)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void listPluginsInLibrary </td> + <td>(</td> + <td class="paramtype">string </td> + <td class="paramname"><em>soname</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="a54e0185f4b6ff507cb42c29a04f76397"></a><!-- doxytag: member="vamp-simple-host.cpp::runPlugin" ref="a54e0185f4b6ff507cb42c29a04f76397" args="(string myname, string soname, string id, string output, int outputNo, string inputFile, string outfilename, bool frames)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int runPlugin </td> + <td>(</td> + <td class="paramtype">string </td> + <td class="paramname"><em>myname</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">string </td> + <td class="paramname"><em>soname</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">string </td> + <td class="paramname"><em>id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">string </td> + <td class="paramname"><em>output</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>outputNo</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">string </td> + <td class="paramname"><em>inputFile</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">string </td> + <td class="paramname"><em>outfilename</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">bool </td> + <td class="paramname"><em>frames</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">265</a> of file <a class="el" href="vamp-simple-host_8cpp_source.html">vamp-simple-host.cpp</a>.</p> + +<p>References <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#acc6865d27825c100d7b6f9ed6ecf5207">Vamp::HostExt::PluginLoader::composePluginKey()</a>, <a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase::getIdentifier()</a>, <a class="el" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin::getInputDomain()</a>, <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="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin::getOutputDescriptors()</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00179">Vamp::Plugin::getPreferredBlockSize()</a>, <a class="el" href="vamp-sdk_2Plugin_8h_source.html#l00194">Vamp::Plugin::getPreferredStepSize()</a>, <a class="el" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6">Vamp::Plugin::getRemainingFeatures()</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ac1ab6af0fcda0a4c3f050c54b2db4769">Vamp::HostExt::PluginInputDomainAdapter::getTimestampAdjustment()</a>, <a class="el" href="PluginWrapper_8h_source.html#l00116">Vamp::HostExt::PluginWrapper::getWrapper()</a>, <a class="el" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822">Vamp::Plugin::initialise()</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f">Vamp::HostExt::PluginLoader::loadPlugin()</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00495">printFeatures()</a>, and <a class="el" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996">Vamp::Plugin::process()</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00137">main()</a>.</p> + +</div> +</div> +<a class="anchor" id="a7cac13da282785878351e0a820104851"></a><!-- doxytag: member="vamp-simple-host.cpp::usage" ref="a7cac13da282785878351e0a820104851" args="(const char *name)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void usage </td> + <td>(</td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>name</em></td><td>)</td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-simple-host_8cpp_source.html#l00093">93</a> of file <a class="el" href="vamp-simple-host_8cpp_source.html">vamp-simple-host.cpp</a>.</p> + +<p>References <a class="el" href="system_8h_source.html#l00067">PLUGIN_SUFFIX</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00137">main()</a>.</p> + +</div> +</div> +<a class="anchor" id="a3c04138a5bfe5d72780bb7e82a18e627"></a><!-- doxytag: member="vamp-simple-host.cpp::main" ref="a3c04138a5bfe5d72780bb7e82a18e627" args="(int argc, char **argv)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int main </td> + <td>(</td> + <td class="paramtype">int </td> + <td class="paramname"><em>argc</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">char ** </td> + <td class="paramname"><em>argv</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-simple-host_8cpp_source.html#l00137">137</a> of file <a class="el" href="vamp-simple-host_8cpp_source.html">vamp-simple-host.cpp</a>.</p> + +<p>References <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00074">HOST_VERSION</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00077">PluginIds</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00079">PluginInformation</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00080">PluginInformationDetailed</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00078">PluginOutputIds</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00797">printPluginCategoryList()</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00547">printPluginPath()</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00265">runPlugin()</a>, <a class="el" href="vamp-simple-host_8cpp_source.html#l00093">usage()</a>, <a class="el" href="vamp_8h_source.html#l00053">VAMP_API_VERSION</a>, and <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00043">VAMP_SDK_VERSION</a>.</p> + +</div> +</div> +<a class="anchor" id="a713775f2037987c0851ff3672339a82c"></a><!-- doxytag: member="vamp-simple-host.cpp::header" ref="a713775f2037987c0851ff3672339a82c" args="(string text, int level)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">static string header </td> + <td>(</td> + <td class="paramtype">string </td> + <td class="paramname"><em>text</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>level</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td><code> [static]</code></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp-simple-host_8cpp_source.html#l00567">567</a> of file <a class="el" href="vamp-simple-host_8cpp_source.html">vamp-simple-host.cpp</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00578">enumeratePlugins()</a>.</p> + +</div> +</div> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-simple-host_8cpp.html">vamp-simple-host.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp-simple-host_8cpp_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,924 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: vamp-simple-host.cpp Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp-simple-host_8cpp.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp-simple-host.cpp</div> </div> +</div> +<div class="contents"> +<a href="vamp-simple-host_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam, copyright 2007-2008 QMUL.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 +<a name="l00038"></a>00038 <span class="comment">/*</span> +<a name="l00039"></a>00039 <span class="comment"> * This "simple" Vamp plugin host is no longer as simple as it was; it</span> +<a name="l00040"></a>00040 <span class="comment"> * now has a lot of options and includes a lot of code to handle the</span> +<a name="l00041"></a>00041 <span class="comment"> * various useful listing modes it supports.</span> +<a name="l00042"></a>00042 <span class="comment"> *</span> +<a name="l00043"></a>00043 <span class="comment"> * However, the runPlugin function still contains a reasonable</span> +<a name="l00044"></a>00044 <span class="comment"> * implementation of a fairly generic Vamp plugin host capable of</span> +<a name="l00045"></a>00045 <span class="comment"> * evaluating a given output on a given plugin for a sound file read</span> +<a name="l00046"></a>00046 <span class="comment"> * via libsndfile.</span> +<a name="l00047"></a>00047 <span class="comment"> */</span> +<a name="l00048"></a>00048 +<a name="l00049"></a>00049 <span class="preprocessor">#include <<a class="code" href="PluginHostAdapter_8h.html">vamp-hostsdk/PluginHostAdapter.h</a>></span> +<a name="l00050"></a>00050 <span class="preprocessor">#include <<a class="code" href="PluginInputDomainAdapter_8h.html">vamp-hostsdk/PluginInputDomainAdapter.h</a>></span> +<a name="l00051"></a>00051 <span class="preprocessor">#include <<a class="code" href="PluginLoader_8h.html">vamp-hostsdk/PluginLoader.h</a>></span> +<a name="l00052"></a>00052 +<a name="l00053"></a>00053 <span class="preprocessor">#include <iostream></span> +<a name="l00054"></a>00054 <span class="preprocessor">#include <fstream></span> +<a name="l00055"></a>00055 <span class="preprocessor">#include <set></span> +<a name="l00056"></a>00056 <span class="preprocessor">#include <sndfile.h></span> +<a name="l00057"></a>00057 +<a name="l00058"></a>00058 <span class="preprocessor">#include <cstring></span> +<a name="l00059"></a>00059 <span class="preprocessor">#include <cstdlib></span> +<a name="l00060"></a>00060 +<a name="l00061"></a>00061 <span class="preprocessor">#include "<a class="code" href="system_8h.html">system.h</a>"</span> +<a name="l00062"></a>00062 +<a name="l00063"></a>00063 <span class="preprocessor">#include <cmath></span> +<a name="l00064"></a>00064 +<a name="l00065"></a>00065 <span class="keyword">using namespace </span>std; +<a name="l00066"></a>00066 +<a name="l00067"></a>00067 <span class="keyword">using</span> <a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a>; +<a name="l00068"></a>00068 <span class="keyword">using</span> <a class="code" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C-language VampPluginDescri...">Vamp::PluginHostAdapter</a>; +<a name="l00069"></a>00069 <span class="keyword">using</span> <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">Vamp::RealTime</a>; +<a name="l00070"></a>00070 <span class="keyword">using</span> <a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">Vamp::HostExt::PluginLoader</a>; +<a name="l00071"></a>00071 <span class="keyword">using</span> <a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">Vamp::HostExt::PluginWrapper</a>; +<a name="l00072"></a>00072 <span class="keyword">using</span> <a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">Vamp::HostExt::PluginInputDomainAdapter</a>; +<a name="l00073"></a>00073 +<a name="l00074"></a><a class="code" href="vamp-simple-host_8cpp.html#aa8bc193818940a8954ef0e0e5a8e16d6">00074</a> <span class="preprocessor">#define HOST_VERSION "1.4"</span> +<a name="l00075"></a>00075 <span class="preprocessor"></span> +<a name="l00076"></a><a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313">00076</a> <span class="keyword">enum</span> <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313">Verbosity</a> { +<a name="l00077"></a><a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a4cf6a0dfdb6864356feab9d9ca230d16">00077</a> <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a4cf6a0dfdb6864356feab9d9ca230d16">PluginIds</a>, +<a name="l00078"></a><a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a30eab122efa9537df4ecb2fc27fc354e">00078</a> <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a30eab122efa9537df4ecb2fc27fc354e">PluginOutputIds</a>, +<a name="l00079"></a><a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a8acba147ed4716f3baa8546f6dc055a1">00079</a> <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a8acba147ed4716f3baa8546f6dc055a1">PluginInformation</a>, +<a name="l00080"></a><a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a2624ce417628b6d40ce0973ba381c1e6">00080</a> <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a2624ce417628b6d40ce0973ba381c1e6">PluginInformationDetailed</a> +<a name="l00081"></a>00081 }; +<a name="l00082"></a>00082 +<a name="l00083"></a>00083 <span class="keywordtype">void</span> <a class="code" href="vamp-simple-host_8cpp.html#a81f8bc89ed9194159bfb1f2b4d7a7ac4">printFeatures</a>(<span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, Plugin::FeatureSet, ofstream *, <span class="keywordtype">bool</span> frames); +<a name="l00084"></a>00084 <span class="keywordtype">void</span> <a class="code" href="vamp-simple-host_8cpp.html#ae610372882497afdeaf180a7e53eb00b">transformInput</a>(<span class="keywordtype">float</span> *, <span class="keywordtype">size_t</span>); +<a name="l00085"></a>00085 <span class="keywordtype">void</span> <a class="code" href="vamp-simple-host_8cpp.html#ab40a86a032d0cf473d15fed3616ccc57">fft</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, <span class="keywordtype">bool</span>, <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *, <span class="keywordtype">double</span> *); +<a name="l00086"></a>00086 <span class="keywordtype">void</span> <a class="code" href="vamp-simple-host_8cpp.html#a4767f8c142ee0b61ba414df1b0376a01">printPluginPath</a>(<span class="keywordtype">bool</span> verbose); +<a name="l00087"></a>00087 <span class="keywordtype">void</span> <a class="code" href="vamp-simple-host_8cpp.html#af771864c41f23e5755ed99e8ac6609a5">printPluginCategoryList</a>(); +<a name="l00088"></a>00088 <span class="keywordtype">void</span> <a class="code" href="vamp-simple-host_8cpp.html#a80dad9e80d85fdf86b7714bf1b3c1017">enumeratePlugins</a>(<a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313">Verbosity</a>); +<a name="l00089"></a>00089 <span class="keywordtype">void</span> <a class="code" href="vamp-simple-host_8cpp.html#a4d02c3d9ebe7bedb3a4c3a116479e334">listPluginsInLibrary</a>(<span class="keywordtype">string</span> soname); +<a name="l00090"></a>00090 <span class="keywordtype">int</span> <a class="code" href="vamp-simple-host_8cpp.html#a54e0185f4b6ff507cb42c29a04f76397">runPlugin</a>(<span class="keywordtype">string</span> myname, <span class="keywordtype">string</span> soname, <span class="keywordtype">string</span> <span class="keywordtype">id</span>, <span class="keywordtype">string</span> output, +<a name="l00091"></a>00091 <span class="keywordtype">int</span> outputNo, <span class="keywordtype">string</span> inputFile, <span class="keywordtype">string</span> outfilename, <span class="keywordtype">bool</span> frames); +<a name="l00092"></a>00092 +<a name="l00093"></a><a class="code" href="vamp-simple-host_8cpp.html#a7cac13da282785878351e0a820104851">00093</a> <span class="keywordtype">void</span> <a class="code" href="vamp-simple-host_8cpp.html#a7cac13da282785878351e0a820104851">usage</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name) +<a name="l00094"></a>00094 { +<a name="l00095"></a>00095 cerr << <span class="stringliteral">"\n"</span> +<a name="l00096"></a>00096 << name << <span class="stringliteral">": A command-line host for Vamp audio analysis plugins.\n\n"</span> +<a name="l00097"></a>00097 <span class="stringliteral">"Centre for Digital Music, Queen Mary, University of London.\n"</span> +<a name="l00098"></a>00098 <span class="stringliteral">"Copyright 2006-2009 Chris Cannam and QMUL.\n"</span> +<a name="l00099"></a>00099 <span class="stringliteral">"Freely redistributable; published under a BSD-style license.\n\n"</span> +<a name="l00100"></a>00100 <span class="stringliteral">"Usage:\n\n"</span> +<a name="l00101"></a>00101 <span class="stringliteral">" "</span> << name << <span class="stringliteral">" [-s] pluginlibrary[."</span> << <a class="code" href="system_8h.html#a1efbc9bb9a9f2837d3f7386af8607abf">PLUGIN_SUFFIX</a> << <span class="stringliteral">"]:plugin[:output] file.wav [-o out.txt]\n"</span> +<a name="l00102"></a>00102 <span class="stringliteral">" "</span> << name << <span class="stringliteral">" [-s] pluginlibrary[."</span> << <a class="code" href="system_8h.html#a1efbc9bb9a9f2837d3f7386af8607abf">PLUGIN_SUFFIX</a> << <span class="stringliteral">"]:plugin file.wav [outputno] [-o out.txt]\n\n"</span> +<a name="l00103"></a>00103 <span class="stringliteral">" -- Load plugin id \"plugin\" from \"pluginlibrary\" and run it on the\n"</span> +<a name="l00104"></a>00104 <span class="stringliteral">" audio data in \"file.wav\", retrieving the named \"output\", or output\n"</span> +<a name="l00105"></a>00105 <span class="stringliteral">" number \"outputno\" (the first output by default) and dumping it to\n"</span> +<a name="l00106"></a>00106 <span class="stringliteral">" standard output, or to \"out.txt\" if the -o option is given.\n\n"</span> +<a name="l00107"></a>00107 <span class="stringliteral">" \"pluginlibrary\" should be a library name, not a file path; the\n"</span> +<a name="l00108"></a>00108 <span class="stringliteral">" standard Vamp library search path will be used to locate it. If\n"</span> +<a name="l00109"></a>00109 <span class="stringliteral">" a file path is supplied, the directory part(s) will be ignored.\n\n"</span> +<a name="l00110"></a>00110 <span class="stringliteral">" If the -s option is given, results will be labelled with the audio\n"</span> +<a name="l00111"></a>00111 <span class="stringliteral">" sample frame at which they occur. Otherwise, they will be labelled\n"</span> +<a name="l00112"></a>00112 <span class="stringliteral">" with time in seconds.\n\n"</span> +<a name="l00113"></a>00113 <span class="stringliteral">" "</span> << name << <span class="stringliteral">" -l\n"</span> +<a name="l00114"></a>00114 <span class="stringliteral">" "</span> << name << <span class="stringliteral">" --list\n\n"</span> +<a name="l00115"></a>00115 <span class="stringliteral">" -- List the plugin libraries and Vamp plugins in the library search path\n"</span> +<a name="l00116"></a>00116 <span class="stringliteral">" in a verbose human-readable format.\n\n"</span> +<a name="l00117"></a>00117 <span class="stringliteral">" "</span> << name << <span class="stringliteral">" --list-full\n\n"</span> +<a name="l00118"></a>00118 <span class="stringliteral">" -- List all data reported by all the Vamp plugins in the library search\n"</span> +<a name="l00119"></a>00119 <span class="stringliteral">" path in a very verbose human-readable format.\n\n"</span> +<a name="l00120"></a>00120 <span class="stringliteral">" "</span> << name << <span class="stringliteral">" --list-ids\n\n"</span> +<a name="l00121"></a>00121 <span class="stringliteral">" -- List the plugins in the search path in a terse machine-readable format,\n"</span> +<a name="l00122"></a>00122 <span class="stringliteral">" in the form vamp:soname:identifier.\n\n"</span> +<a name="l00123"></a>00123 <span class="stringliteral">" "</span> << name << <span class="stringliteral">" --list-outputs\n\n"</span> +<a name="l00124"></a>00124 <span class="stringliteral">" -- List the outputs for plugins in the search path in a machine-readable\n"</span> +<a name="l00125"></a>00125 <span class="stringliteral">" format, in the form vamp:soname:identifier:output.\n\n"</span> +<a name="l00126"></a>00126 <span class="stringliteral">" "</span> << name << <span class="stringliteral">" --list-by-category\n\n"</span> +<a name="l00127"></a>00127 <span class="stringliteral">" -- List the plugins as a plugin index by category, in a machine-readable\n"</span> +<a name="l00128"></a>00128 <span class="stringliteral">" format. The format may change in future releases.\n\n"</span> +<a name="l00129"></a>00129 <span class="stringliteral">" "</span> << name << <span class="stringliteral">" -p\n\n"</span> +<a name="l00130"></a>00130 <span class="stringliteral">" -- Print out the Vamp library search path.\n\n"</span> +<a name="l00131"></a>00131 <span class="stringliteral">" "</span> << name << <span class="stringliteral">" -v\n\n"</span> +<a name="l00132"></a>00132 <span class="stringliteral">" -- Display version information only.\n"</span> +<a name="l00133"></a>00133 << endl; +<a name="l00134"></a>00134 exit(2); +<a name="l00135"></a>00135 } +<a name="l00136"></a>00136 +<a name="l00137"></a><a class="code" href="vamp-simple-host_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">00137</a> <span class="keywordtype">int</span> <a class="code" href="vamp-simple-host_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv) +<a name="l00138"></a>00138 { +<a name="l00139"></a>00139 <span class="keywordtype">char</span> *scooter = argv[0]; +<a name="l00140"></a>00140 <span class="keywordtype">char</span> *name = 0; +<a name="l00141"></a>00141 <span class="keywordflow">while</span> (scooter && *scooter) { +<a name="l00142"></a>00142 <span class="keywordflow">if</span> (*scooter == <span class="charliteral">'/'</span> || *scooter == <span class="charliteral">'\\'</span>) name = ++scooter; +<a name="l00143"></a>00143 <span class="keywordflow">else</span> ++scooter; +<a name="l00144"></a>00144 } +<a name="l00145"></a>00145 <span class="keywordflow">if</span> (!name || !*name) name = argv[0]; +<a name="l00146"></a>00146 +<a name="l00147"></a>00147 <span class="keywordflow">if</span> (argc < 2) <a class="code" href="vamp-simple-host_8cpp.html#a7cac13da282785878351e0a820104851">usage</a>(name); +<a name="l00148"></a>00148 +<a name="l00149"></a>00149 <span class="keywordflow">if</span> (argc == 2) { +<a name="l00150"></a>00150 +<a name="l00151"></a>00151 <span class="keywordflow">if</span> (!strcmp(argv[1], <span class="stringliteral">"-v"</span>)) { +<a name="l00152"></a>00152 +<a name="l00153"></a>00153 cout << <span class="stringliteral">"Simple Vamp plugin host version: "</span> << <a class="code" href="vamp-simple-host_8cpp.html#aa8bc193818940a8954ef0e0e5a8e16d6">HOST_VERSION</a> << endl +<a name="l00154"></a>00154 << <span class="stringliteral">"Vamp API version: "</span> << <a class="code" href="vamp_8h.html#a6d6c8c755dbabf161f72712e0e2143c7" title="Plugin API version.">VAMP_API_VERSION</a> << endl +<a name="l00155"></a>00155 << <span class="stringliteral">"Vamp SDK version: "</span> << <a class="code" href="vamp-sdk_2PluginBase_8h.html#a9b7a8e1ac1c91366bec5f2f33c137a2f">VAMP_SDK_VERSION</a> << endl; +<a name="l00156"></a>00156 <span class="keywordflow">return</span> 0; +<a name="l00157"></a>00157 +<a name="l00158"></a>00158 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(argv[1], <span class="stringliteral">"-l"</span>) || !strcmp(argv[1], <span class="stringliteral">"--list"</span>)) { +<a name="l00159"></a>00159 +<a name="l00160"></a>00160 <a class="code" href="vamp-simple-host_8cpp.html#a4767f8c142ee0b61ba414df1b0376a01">printPluginPath</a>(<span class="keyword">true</span>); +<a name="l00161"></a>00161 <a class="code" href="vamp-simple-host_8cpp.html#a80dad9e80d85fdf86b7714bf1b3c1017">enumeratePlugins</a>(<a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a8acba147ed4716f3baa8546f6dc055a1">PluginInformation</a>); +<a name="l00162"></a>00162 <span class="keywordflow">return</span> 0; +<a name="l00163"></a>00163 +<a name="l00164"></a>00164 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(argv[1], <span class="stringliteral">"--list-full"</span>)) { +<a name="l00165"></a>00165 +<a name="l00166"></a>00166 <a class="code" href="vamp-simple-host_8cpp.html#a80dad9e80d85fdf86b7714bf1b3c1017">enumeratePlugins</a>(<a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a2624ce417628b6d40ce0973ba381c1e6">PluginInformationDetailed</a>); +<a name="l00167"></a>00167 <span class="keywordflow">return</span> 0; +<a name="l00168"></a>00168 +<a name="l00169"></a>00169 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(argv[1], <span class="stringliteral">"-p"</span>)) { +<a name="l00170"></a>00170 +<a name="l00171"></a>00171 <a class="code" href="vamp-simple-host_8cpp.html#a4767f8c142ee0b61ba414df1b0376a01">printPluginPath</a>(<span class="keyword">false</span>); +<a name="l00172"></a>00172 <span class="keywordflow">return</span> 0; +<a name="l00173"></a>00173 +<a name="l00174"></a>00174 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(argv[1], <span class="stringliteral">"--list-ids"</span>)) { +<a name="l00175"></a>00175 +<a name="l00176"></a>00176 <a class="code" href="vamp-simple-host_8cpp.html#a80dad9e80d85fdf86b7714bf1b3c1017">enumeratePlugins</a>(<a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a4cf6a0dfdb6864356feab9d9ca230d16">PluginIds</a>); +<a name="l00177"></a>00177 <span class="keywordflow">return</span> 0; +<a name="l00178"></a>00178 +<a name="l00179"></a>00179 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(argv[1], <span class="stringliteral">"--list-outputs"</span>)) { +<a name="l00180"></a>00180 +<a name="l00181"></a>00181 <a class="code" href="vamp-simple-host_8cpp.html#a80dad9e80d85fdf86b7714bf1b3c1017">enumeratePlugins</a>(<a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a30eab122efa9537df4ecb2fc27fc354e">PluginOutputIds</a>); +<a name="l00182"></a>00182 <span class="keywordflow">return</span> 0; +<a name="l00183"></a>00183 +<a name="l00184"></a>00184 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(argv[1], <span class="stringliteral">"--list-by-category"</span>)) { +<a name="l00185"></a>00185 +<a name="l00186"></a>00186 <a class="code" href="vamp-simple-host_8cpp.html#af771864c41f23e5755ed99e8ac6609a5">printPluginCategoryList</a>(); +<a name="l00187"></a>00187 <span class="keywordflow">return</span> 0; +<a name="l00188"></a>00188 +<a name="l00189"></a>00189 } <span class="keywordflow">else</span> <a class="code" href="vamp-simple-host_8cpp.html#a7cac13da282785878351e0a820104851">usage</a>(name); +<a name="l00190"></a>00190 } +<a name="l00191"></a>00191 +<a name="l00192"></a>00192 <span class="keywordflow">if</span> (argc < 3) <a class="code" href="vamp-simple-host_8cpp.html#a7cac13da282785878351e0a820104851">usage</a>(name); +<a name="l00193"></a>00193 +<a name="l00194"></a>00194 <span class="keywordtype">bool</span> useFrames = <span class="keyword">false</span>; +<a name="l00195"></a>00195 +<a name="l00196"></a>00196 <span class="keywordtype">int</span> base = 1; +<a name="l00197"></a>00197 <span class="keywordflow">if</span> (!strcmp(argv[1], <span class="stringliteral">"-s"</span>)) { +<a name="l00198"></a>00198 useFrames = <span class="keyword">true</span>; +<a name="l00199"></a>00199 base = 2; +<a name="l00200"></a>00200 } +<a name="l00201"></a>00201 +<a name="l00202"></a>00202 <span class="keywordtype">string</span> soname = argv[base]; +<a name="l00203"></a>00203 <span class="keywordtype">string</span> wavname = argv[base+1]; +<a name="l00204"></a>00204 <span class="keywordtype">string</span> plugid = <span class="stringliteral">""</span>; +<a name="l00205"></a>00205 <span class="keywordtype">string</span> output = <span class="stringliteral">""</span>; +<a name="l00206"></a>00206 <span class="keywordtype">int</span> outputNo = -1; +<a name="l00207"></a>00207 <span class="keywordtype">string</span> outfilename; +<a name="l00208"></a>00208 +<a name="l00209"></a>00209 <span class="keywordflow">if</span> (argc >= base+3) { +<a name="l00210"></a>00210 +<a name="l00211"></a>00211 <span class="keywordtype">int</span> idx = base+2; +<a name="l00212"></a>00212 +<a name="l00213"></a>00213 <span class="keywordflow">if</span> (isdigit(*argv[idx])) { +<a name="l00214"></a>00214 outputNo = atoi(argv[idx++]); +<a name="l00215"></a>00215 } +<a name="l00216"></a>00216 +<a name="l00217"></a>00217 <span class="keywordflow">if</span> (argc == idx + 2) { +<a name="l00218"></a>00218 <span class="keywordflow">if</span> (!strcmp(argv[idx], <span class="stringliteral">"-o"</span>)) { +<a name="l00219"></a>00219 outfilename = argv[idx+1]; +<a name="l00220"></a>00220 } <span class="keywordflow">else</span> <a class="code" href="vamp-simple-host_8cpp.html#a7cac13da282785878351e0a820104851">usage</a>(name); +<a name="l00221"></a>00221 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (argc != idx) { +<a name="l00222"></a>00222 (<a class="code" href="vamp-simple-host_8cpp.html#a7cac13da282785878351e0a820104851">usage</a>(name)); +<a name="l00223"></a>00223 } +<a name="l00224"></a>00224 } +<a name="l00225"></a>00225 +<a name="l00226"></a>00226 cerr << endl << name << <span class="stringliteral">": Running..."</span> << endl; +<a name="l00227"></a>00227 +<a name="l00228"></a>00228 cerr << <span class="stringliteral">"Reading file: \""</span> << wavname << <span class="stringliteral">"\", writing to "</span>; +<a name="l00229"></a>00229 <span class="keywordflow">if</span> (outfilename == <span class="stringliteral">""</span>) { +<a name="l00230"></a>00230 cerr << <span class="stringliteral">"standard output"</span> << endl; +<a name="l00231"></a>00231 } <span class="keywordflow">else</span> { +<a name="l00232"></a>00232 cerr << <span class="stringliteral">"\""</span> << outfilename << <span class="stringliteral">"\""</span> << endl; +<a name="l00233"></a>00233 } +<a name="l00234"></a>00234 +<a name="l00235"></a>00235 string::size_type sep = soname.find(<span class="charliteral">':'</span>); +<a name="l00236"></a>00236 +<a name="l00237"></a>00237 <span class="keywordflow">if</span> (sep != string::npos) { +<a name="l00238"></a>00238 plugid = soname.substr(sep + 1); +<a name="l00239"></a>00239 soname = soname.substr(0, sep); +<a name="l00240"></a>00240 +<a name="l00241"></a>00241 sep = plugid.find(<span class="charliteral">':'</span>); +<a name="l00242"></a>00242 <span class="keywordflow">if</span> (sep != string::npos) { +<a name="l00243"></a>00243 output = plugid.substr(sep + 1); +<a name="l00244"></a>00244 plugid = plugid.substr(0, sep); +<a name="l00245"></a>00245 } +<a name="l00246"></a>00246 } +<a name="l00247"></a>00247 +<a name="l00248"></a>00248 <span class="keywordflow">if</span> (plugid == <span class="stringliteral">""</span>) { +<a name="l00249"></a>00249 <a class="code" href="vamp-simple-host_8cpp.html#a7cac13da282785878351e0a820104851">usage</a>(name); +<a name="l00250"></a>00250 } +<a name="l00251"></a>00251 +<a name="l00252"></a>00252 <span class="keywordflow">if</span> (output != <span class="stringliteral">""</span> && outputNo != -1) { +<a name="l00253"></a>00253 <a class="code" href="vamp-simple-host_8cpp.html#a7cac13da282785878351e0a820104851">usage</a>(name); +<a name="l00254"></a>00254 } +<a name="l00255"></a>00255 +<a name="l00256"></a>00256 <span class="keywordflow">if</span> (output == <span class="stringliteral">""</span> && outputNo == -1) { +<a name="l00257"></a>00257 outputNo = 0; +<a name="l00258"></a>00258 } +<a name="l00259"></a>00259 +<a name="l00260"></a>00260 <span class="keywordflow">return</span> <a class="code" href="vamp-simple-host_8cpp.html#a54e0185f4b6ff507cb42c29a04f76397">runPlugin</a>(name, soname, plugid, output, outputNo, +<a name="l00261"></a>00261 wavname, outfilename, useFrames); +<a name="l00262"></a>00262 } +<a name="l00263"></a>00263 +<a name="l00264"></a>00264 +<a name="l00265"></a><a class="code" href="vamp-simple-host_8cpp.html#a54e0185f4b6ff507cb42c29a04f76397">00265</a> <span class="keywordtype">int</span> <a class="code" href="vamp-simple-host_8cpp.html#a54e0185f4b6ff507cb42c29a04f76397">runPlugin</a>(<span class="keywordtype">string</span> myname, <span class="keywordtype">string</span> soname, <span class="keywordtype">string</span> <span class="keywordtype">id</span>, +<a name="l00266"></a>00266 <span class="keywordtype">string</span> output, <span class="keywordtype">int</span> outputNo, <span class="keywordtype">string</span> wavname, +<a name="l00267"></a>00267 <span class="keywordtype">string</span> outfilename, <span class="keywordtype">bool</span> useFrames) +<a name="l00268"></a>00268 { +<a name="l00269"></a>00269 <a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">PluginLoader</a> *loader = PluginLoader::getInstance(); +<a name="l00270"></a>00270 +<a name="l00271"></a>00271 PluginLoader::PluginKey key = loader-><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#acc6865d27825c100d7b6f9ed6ecf5207" title="Given a Vamp plugin library name and plugin identifier, return the corresponding plugin key in a form...">composePluginKey</a>(soname, <span class="keywordtype">id</span>); +<a name="l00272"></a>00272 +<a name="l00273"></a>00273 SNDFILE *sndfile; +<a name="l00274"></a>00274 SF_INFO sfinfo; +<a name="l00275"></a>00275 memset(&sfinfo, 0, <span class="keyword">sizeof</span>(SF_INFO)); +<a name="l00276"></a>00276 +<a name="l00277"></a>00277 sndfile = sf_open(wavname.c_str(), SFM_READ, &sfinfo); +<a name="l00278"></a>00278 <span class="keywordflow">if</span> (!sndfile) { +<a name="l00279"></a>00279 cerr << myname << <span class="stringliteral">": ERROR: Failed to open input file \""</span> +<a name="l00280"></a>00280 << wavname << <span class="stringliteral">"\": "</span> << sf_strerror(sndfile) << endl; +<a name="l00281"></a>00281 <span class="keywordflow">return</span> 1; +<a name="l00282"></a>00282 } +<a name="l00283"></a>00283 +<a name="l00284"></a>00284 ofstream *out = 0; +<a name="l00285"></a>00285 <span class="keywordflow">if</span> (outfilename != <span class="stringliteral">""</span>) { +<a name="l00286"></a>00286 out = <span class="keyword">new</span> ofstream(outfilename.c_str(), ios::out); +<a name="l00287"></a>00287 <span class="keywordflow">if</span> (!*out) { +<a name="l00288"></a>00288 cerr << myname << <span class="stringliteral">": ERROR: Failed to open output file \""</span> +<a name="l00289"></a>00289 << outfilename << <span class="stringliteral">"\" for writing"</span> << endl; +<a name="l00290"></a>00290 <span class="keyword">delete</span> out; +<a name="l00291"></a>00291 <span class="keywordflow">return</span> 1; +<a name="l00292"></a>00292 } +<a name="l00293"></a>00293 } +<a name="l00294"></a>00294 +<a name="l00295"></a>00295 <a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> *plugin = loader-><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f" title="Load a Vamp plugin, given its identifying key.">loadPlugin</a> +<a name="l00296"></a>00296 (key, sfinfo.samplerate, PluginLoader::ADAPT_ALL_SAFE); +<a name="l00297"></a>00297 <span class="keywordflow">if</span> (!plugin) { +<a name="l00298"></a>00298 cerr << myname << <span class="stringliteral">": ERROR: Failed to load plugin \""</span> << <span class="keywordtype">id</span> +<a name="l00299"></a>00299 << <span class="stringliteral">"\" from library \""</span> << soname << <span class="stringliteral">"\""</span> << endl; +<a name="l00300"></a>00300 sf_close(sndfile); +<a name="l00301"></a>00301 <span class="keywordflow">if</span> (out) { +<a name="l00302"></a>00302 out->close(); +<a name="l00303"></a>00303 <span class="keyword">delete</span> out; +<a name="l00304"></a>00304 } +<a name="l00305"></a>00305 <span class="keywordflow">return</span> 1; +<a name="l00306"></a>00306 } +<a name="l00307"></a>00307 +<a name="l00308"></a>00308 cerr << <span class="stringliteral">"Running plugin: \""</span> << plugin-><a class="code" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a" title="Get the computer-usable name of the plugin.">getIdentifier</a>() << <span class="stringliteral">"\"..."</span> << endl; +<a name="l00309"></a>00309 +<a name="l00310"></a>00310 <span class="comment">// Note that the following would be much simpler if we used a</span> +<a name="l00311"></a>00311 <span class="comment">// PluginBufferingAdapter as well -- i.e. if we had passed</span> +<a name="l00312"></a>00312 <span class="comment">// PluginLoader::ADAPT_ALL to loader->loadPlugin() above, instead</span> +<a name="l00313"></a>00313 <span class="comment">// of ADAPT_ALL_SAFE. Then we could simply specify our own block</span> +<a name="l00314"></a>00314 <span class="comment">// size, keep the step size equal to the block size, and ignore</span> +<a name="l00315"></a>00315 <span class="comment">// the plugin's bleatings. However, there are some issues with</span> +<a name="l00316"></a>00316 <span class="comment">// using a PluginBufferingAdapter that make the results sometimes</span> +<a name="l00317"></a>00317 <span class="comment">// technically different from (if effectively the same as) the</span> +<a name="l00318"></a>00318 <span class="comment">// un-adapted plugin, so we aren't doing that here. See the</span> +<a name="l00319"></a>00319 <span class="comment">// PluginBufferingAdapter documentation for details.</span> +<a name="l00320"></a>00320 +<a name="l00321"></a>00321 <span class="keywordtype">int</span> blockSize = plugin-><a class="code" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac" title="Get the preferred block size (window size -- the number of sample frames passed in each block to the ...">getPreferredBlockSize</a>(); +<a name="l00322"></a>00322 <span class="keywordtype">int</span> stepSize = plugin-><a class="code" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567" title="Get the preferred step size (window increment -- the distance in sample frames between the start fram...">getPreferredStepSize</a>(); +<a name="l00323"></a>00323 +<a name="l00324"></a>00324 <span class="keywordflow">if</span> (blockSize == 0) { +<a name="l00325"></a>00325 blockSize = 1024; +<a name="l00326"></a>00326 } +<a name="l00327"></a>00327 <span class="keywordflow">if</span> (stepSize == 0) { +<a name="l00328"></a>00328 <span class="keywordflow">if</span> (plugin-><a class="code" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6" title="Get the plugin's required input domain.">getInputDomain</a>() == Plugin::FrequencyDomain) { +<a name="l00329"></a>00329 stepSize = blockSize/2; +<a name="l00330"></a>00330 } <span class="keywordflow">else</span> { +<a name="l00331"></a>00331 stepSize = blockSize; +<a name="l00332"></a>00332 } +<a name="l00333"></a>00333 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (stepSize > blockSize) { +<a name="l00334"></a>00334 cerr << <span class="stringliteral">"WARNING: stepSize "</span> << stepSize << <span class="stringliteral">" > blockSize "</span> << blockSize << <span class="stringliteral">", resetting blockSize to "</span>; +<a name="l00335"></a>00335 <span class="keywordflow">if</span> (plugin-><a class="code" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6" title="Get the plugin's required input domain.">getInputDomain</a>() == Plugin::FrequencyDomain) { +<a name="l00336"></a>00336 blockSize = stepSize * 2; +<a name="l00337"></a>00337 } <span class="keywordflow">else</span> { +<a name="l00338"></a>00338 blockSize = stepSize; +<a name="l00339"></a>00339 } +<a name="l00340"></a>00340 cerr << blockSize << endl; +<a name="l00341"></a>00341 } +<a name="l00342"></a>00342 <span class="keywordtype">int</span> overlapSize = blockSize - stepSize; +<a name="l00343"></a>00343 sf_count_t currentStep = 0; +<a name="l00344"></a>00344 <span class="keywordtype">int</span> finalStepsRemaining = max(1, (blockSize / stepSize) - 1); <span class="comment">// at end of file, this many part-silent frames needed after we hit EOF</span> +<a name="l00345"></a>00345 +<a name="l00346"></a>00346 <span class="keywordtype">int</span> channels = sfinfo.channels; +<a name="l00347"></a>00347 +<a name="l00348"></a>00348 <span class="keywordtype">float</span> *filebuf = <span class="keyword">new</span> <span class="keywordtype">float</span>[blockSize * channels]; +<a name="l00349"></a>00349 <span class="keywordtype">float</span> **plugbuf = <span class="keyword">new</span> <span class="keywordtype">float</span>*[channels]; +<a name="l00350"></a>00350 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> c = 0; c < channels; ++c) plugbuf[c] = <span class="keyword">new</span> <span class="keywordtype">float</span>[blockSize + 2]; +<a name="l00351"></a>00351 +<a name="l00352"></a>00352 cerr << <span class="stringliteral">"Using block size = "</span> << blockSize << <span class="stringliteral">", step size = "</span> +<a name="l00353"></a>00353 << stepSize << endl; +<a name="l00354"></a>00354 +<a name="l00355"></a>00355 <span class="comment">// The channel queries here are for informational purposes only --</span> +<a name="l00356"></a>00356 <span class="comment">// a PluginChannelAdapter is being used automatically behind the</span> +<a name="l00357"></a>00357 <span class="comment">// scenes, and it will take case of any channel mismatch</span> +<a name="l00358"></a>00358 +<a name="l00359"></a>00359 <span class="keywordtype">int</span> minch = plugin-><a class="code" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525" title="Get the minimum supported number of input channels.">getMinChannelCount</a>(); +<a name="l00360"></a>00360 <span class="keywordtype">int</span> maxch = plugin-><a class="code" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e" title="Get the maximum supported number of input channels.">getMaxChannelCount</a>(); +<a name="l00361"></a>00361 cerr << <span class="stringliteral">"Plugin accepts "</span> << minch << <span class="stringliteral">" -> "</span> << maxch << <span class="stringliteral">" channel(s)"</span> << endl; +<a name="l00362"></a>00362 cerr << <span class="stringliteral">"Sound file has "</span> << channels << <span class="stringliteral">" (will mix/augment if necessary)"</span> << endl; +<a name="l00363"></a>00363 +<a name="l00364"></a>00364 Plugin::OutputList outputs = plugin-><a class="code" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35" title="Get the outputs of this plugin.">getOutputDescriptors</a>(); +<a name="l00365"></a>00365 Plugin::OutputDescriptor od; +<a name="l00366"></a>00366 +<a name="l00367"></a>00367 <span class="keywordtype">int</span> returnValue = 1; +<a name="l00368"></a>00368 <span class="keywordtype">int</span> progress = 0; +<a name="l00369"></a>00369 +<a name="l00370"></a>00370 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> rt; +<a name="l00371"></a>00371 <a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a> *wrapper = 0; +<a name="l00372"></a>00372 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> adjustment = RealTime::zeroTime; +<a name="l00373"></a>00373 +<a name="l00374"></a>00374 <span class="keywordflow">if</span> (outputs.empty()) { +<a name="l00375"></a>00375 cerr << <span class="stringliteral">"ERROR: Plugin has no outputs!"</span> << endl; +<a name="l00376"></a>00376 <span class="keywordflow">goto</span> done; +<a name="l00377"></a>00377 } +<a name="l00378"></a>00378 +<a name="l00379"></a>00379 <span class="keywordflow">if</span> (outputNo < 0) { +<a name="l00380"></a>00380 +<a name="l00381"></a>00381 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> oi = 0; oi < outputs.size(); ++oi) { +<a name="l00382"></a>00382 <span class="keywordflow">if</span> (outputs[oi].identifier == output) { +<a name="l00383"></a>00383 outputNo = oi; +<a name="l00384"></a>00384 <span class="keywordflow">break</span>; +<a name="l00385"></a>00385 } +<a name="l00386"></a>00386 } +<a name="l00387"></a>00387 +<a name="l00388"></a>00388 <span class="keywordflow">if</span> (outputNo < 0) { +<a name="l00389"></a>00389 cerr << <span class="stringliteral">"ERROR: Non-existent output \""</span> << output << <span class="stringliteral">"\" requested"</span> << endl; +<a name="l00390"></a>00390 <span class="keywordflow">goto</span> done; +<a name="l00391"></a>00391 } +<a name="l00392"></a>00392 +<a name="l00393"></a>00393 } <span class="keywordflow">else</span> { +<a name="l00394"></a>00394 +<a name="l00395"></a>00395 <span class="keywordflow">if</span> (<span class="keywordtype">int</span>(outputs.size()) <= outputNo) { +<a name="l00396"></a>00396 cerr << <span class="stringliteral">"ERROR: Output "</span> << outputNo << <span class="stringliteral">" requested, but plugin has only "</span> << outputs.size() << <span class="stringliteral">" output(s)"</span> << endl; +<a name="l00397"></a>00397 <span class="keywordflow">goto</span> done; +<a name="l00398"></a>00398 } +<a name="l00399"></a>00399 } +<a name="l00400"></a>00400 +<a name="l00401"></a>00401 od = outputs[outputNo]; +<a name="l00402"></a>00402 cerr << <span class="stringliteral">"Output is: \""</span> << od.identifier << <span class="stringliteral">"\""</span> << endl; +<a name="l00403"></a>00403 +<a name="l00404"></a>00404 <span class="keywordflow">if</span> (!plugin-><a class="code" href="classVamp_1_1Plugin.html#af26212cf5fc511b603a8b48034247822" title="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).">initialise</a>(channels, stepSize, blockSize)) { +<a name="l00405"></a>00405 cerr << <span class="stringliteral">"ERROR: Plugin initialise (channels = "</span> << channels +<a name="l00406"></a>00406 << <span class="stringliteral">", stepSize = "</span> << stepSize << <span class="stringliteral">", blockSize = "</span> +<a name="l00407"></a>00407 << blockSize << <span class="stringliteral">") failed."</span> << endl; +<a name="l00408"></a>00408 <span class="keywordflow">goto</span> done; +<a name="l00409"></a>00409 } +<a name="l00410"></a>00410 +<a name="l00411"></a>00411 wrapper = <span class="keyword">dynamic_cast<</span><a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins.">PluginWrapper</a> *<span class="keyword">></span>(plugin); +<a name="l00412"></a>00412 <span class="keywordflow">if</span> (wrapper) { +<a name="l00413"></a>00413 <span class="comment">// See documentation for</span> +<a name="l00414"></a>00414 <span class="comment">// PluginInputDomainAdapter::getTimestampAdjustment</span> +<a name="l00415"></a>00415 <a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a> *ida = +<a name="l00416"></a>00416 wrapper-><a class="code" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a653d0308e8e34881a8749b7631d00f05" title="Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin...">getWrapper</a><<a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time-domain input into frequency-doma...">PluginInputDomainAdapter</a>>(); +<a name="l00417"></a>00417 <span class="keywordflow">if</span> (ida) adjustment = ida-><a class="code" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#ac1ab6af0fcda0a4c3f050c54b2db4769" title="Return the amount by which the timestamps supplied to process() are being incremented when they are p...">getTimestampAdjustment</a>(); +<a name="l00418"></a>00418 } +<a name="l00419"></a>00419 +<a name="l00420"></a>00420 <span class="comment">// Here we iterate over the frames, avoiding asking the numframes in case it's streaming input.</span> +<a name="l00421"></a>00421 <span class="keywordflow">do</span> { +<a name="l00422"></a>00422 +<a name="l00423"></a>00423 <span class="keywordtype">int</span> count; +<a name="l00424"></a>00424 +<a name="l00425"></a>00425 <span class="keywordflow">if</span> ((blockSize==stepSize) || (currentStep==0)) { +<a name="l00426"></a>00426 <span class="comment">// read a full fresh block</span> +<a name="l00427"></a>00427 <span class="keywordflow">if</span> ((count = sf_readf_float(sndfile, filebuf, blockSize)) < 0) { +<a name="l00428"></a>00428 cerr << <span class="stringliteral">"ERROR: sf_readf_float failed: "</span> << sf_strerror(sndfile) << endl; +<a name="l00429"></a>00429 <span class="keywordflow">break</span>; +<a name="l00430"></a>00430 } +<a name="l00431"></a>00431 <span class="keywordflow">if</span> (count != blockSize) --finalStepsRemaining; +<a name="l00432"></a>00432 } <span class="keywordflow">else</span> { +<a name="l00433"></a>00433 <span class="comment">// otherwise shunt the existing data down and read the remainder.</span> +<a name="l00434"></a>00434 memmove(filebuf, filebuf + (stepSize * channels), overlapSize * channels * <span class="keyword">sizeof</span>(<span class="keywordtype">float</span>)); +<a name="l00435"></a>00435 <span class="keywordflow">if</span> ((count = sf_readf_float(sndfile, filebuf + (overlapSize * channels), stepSize)) < 0) { +<a name="l00436"></a>00436 cerr << <span class="stringliteral">"ERROR: sf_readf_float failed: "</span> << sf_strerror(sndfile) << endl; +<a name="l00437"></a>00437 <span class="keywordflow">break</span>; +<a name="l00438"></a>00438 } +<a name="l00439"></a>00439 <span class="keywordflow">if</span> (count != stepSize) --finalStepsRemaining; +<a name="l00440"></a>00440 count += overlapSize; +<a name="l00441"></a>00441 } +<a name="l00442"></a>00442 +<a name="l00443"></a>00443 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> c = 0; c < channels; ++c) { +<a name="l00444"></a>00444 <span class="keywordtype">int</span> j = 0; +<a name="l00445"></a>00445 <span class="keywordflow">while</span> (j < count) { +<a name="l00446"></a>00446 plugbuf[c][j] = filebuf[j * sfinfo.channels + c]; +<a name="l00447"></a>00447 ++j; +<a name="l00448"></a>00448 } +<a name="l00449"></a>00449 <span class="keywordflow">while</span> (j < blockSize) { +<a name="l00450"></a>00450 plugbuf[c][j] = 0.0f; +<a name="l00451"></a>00451 ++j; +<a name="l00452"></a>00452 } +<a name="l00453"></a>00453 } +<a name="l00454"></a>00454 +<a name="l00455"></a>00455 rt = RealTime::frame2RealTime(currentStep * stepSize, sfinfo.samplerate); +<a name="l00456"></a>00456 +<a name="l00457"></a>00457 <a class="code" href="vamp-simple-host_8cpp.html#a81f8bc89ed9194159bfb1f2b4d7a7ac4">printFeatures</a> +<a name="l00458"></a>00458 (RealTime::realTime2Frame(rt + adjustment, sfinfo.samplerate), +<a name="l00459"></a>00459 sfinfo.samplerate, outputNo, plugin-><a class="code" href="classVamp_1_1Plugin.html#ae4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process</a>(plugbuf, rt), +<a name="l00460"></a>00460 out, useFrames); +<a name="l00461"></a>00461 +<a name="l00462"></a>00462 <span class="keywordflow">if</span> (sfinfo.frames > 0){ +<a name="l00463"></a>00463 <span class="keywordtype">int</span> pp = progress; +<a name="l00464"></a>00464 progress = lrintf((<span class="keywordtype">float</span>(currentStep * stepSize) / sfinfo.frames) * 100.f); +<a name="l00465"></a>00465 <span class="keywordflow">if</span> (progress != pp && out) { +<a name="l00466"></a>00466 cerr << <span class="stringliteral">"\r"</span> << progress << <span class="stringliteral">"%"</span>; +<a name="l00467"></a>00467 } +<a name="l00468"></a>00468 } +<a name="l00469"></a>00469 +<a name="l00470"></a>00470 ++currentStep; +<a name="l00471"></a>00471 +<a name="l00472"></a>00472 } <span class="keywordflow">while</span> (finalStepsRemaining > 0); +<a name="l00473"></a>00473 +<a name="l00474"></a>00474 <span class="keywordflow">if</span> (out) cerr << <span class="stringliteral">"\rDone"</span> << endl; +<a name="l00475"></a>00475 +<a name="l00476"></a>00476 rt = RealTime::frame2RealTime(currentStep * stepSize, sfinfo.samplerate); +<a name="l00477"></a>00477 +<a name="l00478"></a>00478 <a class="code" href="vamp-simple-host_8cpp.html#a81f8bc89ed9194159bfb1f2b4d7a7ac4">printFeatures</a>(RealTime::realTime2Frame(rt + adjustment, sfinfo.samplerate), +<a name="l00479"></a>00479 sfinfo.samplerate, outputNo, +<a name="l00480"></a>00480 plugin-><a class="code" href="classVamp_1_1Plugin.html#aeca2a26e658ba0314ba90d25dd2195d6" title="After all blocks have been processed, calculate and return any remaining features derived from the co...">getRemainingFeatures</a>(), out, useFrames); +<a name="l00481"></a>00481 +<a name="l00482"></a>00482 returnValue = 0; +<a name="l00483"></a>00483 +<a name="l00484"></a>00484 done: +<a name="l00485"></a>00485 <span class="keyword">delete</span> plugin; +<a name="l00486"></a>00486 <span class="keywordflow">if</span> (out) { +<a name="l00487"></a>00487 out->close(); +<a name="l00488"></a>00488 <span class="keyword">delete</span> out; +<a name="l00489"></a>00489 } +<a name="l00490"></a>00490 sf_close(sndfile); +<a name="l00491"></a>00491 <span class="keywordflow">return</span> returnValue; +<a name="l00492"></a>00492 } +<a name="l00493"></a>00493 +<a name="l00494"></a>00494 <span class="keywordtype">void</span> +<a name="l00495"></a><a class="code" href="vamp-simple-host_8cpp.html#a81f8bc89ed9194159bfb1f2b4d7a7ac4">00495</a> <a class="code" href="vamp-simple-host_8cpp.html#a81f8bc89ed9194159bfb1f2b4d7a7ac4">printFeatures</a>(<span class="keywordtype">int</span> frame, <span class="keywordtype">int</span> sr, <span class="keywordtype">int</span> output, +<a name="l00496"></a>00496 Plugin::FeatureSet features, ofstream *out, <span class="keywordtype">bool</span> useFrames) +<a name="l00497"></a>00497 { +<a name="l00498"></a>00498 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < features[output].size(); ++i) { +<a name="l00499"></a>00499 +<a name="l00500"></a>00500 <span class="keywordflow">if</span> (useFrames) { +<a name="l00501"></a>00501 +<a name="l00502"></a>00502 <span class="keywordtype">int</span> displayFrame = frame; +<a name="l00503"></a>00503 +<a name="l00504"></a>00504 <span class="keywordflow">if</span> (features[output][i].hasTimestamp) { +<a name="l00505"></a>00505 displayFrame = RealTime::realTime2Frame +<a name="l00506"></a>00506 (features[output][i].timestamp, sr); +<a name="l00507"></a>00507 } +<a name="l00508"></a>00508 +<a name="l00509"></a>00509 (out ? *out : cout) << displayFrame; +<a name="l00510"></a>00510 +<a name="l00511"></a>00511 <span class="keywordflow">if</span> (features[output][i].hasDuration) { +<a name="l00512"></a>00512 displayFrame = RealTime::realTime2Frame +<a name="l00513"></a>00513 (features[output][i].duration, sr); +<a name="l00514"></a>00514 (out ? *out : cout) << <span class="stringliteral">","</span> << displayFrame; +<a name="l00515"></a>00515 } +<a name="l00516"></a>00516 +<a name="l00517"></a>00517 (out ? *out : cout) << <span class="stringliteral">":"</span>; +<a name="l00518"></a>00518 +<a name="l00519"></a>00519 } <span class="keywordflow">else</span> { +<a name="l00520"></a>00520 +<a name="l00521"></a>00521 <a class="code" href="structVamp_1_1RealTime.html" title="RealTime represents time values to nanosecond precision with accurate arithmetic and frame-rate conve...">RealTime</a> rt = RealTime::frame2RealTime(frame, sr); +<a name="l00522"></a>00522 +<a name="l00523"></a>00523 <span class="keywordflow">if</span> (features[output][i].hasTimestamp) { +<a name="l00524"></a>00524 rt = features[output][i].timestamp; +<a name="l00525"></a>00525 } +<a name="l00526"></a>00526 +<a name="l00527"></a>00527 (out ? *out : cout) << rt.<a class="code" href="structVamp_1_1RealTime.html#ad44476618183bd736996a87292d03c07" title="Return a human-readable debug-type string to full precision (probably not a format to show to a user ...">toString</a>(); +<a name="l00528"></a>00528 +<a name="l00529"></a>00529 <span class="keywordflow">if</span> (features[output][i].hasDuration) { +<a name="l00530"></a>00530 rt = features[output][i].duration; +<a name="l00531"></a>00531 (out ? *out : cout) << <span class="stringliteral">","</span> << rt.<a class="code" href="structVamp_1_1RealTime.html#ad44476618183bd736996a87292d03c07" title="Return a human-readable debug-type string to full precision (probably not a format to show to a user ...">toString</a>(); +<a name="l00532"></a>00532 } +<a name="l00533"></a>00533 +<a name="l00534"></a>00534 (out ? *out : cout) << <span class="stringliteral">":"</span>; +<a name="l00535"></a>00535 } +<a name="l00536"></a>00536 +<a name="l00537"></a>00537 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> j = 0; j < features[output][i].values.size(); ++j) { +<a name="l00538"></a>00538 (out ? *out : cout) << <span class="stringliteral">" "</span> << features[output][i].values[j]; +<a name="l00539"></a>00539 } +<a name="l00540"></a>00540 (out ? *out : cout) << <span class="stringliteral">" "</span> << features[output][i].label; +<a name="l00541"></a>00541 +<a name="l00542"></a>00542 (out ? *out : cout) << endl; +<a name="l00543"></a>00543 } +<a name="l00544"></a>00544 } +<a name="l00545"></a>00545 +<a name="l00546"></a>00546 <span class="keywordtype">void</span> +<a name="l00547"></a><a class="code" href="vamp-simple-host_8cpp.html#a4767f8c142ee0b61ba414df1b0376a01">00547</a> <a class="code" href="vamp-simple-host_8cpp.html#a4767f8c142ee0b61ba414df1b0376a01">printPluginPath</a>(<span class="keywordtype">bool</span> verbose) +<a name="l00548"></a>00548 { +<a name="l00549"></a>00549 <span class="keywordflow">if</span> (verbose) { +<a name="l00550"></a>00550 cout << <span class="stringliteral">"\nVamp plugin search path: "</span>; +<a name="l00551"></a>00551 } +<a name="l00552"></a>00552 +<a name="l00553"></a>00553 vector<string> path = PluginHostAdapter::getPluginPath(); +<a name="l00554"></a>00554 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < path.size(); ++i) { +<a name="l00555"></a>00555 <span class="keywordflow">if</span> (verbose) { +<a name="l00556"></a>00556 cout << <span class="stringliteral">"["</span> << path[i] << <span class="stringliteral">"]"</span>; +<a name="l00557"></a>00557 } <span class="keywordflow">else</span> { +<a name="l00558"></a>00558 cout << path[i] << endl; +<a name="l00559"></a>00559 } +<a name="l00560"></a>00560 } +<a name="l00561"></a>00561 +<a name="l00562"></a>00562 <span class="keywordflow">if</span> (verbose) cout << endl; +<a name="l00563"></a>00563 } +<a name="l00564"></a>00564 +<a name="l00565"></a>00565 <span class="keyword">static</span> +<a name="l00566"></a>00566 <span class="keywordtype">string</span> +<a name="l00567"></a><a class="code" href="vamp-simple-host_8cpp.html#a713775f2037987c0851ff3672339a82c">00567</a> <a class="code" href="vamp-simple-host_8cpp.html#a713775f2037987c0851ff3672339a82c">header</a>(<span class="keywordtype">string</span> text, <span class="keywordtype">int</span> level) +<a name="l00568"></a>00568 { +<a name="l00569"></a>00569 <span class="keywordtype">string</span> out = <span class="charliteral">'\n'</span> + text + <span class="charliteral">'\n'</span>; +<a name="l00570"></a>00570 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < text.length(); ++i) { +<a name="l00571"></a>00571 out += (level == 1 ? <span class="charliteral">'='</span> : level == 2 ? <span class="charliteral">'-'</span> : <span class="charliteral">'~'</span>); +<a name="l00572"></a>00572 } +<a name="l00573"></a>00573 out += <span class="charliteral">'\n'</span>; +<a name="l00574"></a>00574 <span class="keywordflow">return</span> out; +<a name="l00575"></a>00575 } +<a name="l00576"></a>00576 +<a name="l00577"></a>00577 <span class="keywordtype">void</span> +<a name="l00578"></a><a class="code" href="vamp-simple-host_8cpp.html#a80dad9e80d85fdf86b7714bf1b3c1017">00578</a> <a class="code" href="vamp-simple-host_8cpp.html#a80dad9e80d85fdf86b7714bf1b3c1017">enumeratePlugins</a>(<a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313">Verbosity</a> verbosity) +<a name="l00579"></a>00579 { +<a name="l00580"></a>00580 <a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">PluginLoader</a> *loader = PluginLoader::getInstance(); +<a name="l00581"></a>00581 +<a name="l00582"></a>00582 <span class="keywordflow">if</span> (verbosity == <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a8acba147ed4716f3baa8546f6dc055a1">PluginInformation</a>) { +<a name="l00583"></a>00583 cout << <span class="stringliteral">"\nVamp plugin libraries found in search path:"</span> << endl; +<a name="l00584"></a>00584 } +<a name="l00585"></a>00585 +<a name="l00586"></a>00586 vector<PluginLoader::PluginKey> plugins = loader-><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff51b52bb68aa2934ccf26ad1d284f28" title="Search for all available Vamp plugins, and return a list of them in the order in which they were foun...">listPlugins</a>(); +<a name="l00587"></a>00587 <span class="keyword">typedef</span> multimap<string, PluginLoader::PluginKey> +<a name="l00588"></a>00588 LibraryMap; +<a name="l00589"></a>00589 LibraryMap libraryMap; +<a name="l00590"></a>00590 +<a name="l00591"></a>00591 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < plugins.size(); ++i) { +<a name="l00592"></a>00592 <span class="keywordtype">string</span> path = loader-><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#a4bbcb7873e617bbc9f79eade1f90f7ad" title="Return the file path of the dynamic library from which the given plugin will be loaded (if available)...">getLibraryPathForPlugin</a>(plugins[i]); +<a name="l00593"></a>00593 libraryMap.insert(LibraryMap::value_type(path, plugins[i])); +<a name="l00594"></a>00594 } +<a name="l00595"></a>00595 +<a name="l00596"></a>00596 <span class="keywordtype">string</span> prevPath = <span class="stringliteral">""</span>; +<a name="l00597"></a>00597 <span class="keywordtype">int</span> index = 0; +<a name="l00598"></a>00598 +<a name="l00599"></a>00599 <span class="keywordflow">for</span> (LibraryMap::iterator i = libraryMap.begin(); +<a name="l00600"></a>00600 i != libraryMap.end(); ++i) { +<a name="l00601"></a>00601 +<a name="l00602"></a>00602 <span class="keywordtype">string</span> path = i->first; +<a name="l00603"></a>00603 PluginLoader::PluginKey key = i->second; +<a name="l00604"></a>00604 +<a name="l00605"></a>00605 <span class="keywordflow">if</span> (path != prevPath) { +<a name="l00606"></a>00606 prevPath = path; +<a name="l00607"></a>00607 index = 0; +<a name="l00608"></a>00608 <span class="keywordflow">if</span> (verbosity == <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a8acba147ed4716f3baa8546f6dc055a1">PluginInformation</a>) { +<a name="l00609"></a>00609 cout << <span class="stringliteral">"\n "</span> << path << <span class="stringliteral">":"</span> << endl; +<a name="l00610"></a>00610 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (verbosity == <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a2624ce417628b6d40ce0973ba381c1e6">PluginInformationDetailed</a>) { +<a name="l00611"></a>00611 string::size_type ki = i->second.find(<span class="charliteral">':'</span>); +<a name="l00612"></a>00612 <span class="keywordtype">string</span> text = <span class="stringliteral">"Library \""</span> + i->second.substr(0, ki) + <span class="stringliteral">"\""</span>; +<a name="l00613"></a>00613 cout << <span class="stringliteral">"\n"</span> << <a class="code" href="vamp-simple-host_8cpp.html#a713775f2037987c0851ff3672339a82c">header</a>(text, 1); +<a name="l00614"></a>00614 } +<a name="l00615"></a>00615 } +<a name="l00616"></a>00616 +<a name="l00617"></a>00617 <a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> *plugin = loader-><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f" title="Load a Vamp plugin, given its identifying key.">loadPlugin</a>(key, 48000); +<a name="l00618"></a>00618 <span class="keywordflow">if</span> (plugin) { +<a name="l00619"></a>00619 +<a name="l00620"></a>00620 <span class="keywordtype">char</span> c = char(<span class="charliteral">'A'</span> + index); +<a name="l00621"></a>00621 <span class="keywordflow">if</span> (c > <span class="charliteral">'Z'</span>) c = char(<span class="charliteral">'a'</span> + (index - 26)); +<a name="l00622"></a>00622 +<a name="l00623"></a>00623 PluginLoader::PluginCategoryHierarchy category = +<a name="l00624"></a>00624 loader-><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#a52746ea66339ad981b868a031a3b382d" title="Return the category hierarchy for a Vamp plugin, given its identifying key.">getPluginCategory</a>(key); +<a name="l00625"></a>00625 <span class="keywordtype">string</span> catstr; +<a name="l00626"></a>00626 <span class="keywordflow">if</span> (!category.empty()) { +<a name="l00627"></a>00627 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> ci = 0; ci < category.size(); ++ci) { +<a name="l00628"></a>00628 <span class="keywordflow">if</span> (ci > 0) catstr += <span class="stringliteral">" > "</span>; +<a name="l00629"></a>00629 catstr += category[ci]; +<a name="l00630"></a>00630 } +<a name="l00631"></a>00631 } +<a name="l00632"></a>00632 +<a name="l00633"></a>00633 <span class="keywordflow">if</span> (verbosity == <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a8acba147ed4716f3baa8546f6dc055a1">PluginInformation</a>) { +<a name="l00634"></a>00634 +<a name="l00635"></a>00635 cout << <span class="stringliteral">" ["</span> << c << <span class="stringliteral">"] [v"</span> +<a name="l00636"></a>00636 << plugin-><a class="code" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf" title="Get the Vamp API compatibility level of the plugin.">getVampApiVersion</a>() << <span class="stringliteral">"] "</span> +<a name="l00637"></a>00637 << plugin-><a class="code" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232" title="Get a human-readable name or title of the plugin.">getName</a>() << <span class="stringliteral">", \""</span> +<a name="l00638"></a>00638 << plugin-><a class="code" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a" title="Get the computer-usable name of the plugin.">getIdentifier</a>() << <span class="stringliteral">"\""</span> << <span class="stringliteral">" ["</span> +<a name="l00639"></a>00639 << plugin-><a class="code" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637" title="Get the name of the author or vendor of the plugin in human-readable form.">getMaker</a>() << <span class="stringliteral">"]"</span> << endl; +<a name="l00640"></a>00640 +<a name="l00641"></a>00641 <span class="keywordflow">if</span> (catstr != <span class="stringliteral">""</span>) { +<a name="l00642"></a>00642 cout << <span class="stringliteral">" > "</span> << catstr << endl; +<a name="l00643"></a>00643 } +<a name="l00644"></a>00644 +<a name="l00645"></a>00645 <span class="keywordflow">if</span> (plugin-><a class="code" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">getDescription</a>() != <span class="stringliteral">""</span>) { +<a name="l00646"></a>00646 cout << <span class="stringliteral">" - "</span> << plugin-><a class="code" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">getDescription</a>() << endl; +<a name="l00647"></a>00647 } +<a name="l00648"></a>00648 +<a name="l00649"></a>00649 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (verbosity == <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a2624ce417628b6d40ce0973ba381c1e6">PluginInformationDetailed</a>) { +<a name="l00650"></a>00650 +<a name="l00651"></a>00651 cout << <a class="code" href="vamp-simple-host_8cpp.html#a713775f2037987c0851ff3672339a82c">header</a>(plugin-><a class="code" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232" title="Get a human-readable name or title of the plugin.">getName</a>(), 2); +<a name="l00652"></a>00652 cout << <span class="stringliteral">" - Identifier: "</span> +<a name="l00653"></a>00653 << key << endl; +<a name="l00654"></a>00654 cout << <span class="stringliteral">" - Plugin Version: "</span> +<a name="l00655"></a>00655 << plugin-><a class="code" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151" title="Get the version number of the plugin.">getPluginVersion</a>() << endl; +<a name="l00656"></a>00656 cout << <span class="stringliteral">" - Vamp API Version: "</span> +<a name="l00657"></a>00657 << plugin-><a class="code" href="classVamp_1_1PluginBase.html#a8fd2c48291c64b790f0efb8948508dcf" title="Get the Vamp API compatibility level of the plugin.">getVampApiVersion</a>() << endl; +<a name="l00658"></a>00658 cout << <span class="stringliteral">" - Maker: \""</span> +<a name="l00659"></a>00659 << plugin-><a class="code" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637" title="Get the name of the author or vendor of the plugin in human-readable form.">getMaker</a>() << <span class="stringliteral">"\""</span> << endl; +<a name="l00660"></a>00660 cout << <span class="stringliteral">" - Copyright: \""</span> +<a name="l00661"></a>00661 << plugin-><a class="code" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661" title="Get the copyright statement or licensing summary for the plugin.">getCopyright</a>() << <span class="stringliteral">"\""</span> << endl; +<a name="l00662"></a>00662 cout << <span class="stringliteral">" - Description: \""</span> +<a name="l00663"></a>00663 << plugin-><a class="code" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">getDescription</a>() << <span class="stringliteral">"\""</span> << endl; +<a name="l00664"></a>00664 cout << <span class="stringliteral">" - Input Domain: "</span> +<a name="l00665"></a>00665 << (plugin-><a class="code" href="classVamp_1_1Plugin.html#ae1d317a9702cbeda65ddf0ec500c1ff6" title="Get the plugin's required input domain.">getInputDomain</a>() == <a class="code" href="classVamp_1_1Plugin.html#a39cb7649d6dcc20e4cb1640cd55907bcad4a9f31b958a43a9757af7893aa2e7ff">Vamp::Plugin::TimeDomain</a> ? +<a name="l00666"></a>00666 <span class="stringliteral">"Time Domain"</span> : <span class="stringliteral">"Frequency Domain"</span>) << endl; +<a name="l00667"></a>00667 cout << <span class="stringliteral">" - Default Step Size: "</span> +<a name="l00668"></a>00668 << plugin-><a class="code" href="classVamp_1_1Plugin.html#a514c716c22f81c055f19b56c3f882567" title="Get the preferred step size (window increment -- the distance in sample frames between the start fram...">getPreferredStepSize</a>() << endl; +<a name="l00669"></a>00669 cout << <span class="stringliteral">" - Default Block Size: "</span> +<a name="l00670"></a>00670 << plugin-><a class="code" href="classVamp_1_1Plugin.html#aa529adf83f87a603954eb31407602aac" title="Get the preferred block size (window size -- the number of sample frames passed in each block to the ...">getPreferredBlockSize</a>() << endl; +<a name="l00671"></a>00671 cout << <span class="stringliteral">" - Minimum Channels: "</span> +<a name="l00672"></a>00672 << plugin-><a class="code" href="classVamp_1_1Plugin.html#a267b42e866df3cf0d190893e8096f525" title="Get the minimum supported number of input channels.">getMinChannelCount</a>() << endl; +<a name="l00673"></a>00673 cout << <span class="stringliteral">" - Maximum Channels: "</span> +<a name="l00674"></a>00674 << plugin-><a class="code" href="classVamp_1_1Plugin.html#a2c5ab12b6fa4847cb244bd1e9cb3ae5e" title="Get the maximum supported number of input channels.">getMaxChannelCount</a>() << endl; +<a name="l00675"></a>00675 +<a name="l00676"></a>00676 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (verbosity == <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a4cf6a0dfdb6864356feab9d9ca230d16">PluginIds</a>) { +<a name="l00677"></a>00677 cout << <span class="stringliteral">"vamp:"</span> << key << endl; +<a name="l00678"></a>00678 } +<a name="l00679"></a>00679 +<a name="l00680"></a>00680 Plugin::OutputList outputs = +<a name="l00681"></a>00681 plugin-><a class="code" href="classVamp_1_1Plugin.html#ad064d5d132b5c9bd7064f429c3309e35" title="Get the outputs of this plugin.">getOutputDescriptors</a>(); +<a name="l00682"></a>00682 +<a name="l00683"></a>00683 <span class="keywordflow">if</span> (verbosity == <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a2624ce417628b6d40ce0973ba381c1e6">PluginInformationDetailed</a>) { +<a name="l00684"></a>00684 +<a name="l00685"></a>00685 Plugin::ParameterList params = plugin-><a class="code" href="classVamp_1_1PluginBase.html#aac3e49b3b66cacfbb768dfdf07444f21" title="Get the controllable parameters of this plugin.">getParameterDescriptors</a>(); +<a name="l00686"></a>00686 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> j = 0; j < params.size(); ++j) { +<a name="l00687"></a>00687 Plugin::ParameterDescriptor &pd(params[j]); +<a name="l00688"></a>00688 cout << <span class="stringliteral">"\nParameter "</span> << j+1 << <span class="stringliteral">": \""</span> << pd.name << <span class="stringliteral">"\""</span> << endl; +<a name="l00689"></a>00689 cout << <span class="stringliteral">" - Identifier: "</span> << pd.identifier << endl; +<a name="l00690"></a>00690 cout << <span class="stringliteral">" - Description: \""</span> << pd.description << <span class="stringliteral">"\""</span> << endl; +<a name="l00691"></a>00691 <span class="keywordflow">if</span> (pd.unit != <span class="stringliteral">""</span>) { +<a name="l00692"></a>00692 cout << <span class="stringliteral">" - Unit: "</span> << pd.unit << endl; +<a name="l00693"></a>00693 } +<a name="l00694"></a>00694 cout << <span class="stringliteral">" - Range: "</span>; +<a name="l00695"></a>00695 cout << pd.minValue << <span class="stringliteral">" -> "</span> << pd.maxValue << endl; +<a name="l00696"></a>00696 cout << <span class="stringliteral">" - Default: "</span>; +<a name="l00697"></a>00697 cout << pd.defaultValue << endl; +<a name="l00698"></a>00698 <span class="keywordflow">if</span> (pd.isQuantized) { +<a name="l00699"></a>00699 cout << <span class="stringliteral">" - Quantize Step: "</span> +<a name="l00700"></a>00700 << pd.quantizeStep << endl; +<a name="l00701"></a>00701 } +<a name="l00702"></a>00702 <span class="keywordflow">if</span> (!pd.valueNames.empty()) { +<a name="l00703"></a>00703 cout << <span class="stringliteral">" - Value Names: "</span>; +<a name="l00704"></a>00704 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> k = 0; k < pd.valueNames.size(); ++k) { +<a name="l00705"></a>00705 <span class="keywordflow">if</span> (k > 0) cout << <span class="stringliteral">", "</span>; +<a name="l00706"></a>00706 cout << <span class="stringliteral">"\""</span> << pd.valueNames[k] << <span class="stringliteral">"\""</span>; +<a name="l00707"></a>00707 } +<a name="l00708"></a>00708 cout << endl; +<a name="l00709"></a>00709 } +<a name="l00710"></a>00710 } +<a name="l00711"></a>00711 +<a name="l00712"></a>00712 <span class="keywordflow">if</span> (outputs.empty()) { +<a name="l00713"></a>00713 cout << <span class="stringliteral">"\n** Note: This plugin reports no outputs!"</span> << endl; +<a name="l00714"></a>00714 } +<a name="l00715"></a>00715 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> j = 0; j < outputs.size(); ++j) { +<a name="l00716"></a>00716 Plugin::OutputDescriptor &od(outputs[j]); +<a name="l00717"></a>00717 cout << <span class="stringliteral">"\nOutput "</span> << j+1 << <span class="stringliteral">": \""</span> << od.name << <span class="stringliteral">"\""</span> << endl; +<a name="l00718"></a>00718 cout << <span class="stringliteral">" - Identifier: "</span> << od.identifier << endl; +<a name="l00719"></a>00719 cout << <span class="stringliteral">" - Description: \""</span> << od.description << <span class="stringliteral">"\""</span> << endl; +<a name="l00720"></a>00720 <span class="keywordflow">if</span> (od.unit != <span class="stringliteral">""</span>) { +<a name="l00721"></a>00721 cout << <span class="stringliteral">" - Unit: "</span> << od.unit << endl; +<a name="l00722"></a>00722 } +<a name="l00723"></a>00723 <span class="keywordflow">if</span> (od.hasFixedBinCount) { +<a name="l00724"></a>00724 cout << <span class="stringliteral">" - Default Bin Count: "</span> << od.binCount << endl; +<a name="l00725"></a>00725 } +<a name="l00726"></a>00726 <span class="keywordflow">if</span> (!od.binNames.empty()) { +<a name="l00727"></a>00727 <span class="keywordtype">bool</span> have = <span class="keyword">false</span>; +<a name="l00728"></a>00728 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> k = 0; k < od.binNames.size(); ++k) { +<a name="l00729"></a>00729 <span class="keywordflow">if</span> (od.binNames[k] != <span class="stringliteral">""</span>) { +<a name="l00730"></a>00730 have = <span class="keyword">true</span>; <span class="keywordflow">break</span>; +<a name="l00731"></a>00731 } +<a name="l00732"></a>00732 } +<a name="l00733"></a>00733 <span class="keywordflow">if</span> (have) { +<a name="l00734"></a>00734 cout << <span class="stringliteral">" - Bin Names: "</span>; +<a name="l00735"></a>00735 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> k = 0; k < od.binNames.size(); ++k) { +<a name="l00736"></a>00736 <span class="keywordflow">if</span> (k > 0) cout << <span class="stringliteral">", "</span>; +<a name="l00737"></a>00737 cout << <span class="stringliteral">"\""</span> << od.binNames[k] << <span class="stringliteral">"\""</span>; +<a name="l00738"></a>00738 } +<a name="l00739"></a>00739 cout << endl; +<a name="l00740"></a>00740 } +<a name="l00741"></a>00741 } +<a name="l00742"></a>00742 <span class="keywordflow">if</span> (od.hasKnownExtents) { +<a name="l00743"></a>00743 cout << <span class="stringliteral">" - Default Extents: "</span>; +<a name="l00744"></a>00744 cout << od.minValue << <span class="stringliteral">" -> "</span> << od.maxValue << endl; +<a name="l00745"></a>00745 } +<a name="l00746"></a>00746 <span class="keywordflow">if</span> (od.isQuantized) { +<a name="l00747"></a>00747 cout << <span class="stringliteral">" - Quantize Step: "</span> +<a name="l00748"></a>00748 << od.quantizeStep << endl; +<a name="l00749"></a>00749 } +<a name="l00750"></a>00750 cout << <span class="stringliteral">" - Sample Type: "</span> +<a name="l00751"></a>00751 << (od.sampleType == +<a name="l00752"></a>00752 Plugin::OutputDescriptor::OneSamplePerStep ? +<a name="l00753"></a>00753 <span class="stringliteral">"One Sample Per Step"</span> : +<a name="l00754"></a>00754 od.sampleType == +<a name="l00755"></a>00755 Plugin::OutputDescriptor::FixedSampleRate ? +<a name="l00756"></a>00756 <span class="stringliteral">"Fixed Sample Rate"</span> : +<a name="l00757"></a>00757 <span class="stringliteral">"Variable Sample Rate"</span>) << endl; +<a name="l00758"></a>00758 <span class="keywordflow">if</span> (od.sampleType != +<a name="l00759"></a>00759 Plugin::OutputDescriptor::OneSamplePerStep) { +<a name="l00760"></a>00760 cout << <span class="stringliteral">" - Default Rate: "</span> +<a name="l00761"></a>00761 << od.sampleRate << endl; +<a name="l00762"></a>00762 } +<a name="l00763"></a>00763 cout << <span class="stringliteral">" - Has Duration: "</span> +<a name="l00764"></a>00764 << (od.hasDuration ? <span class="stringliteral">"Yes"</span> : <span class="stringliteral">"No"</span>) << endl; +<a name="l00765"></a>00765 } +<a name="l00766"></a>00766 } +<a name="l00767"></a>00767 +<a name="l00768"></a>00768 <span class="keywordflow">if</span> (outputs.size() > 1 || verbosity == <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a30eab122efa9537df4ecb2fc27fc354e">PluginOutputIds</a>) { +<a name="l00769"></a>00769 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> j = 0; j < outputs.size(); ++j) { +<a name="l00770"></a>00770 <span class="keywordflow">if</span> (verbosity == <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a8acba147ed4716f3baa8546f6dc055a1">PluginInformation</a>) { +<a name="l00771"></a>00771 cout << <span class="stringliteral">" ("</span> << j << <span class="stringliteral">") "</span> +<a name="l00772"></a>00772 << outputs[j].name << <span class="stringliteral">", \""</span> +<a name="l00773"></a>00773 << outputs[j].identifier << <span class="stringliteral">"\""</span> << endl; +<a name="l00774"></a>00774 <span class="keywordflow">if</span> (outputs[j].description != <span class="stringliteral">""</span>) { +<a name="l00775"></a>00775 cout << <span class="stringliteral">" - "</span> +<a name="l00776"></a>00776 << outputs[j].description << endl; +<a name="l00777"></a>00777 } +<a name="l00778"></a>00778 } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (verbosity == <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a30eab122efa9537df4ecb2fc27fc354e">PluginOutputIds</a>) { +<a name="l00779"></a>00779 cout << <span class="stringliteral">"vamp:"</span> << key << <span class="stringliteral">":"</span> << outputs[j].identifier << endl; +<a name="l00780"></a>00780 } +<a name="l00781"></a>00781 } +<a name="l00782"></a>00782 } +<a name="l00783"></a>00783 +<a name="l00784"></a>00784 ++index; +<a name="l00785"></a>00785 +<a name="l00786"></a>00786 <span class="keyword">delete</span> plugin; +<a name="l00787"></a>00787 } +<a name="l00788"></a>00788 } +<a name="l00789"></a>00789 +<a name="l00790"></a>00790 <span class="keywordflow">if</span> (verbosity == <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a8acba147ed4716f3baa8546f6dc055a1">PluginInformation</a> || +<a name="l00791"></a>00791 verbosity == <a class="code" href="vamp-simple-host_8cpp.html#abf3be10d03894afb391f3a2935e3b313a2624ce417628b6d40ce0973ba381c1e6">PluginInformationDetailed</a>) { +<a name="l00792"></a>00792 cout << endl; +<a name="l00793"></a>00793 } +<a name="l00794"></a>00794 } +<a name="l00795"></a>00795 +<a name="l00796"></a>00796 <span class="keywordtype">void</span> +<a name="l00797"></a><a class="code" href="vamp-simple-host_8cpp.html#af771864c41f23e5755ed99e8ac6609a5">00797</a> <a class="code" href="vamp-simple-host_8cpp.html#af771864c41f23e5755ed99e8ac6609a5">printPluginCategoryList</a>() +<a name="l00798"></a>00798 { +<a name="l00799"></a>00799 <a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html" title="Vamp::HostExt::PluginLoader is a convenience class for discovering and loading Vamp plugins using the...">PluginLoader</a> *loader = PluginLoader::getInstance(); +<a name="l00800"></a>00800 +<a name="l00801"></a>00801 vector<PluginLoader::PluginKey> plugins = loader-><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#aff51b52bb68aa2934ccf26ad1d284f28" title="Search for all available Vamp plugins, and return a list of them in the order in which they were foun...">listPlugins</a>(); +<a name="l00802"></a>00802 +<a name="l00803"></a>00803 set<string> printedcats; +<a name="l00804"></a>00804 +<a name="l00805"></a>00805 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < plugins.size(); ++i) { +<a name="l00806"></a>00806 +<a name="l00807"></a>00807 PluginLoader::PluginKey key = plugins[i]; +<a name="l00808"></a>00808 +<a name="l00809"></a>00809 PluginLoader::PluginCategoryHierarchy category = +<a name="l00810"></a>00810 loader-><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#a52746ea66339ad981b868a031a3b382d" title="Return the category hierarchy for a Vamp plugin, given its identifying key.">getPluginCategory</a>(key); +<a name="l00811"></a>00811 +<a name="l00812"></a>00812 <a class="code" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Plugin</a> *plugin = loader-><a class="code" href="classVamp_1_1HostExt_1_1PluginLoader.html#a964689eb9688cd7e58e8c82ebb0d305f" title="Load a Vamp plugin, given its identifying key.">loadPlugin</a>(key, 48000); +<a name="l00813"></a>00813 <span class="keywordflow">if</span> (!plugin) <span class="keywordflow">continue</span>; +<a name="l00814"></a>00814 +<a name="l00815"></a>00815 <span class="keywordtype">string</span> catstr = <span class="stringliteral">""</span>; +<a name="l00816"></a>00816 +<a name="l00817"></a>00817 <span class="keywordflow">if</span> (category.empty()) catstr = <span class="charliteral">'|'</span>; +<a name="l00818"></a>00818 <span class="keywordflow">else</span> { +<a name="l00819"></a>00819 <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> j = 0; j < category.size(); ++j) { +<a name="l00820"></a>00820 catstr += category[j]; +<a name="l00821"></a>00821 catstr += <span class="charliteral">'|'</span>; +<a name="l00822"></a>00822 <span class="keywordflow">if</span> (printedcats.find(catstr) == printedcats.end()) { +<a name="l00823"></a>00823 std::cout << catstr << std::endl; +<a name="l00824"></a>00824 printedcats.insert(catstr); +<a name="l00825"></a>00825 } +<a name="l00826"></a>00826 } +<a name="l00827"></a>00827 } +<a name="l00828"></a>00828 +<a name="l00829"></a>00829 std::cout << catstr << key << <span class="stringliteral">":::"</span> << plugin-><a class="code" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232" title="Get a human-readable name or title of the plugin.">getName</a>() << <span class="stringliteral">":::"</span> << plugin-><a class="code" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637" title="Get the name of the author or vendor of the plugin in human-readable form.">getMaker</a>() << <span class="stringliteral">":::"</span> << plugin-><a class="code" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a" title="Get a human-readable description for the plugin, typically a line of text that may optionally be disp...">getDescription</a>() << std::endl; +<a name="l00830"></a>00830 } +<a name="l00831"></a>00831 } +<a name="l00832"></a>00832 +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp-simple-host_8cpp.html">vamp-simple-host.cpp</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp_8h.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,385 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: vamp.h File Reference</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Classes</a> | +<a href="#define-members">Defines</a> | +<a href="#typedef-members">Typedefs</a> | +<a href="#enum-members">Enumerations</a> | +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">vamp.h File Reference</div> </div> +</div> +<div class="contents"> + +<p><a href="vamp_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr><td colspan="2"><h2><a name="nested-classes"></a> +Classes</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">C language API for <a class="el" href="namespaceVamp.html">Vamp</a> plugins. <a href="struct__VampParameterDescriptor.html#details">More...</a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampFeature.html">_VampFeature</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampFeatureV2.html">_VampFeatureV2</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">union  </td><td class="memItemRight" valign="bottom"><a class="el" href="union__VampFeatureUnion.html">_VampFeatureUnion</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampFeatureList.html">_VampFeatureList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></td></tr> +<tr><td colspan="2"><h2><a name="define-members"></a> +Defines</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp_8h.html#a6d6c8c755dbabf161f72712e0e2143c7">VAMP_API_VERSION</a>   2</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Plugin API version. <a href="#a6d6c8c755dbabf161f72712e0e2143c7"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="typedef-members"></a> +Typedefs</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> +<a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp_8h.html#ae26a9d54a92f1c083a1b209a25a8e44e">VampParameterDescriptor</a></td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">C language API for <a class="el" href="namespaceVamp.html">Vamp</a> plugins. <a href="#ae26a9d54a92f1c083a1b209a25a8e44e"></a><br/></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> +<a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp_8h.html#aa8429dd9c60d65800c58574c2b06bf66">VampOutputDescriptor</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__VampFeature.html">_VampFeature</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp_8h.html#a8d04355c13e5ff7a146abcb168cb919f">VampFeature</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__VampFeatureV2.html">_VampFeatureV2</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp_8h.html#a41cb3518127d0971b1d2c8edfbbe2763">VampFeatureV2</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef union <a class="el" href="union__VampFeatureUnion.html">_VampFeatureUnion</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp_8h.html#a2517349f1c97e0c59faab6085e092fcd">VampFeatureUnion</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__VampFeatureList.html">_VampFeatureList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp_8h.html#a5f257e3f8b5ca1ca4c159d486e219078">VampFeatureList</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef void * </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> +<a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">typedef const <br class="typebreak"/> +<a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a> *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp_8h.html#a551bb7e0d8c970c2202be5f881817478">VampGetPluginDescriptorFunction</a> )(unsigned int, unsigned int)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Function pointer type for vampGetPluginDescriptor. <a href="#a551bb7e0d8c970c2202be5f881817478"></a><br/></td></tr> +<tr><td colspan="2"><h2><a name="enum-members"></a> +Enumerations</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821">VampSampleType</a> { <a class="el" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821ab546deafd57f175fb1e7f9cbea1c5113">vampOneSamplePerStep</a>, +<a class="el" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821aafc8a05f722bc83ecce227e12e838cf8">vampFixedSampleRate</a>, +<a class="el" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821abae8a21a9e30eb73e16d6abc6c7415e8">vampVariableSampleRate</a> + }</td></tr> +<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765">VampInputDomain</a> { <a class="el" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765ae3dbb77ff3e8f292966fd3748888e1a1">vampTimeDomain</a>, +<a class="el" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765aee0c1c0d429276f071b8c0730b7bd87d">vampFrequencyDomain</a> + }</td></tr> +<tr><td colspan="2"><h2><a name="func-members"></a> +Functions</h2></td></tr> +<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="vamp_8h.html#a50cf6f17d0718f02093be6c7f63fcf30">vampGetPluginDescriptor</a> (unsigned int hostApiVersion, unsigned int index)</td></tr> +<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the descriptor for a given plugin index in this library. <a href="#a50cf6f17d0718f02093be6c7f63fcf30"></a><br/></td></tr> +</table> +<hr/><h2>Define Documentation</h2> +<a class="anchor" id="a6d6c8c755dbabf161f72712e0e2143c7"></a><!-- doxytag: member="vamp.h::VAMP_API_VERSION" ref="a6d6c8c755dbabf161f72712e0e2143c7" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define VAMP_API_VERSION   2</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Plugin API version. </p> +<p>This is incremented when a change is made that changes the binary layout of the descriptor records. When this happens, there should be a mechanism for retaining compatibility with older hosts and/or plugins.</p> +<p>See also the vampApiVersion field in the plugin descriptor, and the hostApiVersion argument to the vampGetPluginDescriptor function. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00053">53</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +<p>Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00137">main()</a>.</p> + +</div> +</div> +<hr/><h2>Typedef Documentation</h2> +<a class="anchor" id="ae26a9d54a92f1c083a1b209a25a8e44e"></a><!-- doxytag: member="vamp.h::VampParameterDescriptor" ref="ae26a9d54a92f1c083a1b209a25a8e44e" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef struct <a class="el" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a> <a class="el" href="vamp_8h.html#ae26a9d54a92f1c083a1b209a25a8e44e">VampParameterDescriptor</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>C language API for <a class="el" href="namespaceVamp.html">Vamp</a> plugins. </p> +<p>This is the formal plugin API for <a class="el" href="namespaceVamp.html">Vamp</a>. Plugin authors may prefer to use the C++ classes provided in the <a class="el" href="namespaceVamp.html">Vamp</a> plugin SDK, instead of using this API directly. There is an adapter class provided that makes C++ plugins available using this C API with relatively little work, and the C++ headers are more thoroughly documented.</p> +<p>IMPORTANT: The comments in this file summarise the purpose of each of the declared fields and functions, but do not provide a complete guide to their permitted values and expected usage. Please refer to the C++ headers in the <a class="el" href="namespaceVamp.html">Vamp</a> plugin SDK for further details and plugin lifecycle documentation. </p> + +</div> +</div> +<a class="anchor" id="aa8429dd9c60d65800c58574c2b06bf66"></a><!-- doxytag: member="vamp.h::VampOutputDescriptor" ref="aa8429dd9c60d65800c58574c2b06bf66" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef struct <a class="el" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a> <a class="el" href="vamp_8h.html#aa8429dd9c60d65800c58574c2b06bf66">VampOutputDescriptor</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="a8d04355c13e5ff7a146abcb168cb919f"></a><!-- doxytag: member="vamp.h::VampFeature" ref="a8d04355c13e5ff7a146abcb168cb919f" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef struct <a class="el" href="struct__VampFeature.html">_VampFeature</a> <a class="el" href="vamp_8h.html#a8d04355c13e5ff7a146abcb168cb919f">VampFeature</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="a41cb3518127d0971b1d2c8edfbbe2763"></a><!-- doxytag: member="vamp.h::VampFeatureV2" ref="a41cb3518127d0971b1d2c8edfbbe2763" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef struct <a class="el" href="struct__VampFeatureV2.html">_VampFeatureV2</a> <a class="el" href="vamp_8h.html#a41cb3518127d0971b1d2c8edfbbe2763">VampFeatureV2</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="a2517349f1c97e0c59faab6085e092fcd"></a><!-- doxytag: member="vamp.h::VampFeatureUnion" ref="a2517349f1c97e0c59faab6085e092fcd" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef union <a class="el" href="union__VampFeatureUnion.html">_VampFeatureUnion</a> <a class="el" href="vamp_8h.html#a2517349f1c97e0c59faab6085e092fcd">VampFeatureUnion</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="a5f257e3f8b5ca1ca4c159d486e219078"></a><!-- doxytag: member="vamp.h::VampFeatureList" ref="a5f257e3f8b5ca1ca4c159d486e219078" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef struct <a class="el" href="struct__VampFeatureList.html">_VampFeatureList</a> <a class="el" href="vamp_8h.html#a5f257e3f8b5ca1ca4c159d486e219078">VampFeatureList</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="ad3be2952b1f4ad7d775940a6db75c79b"></a><!-- doxytag: member="vamp.h::VampPluginHandle" ref="ad3be2952b1f4ad7d775940a6db75c79b" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef void* <a class="el" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00246">246</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="aa1d6e0792099b9516a89b5fb7ed2ad2b"></a><!-- doxytag: member="vamp.h::VampPluginDescriptor" ref="aa1d6e0792099b9516a89b5fb7ed2ad2b" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef struct <a class="el" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a> <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a></td> + </tr> + </table> +</div> +<div class="memdoc"> + +</div> +</div> +<a class="anchor" id="a551bb7e0d8c970c2202be5f881817478"></a><!-- doxytag: member="vamp.h::VampGetPluginDescriptorFunction" ref="a551bb7e0d8c970c2202be5f881817478" args=")(unsigned int, unsigned int)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">typedef const <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a>*(* <a class="el" href="vamp_8h.html#a551bb7e0d8c970c2202be5f881817478">VampGetPluginDescriptorFunction</a>)(unsigned int, unsigned int)</td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Function pointer type for vampGetPluginDescriptor. </p> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00382">382</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<hr/><h2>Enumeration Type Documentation</h2> +<a class="anchor" id="aa24a8cee023d8b7659d25cbe0584b821"></a><!-- doxytag: member="vamp.h::VampSampleType" ref="aa24a8cee023d8b7659d25cbe0584b821" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821">VampSampleType</a></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="aa24a8cee023d8b7659d25cbe0584b821ab546deafd57f175fb1e7f9cbea1c5113"></a><!-- doxytag: member="vampOneSamplePerStep" ref="aa24a8cee023d8b7659d25cbe0584b821ab546deafd57f175fb1e7f9cbea1c5113" args="" -->vampOneSamplePerStep</em> </td><td> +<p>Each process call returns results aligned with call's block start. </p> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="aa24a8cee023d8b7659d25cbe0584b821aafc8a05f722bc83ecce227e12e838cf8"></a><!-- doxytag: member="vampFixedSampleRate" ref="aa24a8cee023d8b7659d25cbe0584b821aafc8a05f722bc83ecce227e12e838cf8" args="" -->vampFixedSampleRate</em> </td><td> +<p>Returned results are evenly spaced at samplerate specified below. </p> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="aa24a8cee023d8b7659d25cbe0584b821abae8a21a9e30eb73e16d6abc6c7415e8"></a><!-- doxytag: member="vampVariableSampleRate" ref="aa24a8cee023d8b7659d25cbe0584b821abae8a21a9e30eb73e16d6abc6c7415e8" args="" -->vampVariableSampleRate</em> </td><td> +<p>Returned results have their own individual timestamps. </p> +</td></tr> +</table> +</dd> +</dl> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00105">105</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<a class="anchor" id="ab107386a5f042feddf6446bea23bb765"></a><!-- doxytag: member="vamp.h::VampInputDomain" ref="ab107386a5f042feddf6446bea23bb765" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">enum <a class="el" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765">VampInputDomain</a></td> + </tr> + </table> +</div> +<div class="memdoc"> +<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> +<tr><td valign="top"><em><a class="anchor" id="ab107386a5f042feddf6446bea23bb765ae3dbb77ff3e8f292966fd3748888e1a1"></a><!-- doxytag: member="vampTimeDomain" ref="ab107386a5f042feddf6446bea23bb765ae3dbb77ff3e8f292966fd3748888e1a1" args="" -->vampTimeDomain</em> </td><td> +</td></tr> +<tr><td valign="top"><em><a class="anchor" id="ab107386a5f042feddf6446bea23bb765aee0c1c0d429276f071b8c0730b7bd87d"></a><!-- doxytag: member="vampFrequencyDomain" ref="ab107386a5f042feddf6446bea23bb765aee0c1c0d429276f071b8c0730b7bd87d" args="" -->vampFrequencyDomain</em> </td><td> +</td></tr> +</table> +</dd> +</dl> + +<p>Definition at line <a class="el" href="vamp_8h_source.html#l00239">239</a> of file <a class="el" href="vamp_8h_source.html">vamp.h</a>.</p> + +</div> +</div> +<hr/><h2>Function Documentation</h2> +<a class="anchor" id="a50cf6f17d0718f02093be6c7f63fcf30"></a><!-- doxytag: member="vamp.h::vampGetPluginDescriptor" ref="a50cf6f17d0718f02093be6c7f63fcf30" args="(unsigned int hostApiVersion, unsigned int index)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a>* vampGetPluginDescriptor </td> + <td>(</td> + <td class="paramtype">unsigned int </td> + <td class="paramname"><em>hostApiVersion</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">unsigned int </td> + <td class="paramname"><em>index</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p>Get the descriptor for a given plugin index in this library. </p> +<p>Return NULL if the index is outside the range of valid indices for this plugin library.</p> +<p>The hostApiVersion argument tells the library code the highest <a class="el" href="namespaceVamp.html">Vamp</a> API version supported by the host. The function should return a plugin descriptor compatible with the highest API version supported by the library that is no higher than that supported by the host. Provided the descriptor has the correct vampApiVersion field for its actual compatibility level, the host should be able to do the right thing with it: use it if possible, discard it otherwise.</p> +<p>This is the only symbol that a <a class="el" href="namespaceVamp.html">Vamp</a> plugin actually needs to export from its shared object; all others can be hidden. See the accompanying documentation for notes on how to achieve this with certain compilers. </p> + +<p>Definition at line <a class="el" href="plugins_8cpp_source.html#l00054">54</a> of file <a class="el" href="plugins_8cpp_source.html">plugins.cpp</a>.</p> + +<p>References <a class="el" href="classVamp_1_1PluginAdapterBase.html#ad24595002512f9f00e8e45216d6f5dfb">Vamp::PluginAdapterBase::getDescriptor()</a>.</p> + +</div> +</div> +</div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp_8h.html">vamp.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:50 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/code-docs/vamp_8h_source.html Tue Oct 04 14:56:07 2011 +0100 @@ -0,0 +1,341 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<title>VampPluginSDK: vamp.h Source File</title> + +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> + $(document).ready(initResizable); +</script> + + +</head> +<body> +<div id="top"><!-- do not remove this div! --> + + +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + + + <td style="padding-left: 0.5em;"> + <div id="projectname">VampPluginSDK +  <span id="projectnumber">2.1</span> + </div> + + </td> + + + + </tr> + </tbody> +</table> +</div> + +<!-- Generated by Doxygen 1.7.5.1 --> + <div id="navrow1" class="tabs"> + <ul class="tablist"> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><a href="annotated.html"><span>Classes</span></a></li> + <li class="current"><a href="files.html"><span>Files</span></a></li> + <li><a href="dirs.html"><span>Directories</span></a></li> + </ul> + </div> + <div id="navrow2" class="tabs2"> + <ul class="tablist"> + <li><a href="files.html"><span>File List</span></a></li> + <li><a href="globals.html"><span>File Members</span></a></li> + </ul> + </div> +</div> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> + initNavTree('vamp_8h.html',''); +</script> +<div id="doc-content"> +<div class="header"> + <div class="headertitle"> +<div class="title">vamp.h</div> </div> +</div> +<div class="contents"> +<a href="vamp_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */</span> +<a name="l00002"></a>00002 +<a name="l00003"></a>00003 <span class="comment">/*</span> +<a name="l00004"></a>00004 <span class="comment"> Vamp</span> +<a name="l00005"></a>00005 <span class="comment"></span> +<a name="l00006"></a>00006 <span class="comment"> An API for audio analysis and feature extraction plugins.</span> +<a name="l00007"></a>00007 <span class="comment"></span> +<a name="l00008"></a>00008 <span class="comment"> Centre for Digital Music, Queen Mary, University of London.</span> +<a name="l00009"></a>00009 <span class="comment"> Copyright 2006 Chris Cannam.</span> +<a name="l00010"></a>00010 <span class="comment"> </span> +<a name="l00011"></a>00011 <span class="comment"> Permission is hereby granted, free of charge, to any person</span> +<a name="l00012"></a>00012 <span class="comment"> obtaining a copy of this software and associated documentation</span> +<a name="l00013"></a>00013 <span class="comment"> files (the "Software"), to deal in the Software without</span> +<a name="l00014"></a>00014 <span class="comment"> restriction, including without limitation the rights to use, copy,</span> +<a name="l00015"></a>00015 <span class="comment"> modify, merge, publish, distribute, sublicense, and/or sell copies</span> +<a name="l00016"></a>00016 <span class="comment"> of the Software, and to permit persons to whom the Software is</span> +<a name="l00017"></a>00017 <span class="comment"> furnished to do so, subject to the following conditions:</span> +<a name="l00018"></a>00018 <span class="comment"></span> +<a name="l00019"></a>00019 <span class="comment"> The above copyright notice and this permission notice shall be</span> +<a name="l00020"></a>00020 <span class="comment"> included in all copies or substantial portions of the Software.</span> +<a name="l00021"></a>00021 <span class="comment"></span> +<a name="l00022"></a>00022 <span class="comment"> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span> +<a name="l00023"></a>00023 <span class="comment"> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span> +<a name="l00024"></a>00024 <span class="comment"> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span> +<a name="l00025"></a>00025 <span class="comment"> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span> +<a name="l00026"></a>00026 <span class="comment"> ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span> +<a name="l00027"></a>00027 <span class="comment"> CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span> +<a name="l00028"></a>00028 <span class="comment"> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span> +<a name="l00029"></a>00029 <span class="comment"></span> +<a name="l00030"></a>00030 <span class="comment"> Except as contained in this notice, the names of the Centre for</span> +<a name="l00031"></a>00031 <span class="comment"> Digital Music; Queen Mary, University of London; and Chris Cannam</span> +<a name="l00032"></a>00032 <span class="comment"> shall not be used in advertising or otherwise to promote the sale,</span> +<a name="l00033"></a>00033 <span class="comment"> use or other dealings in this Software without prior written</span> +<a name="l00034"></a>00034 <span class="comment"> authorization.</span> +<a name="l00035"></a>00035 <span class="comment">*/</span> +<a name="l00036"></a>00036 +<a name="l00037"></a>00037 <span class="preprocessor">#ifndef VAMP_HEADER_INCLUDED</span> +<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#define VAMP_HEADER_INCLUDED</span> +<a name="l00039"></a>00039 <span class="preprocessor"></span> +<a name="l00040"></a>00040 <span class="preprocessor">#ifdef __cplusplus</span> +<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { +<a name="l00042"></a>00042 <span class="preprocessor">#endif</span> +<a name="l00043"></a>00043 <span class="preprocessor"></span> +<a name="l00053"></a><a class="code" href="vamp_8h.html#a6d6c8c755dbabf161f72712e0e2143c7">00053</a> <span class="preprocessor">#define VAMP_API_VERSION 2</span> +<a name="l00054"></a>00054 <span class="preprocessor"></span> +<a name="l00071"></a><a class="code" href="struct__VampParameterDescriptor.html">00071</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__VampParameterDescriptor.html" title="C language API for Vamp plugins.">_VampParameterDescriptor</a> +<a name="l00072"></a>00072 { +<a name="l00074"></a><a class="code" href="struct__VampParameterDescriptor.html#a26d74afd6a3341a673f15955031845ab">00074</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampParameterDescriptor.html#a26d74afd6a3341a673f15955031845ab" title="Computer-usable name of the parameter.">identifier</a>; +<a name="l00075"></a>00075 +<a name="l00077"></a><a class="code" href="struct__VampParameterDescriptor.html#abba810bce9656f6002777f6c3f655957">00077</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampParameterDescriptor.html#abba810bce9656f6002777f6c3f655957" title="Human-readable name of the parameter.">name</a>; +<a name="l00078"></a>00078 +<a name="l00080"></a><a class="code" href="struct__VampParameterDescriptor.html#a95489272d6cf5a5b487e949da8e4fac6">00080</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampParameterDescriptor.html#a95489272d6cf5a5b487e949da8e4fac6" title="Human-readable short text about the parameter.">description</a>; +<a name="l00081"></a>00081 +<a name="l00083"></a><a class="code" href="struct__VampParameterDescriptor.html#a8ca235f816b56dc99125e010eee08fc7">00083</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampParameterDescriptor.html#a8ca235f816b56dc99125e010eee08fc7" title="Human-readable unit of the parameter.">unit</a>; +<a name="l00084"></a>00084 +<a name="l00086"></a><a class="code" href="struct__VampParameterDescriptor.html#ab59c84f0bbe0d4d0c578d893c087b0db">00086</a> <span class="keywordtype">float</span> <a class="code" href="struct__VampParameterDescriptor.html#ab59c84f0bbe0d4d0c578d893c087b0db" title="Minimum value.">minValue</a>; +<a name="l00087"></a>00087 +<a name="l00089"></a><a class="code" href="struct__VampParameterDescriptor.html#a6e7646babdb265c4abfc107ba4350d80">00089</a> <span class="keywordtype">float</span> <a class="code" href="struct__VampParameterDescriptor.html#a6e7646babdb265c4abfc107ba4350d80" title="Maximum value.">maxValue</a>; +<a name="l00090"></a>00090 +<a name="l00092"></a><a class="code" href="struct__VampParameterDescriptor.html#a3d37f986ee152ab55feb9902b35f7aca">00092</a> <span class="keywordtype">float</span> <a class="code" href="struct__VampParameterDescriptor.html#a3d37f986ee152ab55feb9902b35f7aca" title="Default value.">defaultValue</a>; +<a name="l00093"></a>00093 +<a name="l00095"></a><a class="code" href="struct__VampParameterDescriptor.html#a3f41e3b6b69c7a95ff0ce8625794f83a">00095</a> <span class="keywordtype">int</span> <a class="code" href="struct__VampParameterDescriptor.html#a3f41e3b6b69c7a95ff0ce8625794f83a" title="1 if parameter values are quantized to a particular resolution.">isQuantized</a>; +<a name="l00096"></a>00096 +<a name="l00098"></a><a class="code" href="struct__VampParameterDescriptor.html#a68c91fd3fc0b0b3617c2d343fe32d0e5">00098</a> <span class="keywordtype">float</span> <a class="code" href="struct__VampParameterDescriptor.html#a68c91fd3fc0b0b3617c2d343fe32d0e5" title="Quantization resolution, if isQuantized.">quantizeStep</a>; +<a name="l00099"></a>00099 +<a name="l00101"></a><a class="code" href="struct__VampParameterDescriptor.html#a188883325ab1e4a898e3dc53a8f88f9d">00101</a> <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code" href="struct__VampParameterDescriptor.html#a188883325ab1e4a898e3dc53a8f88f9d" title="Human-readable names of the values, if isQuantized.">valueNames</a>; +<a name="l00102"></a>00102 +<a name="l00103"></a>00103 } <a class="code" href="vamp_8h.html#ae26a9d54a92f1c083a1b209a25a8e44e" title="C language API for Vamp plugins.">VampParameterDescriptor</a>; +<a name="l00104"></a>00104 +<a name="l00105"></a><a class="code" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821">00105</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> +<a name="l00106"></a>00106 { +<a name="l00108"></a><a class="code" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821ab546deafd57f175fb1e7f9cbea1c5113">00108</a> <a class="code" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821ab546deafd57f175fb1e7f9cbea1c5113" title="Each process call returns results aligned with call's block start.">vampOneSamplePerStep</a>, +<a name="l00109"></a>00109 +<a name="l00111"></a><a class="code" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821aafc8a05f722bc83ecce227e12e838cf8">00111</a> <a class="code" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821aafc8a05f722bc83ecce227e12e838cf8" title="Returned results are evenly spaced at samplerate specified below.">vampFixedSampleRate</a>, +<a name="l00112"></a>00112 +<a name="l00114"></a><a class="code" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821abae8a21a9e30eb73e16d6abc6c7415e8">00114</a> <a class="code" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821abae8a21a9e30eb73e16d6abc6c7415e8" title="Returned results have their own individual timestamps.">vampVariableSampleRate</a> +<a name="l00115"></a>00115 +<a name="l00116"></a>00116 } <a class="code" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821">VampSampleType</a>; +<a name="l00117"></a>00117 +<a name="l00118"></a><a class="code" href="struct__VampOutputDescriptor.html">00118</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a> +<a name="l00119"></a>00119 { +<a name="l00121"></a><a class="code" href="struct__VampOutputDescriptor.html#a461161b2010370176115967e4f58a5f5">00121</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampOutputDescriptor.html#a461161b2010370176115967e4f58a5f5" title="Computer-usable name of the output.">identifier</a>; +<a name="l00122"></a>00122 +<a name="l00124"></a><a class="code" href="struct__VampOutputDescriptor.html#af4fca576bd47167fd2bf9b43d588815f">00124</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampOutputDescriptor.html#af4fca576bd47167fd2bf9b43d588815f" title="Human-readable name of the output.">name</a>; +<a name="l00125"></a>00125 +<a name="l00127"></a><a class="code" href="struct__VampOutputDescriptor.html#abfa911b138cfb80cf63e8f2e0fa0fb89">00127</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampOutputDescriptor.html#abfa911b138cfb80cf63e8f2e0fa0fb89" title="Human-readable short text about the output.">description</a>; +<a name="l00128"></a>00128 +<a name="l00130"></a><a class="code" href="struct__VampOutputDescriptor.html#ad038caa8e596dfd037035637202f1d63">00130</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampOutputDescriptor.html#ad038caa8e596dfd037035637202f1d63" title="Human-readable name of the unit of the output.">unit</a>; +<a name="l00131"></a>00131 +<a name="l00133"></a><a class="code" href="struct__VampOutputDescriptor.html#ae8571f5a2bc740738af0cb7dda0c4749">00133</a> <span class="keywordtype">int</span> <a class="code" href="struct__VampOutputDescriptor.html#ae8571f5a2bc740738af0cb7dda0c4749" title="1 if output has equal number of values for each returned result.">hasFixedBinCount</a>; +<a name="l00134"></a>00134 +<a name="l00136"></a><a class="code" href="struct__VampOutputDescriptor.html#a652ee422092720e44d23d98bdb68f978">00136</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct__VampOutputDescriptor.html#a652ee422092720e44d23d98bdb68f978" title="Number of values per result, if hasFixedBinCount.">binCount</a>; +<a name="l00137"></a>00137 +<a name="l00139"></a><a class="code" href="struct__VampOutputDescriptor.html#a10fffaa32bd894843ff7592240dfe447">00139</a> <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code" href="struct__VampOutputDescriptor.html#a10fffaa32bd894843ff7592240dfe447" title="Names of returned value bins, if hasFixedBinCount.">binNames</a>; +<a name="l00140"></a>00140 +<a name="l00142"></a><a class="code" href="struct__VampOutputDescriptor.html#af6b512d772023b4e852216689c1c4465">00142</a> <span class="keywordtype">int</span> <a class="code" href="struct__VampOutputDescriptor.html#af6b512d772023b4e852216689c1c4465" title="1 if each returned value falls within the same fixed min/max range.">hasKnownExtents</a>; +<a name="l00143"></a>00143 +<a name="l00145"></a><a class="code" href="struct__VampOutputDescriptor.html#a9a28180989e3d028c12a98517479dc46">00145</a> <span class="keywordtype">float</span> <a class="code" href="struct__VampOutputDescriptor.html#a9a28180989e3d028c12a98517479dc46" title="Minimum value for a returned result in any bin, if hasKnownExtents.">minValue</a>; +<a name="l00146"></a>00146 +<a name="l00148"></a><a class="code" href="struct__VampOutputDescriptor.html#a4cbe540a247df60f85b00b2aa16461ee">00148</a> <span class="keywordtype">float</span> <a class="code" href="struct__VampOutputDescriptor.html#a4cbe540a247df60f85b00b2aa16461ee" title="Maximum value for a returned result in any bin, if hasKnownExtents.">maxValue</a>; +<a name="l00149"></a>00149 +<a name="l00151"></a><a class="code" href="struct__VampOutputDescriptor.html#ab56cf0bbb17136819024574d5cc65e30">00151</a> <span class="keywordtype">int</span> <a class="code" href="struct__VampOutputDescriptor.html#ab56cf0bbb17136819024574d5cc65e30" title="1 if returned results are quantized to a particular resolution.">isQuantized</a>; +<a name="l00152"></a>00152 +<a name="l00154"></a><a class="code" href="struct__VampOutputDescriptor.html#a71aa40222dda4321030cccd0bb655fe3">00154</a> <span class="keywordtype">float</span> <a class="code" href="struct__VampOutputDescriptor.html#a71aa40222dda4321030cccd0bb655fe3" title="Quantization resolution for returned results, if isQuantized.">quantizeStep</a>; +<a name="l00155"></a>00155 +<a name="l00157"></a><a class="code" href="struct__VampOutputDescriptor.html#a5da1d27cc99badc214640e859b882072">00157</a> <a class="code" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821">VampSampleType</a> <a class="code" href="struct__VampOutputDescriptor.html#a5da1d27cc99badc214640e859b882072" title="Time positioning method for returned results (see VampSampleType).">sampleType</a>; +<a name="l00158"></a>00158 +<a name="l00161"></a><a class="code" href="struct__VampOutputDescriptor.html#a1ccf193317b2b9c2eb0dbd8dcf61d26e">00161</a> <span class="keywordtype">float</span> <a class="code" href="struct__VampOutputDescriptor.html#a1ccf193317b2b9c2eb0dbd8dcf61d26e" title="Sample rate of returned results, if sampleType is vampFixedSampleRate.">sampleRate</a>; +<a name="l00162"></a>00162 +<a name="l00170"></a><a class="code" href="struct__VampOutputDescriptor.html#af792a96dbf292ec966b9b68250febd99">00170</a> <span class="keywordtype">int</span> <a class="code" href="struct__VampOutputDescriptor.html#af792a96dbf292ec966b9b68250febd99" title="1 if the returned results for this output are known to have a duration field.">hasDuration</a>; +<a name="l00171"></a>00171 +<a name="l00172"></a>00172 } <a class="code" href="vamp_8h.html#aa8429dd9c60d65800c58574c2b06bf66">VampOutputDescriptor</a>; +<a name="l00173"></a>00173 +<a name="l00174"></a><a class="code" href="struct__VampFeature.html">00174</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__VampFeature.html">_VampFeature</a> +<a name="l00175"></a>00175 { +<a name="l00177"></a><a class="code" href="struct__VampFeature.html#abe6aa7a08185beeb9deca2d08d99859f">00177</a> <span class="keywordtype">int</span> <a class="code" href="struct__VampFeature.html#abe6aa7a08185beeb9deca2d08d99859f" title="1 if the feature has a timestamp (i.e.">hasTimestamp</a>; +<a name="l00178"></a>00178 +<a name="l00180"></a><a class="code" href="struct__VampFeature.html#a31f0b57050e33d082692536097953d9c">00180</a> <span class="keywordtype">int</span> <a class="code" href="struct__VampFeature.html#a31f0b57050e33d082692536097953d9c" title="Seconds component of timestamp.">sec</a>; +<a name="l00181"></a>00181 +<a name="l00183"></a><a class="code" href="struct__VampFeature.html#a8874cb23600c6b10ca6e8a40920d999e">00183</a> <span class="keywordtype">int</span> <a class="code" href="struct__VampFeature.html#a8874cb23600c6b10ca6e8a40920d999e" title="Nanoseconds component of timestamp.">nsec</a>; +<a name="l00184"></a>00184 +<a name="l00186"></a><a class="code" href="struct__VampFeature.html#ab1ce7c8a2b489e9b0694a967497a29fd">00186</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct__VampFeature.html#ab1ce7c8a2b489e9b0694a967497a29fd" title="Number of values.">valueCount</a>; +<a name="l00187"></a>00187 +<a name="l00189"></a><a class="code" href="struct__VampFeature.html#ae4030f941ddb2bab8bc147b88e1f1c15">00189</a> <span class="keywordtype">float</span> *<a class="code" href="struct__VampFeature.html#ae4030f941ddb2bab8bc147b88e1f1c15" title="Values for this returned sample.">values</a>; +<a name="l00190"></a>00190 +<a name="l00192"></a><a class="code" href="struct__VampFeature.html#a6662b7489a7890cae713bf4e8f6d52cd">00192</a> <span class="keywordtype">char</span> *<a class="code" href="struct__VampFeature.html#a6662b7489a7890cae713bf4e8f6d52cd" title="Label for this returned sample.">label</a>; +<a name="l00193"></a>00193 +<a name="l00194"></a>00194 } <a class="code" href="vamp_8h.html#a8d04355c13e5ff7a146abcb168cb919f">VampFeature</a>; +<a name="l00195"></a>00195 +<a name="l00196"></a><a class="code" href="struct__VampFeatureV2.html">00196</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__VampFeatureV2.html">_VampFeatureV2</a> +<a name="l00197"></a>00197 { +<a name="l00199"></a><a class="code" href="struct__VampFeatureV2.html#a44d9c57f1ae197d3fec1a48c650cce81">00199</a> <span class="keywordtype">int</span> <a class="code" href="struct__VampFeatureV2.html#a44d9c57f1ae197d3fec1a48c650cce81" title="1 if the feature has a duration.">hasDuration</a>; +<a name="l00200"></a>00200 +<a name="l00202"></a><a class="code" href="struct__VampFeatureV2.html#abc95aac3a2efdef6ef0b17e7b6bd3daf">00202</a> <span class="keywordtype">int</span> <a class="code" href="struct__VampFeatureV2.html#abc95aac3a2efdef6ef0b17e7b6bd3daf" title="Seconds component of duratiion.">durationSec</a>; +<a name="l00203"></a>00203 +<a name="l00205"></a><a class="code" href="struct__VampFeatureV2.html#af71693d907f69048d602d28edbce679e">00205</a> <span class="keywordtype">int</span> <a class="code" href="struct__VampFeatureV2.html#af71693d907f69048d602d28edbce679e" title="Nanoseconds component of duration.">durationNsec</a>; +<a name="l00206"></a>00206 +<a name="l00207"></a>00207 } <a class="code" href="vamp_8h.html#a41cb3518127d0971b1d2c8edfbbe2763">VampFeatureV2</a>; +<a name="l00208"></a>00208 +<a name="l00209"></a><a class="code" href="union__VampFeatureUnion.html">00209</a> <span class="keyword">typedef</span> <span class="keyword">union </span><a class="code" href="union__VampFeatureUnion.html">_VampFeatureUnion</a> +<a name="l00210"></a>00210 { +<a name="l00211"></a>00211 <span class="comment">// sizeof(featureV1) >= sizeof(featureV2) for backward compatibility</span> +<a name="l00212"></a><a class="code" href="union__VampFeatureUnion.html#a4a32a2ce141ec3cd36b8be54cd9c3369">00212</a> <a class="code" href="struct__VampFeature.html">VampFeature</a> <a class="code" href="union__VampFeatureUnion.html#a4a32a2ce141ec3cd36b8be54cd9c3369">v1</a>; +<a name="l00213"></a><a class="code" href="union__VampFeatureUnion.html#a87e508e37e02cce11c3c4ddf087a627a">00213</a> <a class="code" href="struct__VampFeatureV2.html">VampFeatureV2</a> <a class="code" href="union__VampFeatureUnion.html#a87e508e37e02cce11c3c4ddf087a627a">v2</a>; +<a name="l00214"></a>00214 +<a name="l00215"></a>00215 } <a class="code" href="vamp_8h.html#a2517349f1c97e0c59faab6085e092fcd">VampFeatureUnion</a>; +<a name="l00216"></a>00216 +<a name="l00217"></a><a class="code" href="struct__VampFeatureList.html">00217</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__VampFeatureList.html">_VampFeatureList</a> +<a name="l00218"></a>00218 { +<a name="l00220"></a><a class="code" href="struct__VampFeatureList.html#a01db33a31ae5e04a4bd097f4b6aa75f1">00220</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct__VampFeatureList.html#a01db33a31ae5e04a4bd097f4b6aa75f1" title="Number of features in this feature list.">featureCount</a>; +<a name="l00221"></a>00221 +<a name="l00235"></a><a class="code" href="struct__VampFeatureList.html#a103c817094643ac5ff4410768f4f92a7">00235</a> <a class="code" href="union__VampFeatureUnion.html">VampFeatureUnion</a> *<a class="code" href="struct__VampFeatureList.html#a103c817094643ac5ff4410768f4f92a7" title="Features in this feature list.">features</a>; +<a name="l00236"></a>00236 +<a name="l00237"></a>00237 } <a class="code" href="vamp_8h.html#a5f257e3f8b5ca1ca4c159d486e219078">VampFeatureList</a>; +<a name="l00238"></a>00238 +<a name="l00239"></a><a class="code" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765">00239</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> +<a name="l00240"></a>00240 { +<a name="l00241"></a><a class="code" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765ae3dbb77ff3e8f292966fd3748888e1a1">00241</a> <a class="code" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765ae3dbb77ff3e8f292966fd3748888e1a1">vampTimeDomain</a>, +<a name="l00242"></a><a class="code" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765aee0c1c0d429276f071b8c0730b7bd87d">00242</a> <a class="code" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765aee0c1c0d429276f071b8c0730b7bd87d">vampFrequencyDomain</a> +<a name="l00243"></a>00243 +<a name="l00244"></a>00244 } <a class="code" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765">VampInputDomain</a>; +<a name="l00245"></a>00245 +<a name="l00246"></a><a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">00246</a> <span class="keyword">typedef</span> <span class="keywordtype">void</span> *<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>; +<a name="l00247"></a>00247 +<a name="l00248"></a><a class="code" href="struct__VampPluginDescriptor.html">00248</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a> +<a name="l00249"></a>00249 { +<a name="l00251"></a><a class="code" href="struct__VampPluginDescriptor.html#ab6c87760e87ddaa9ac3491bccaaa28c2">00251</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct__VampPluginDescriptor.html#ab6c87760e87ddaa9ac3491bccaaa28c2" title="API version with which this descriptor is compatible.">vampApiVersion</a>; +<a name="l00252"></a>00252 +<a name="l00254"></a><a class="code" href="struct__VampPluginDescriptor.html#a4915ec8276749cb505c01d25a6d02219">00254</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampPluginDescriptor.html#a4915ec8276749cb505c01d25a6d02219" title="Computer-usable name of the plugin.">identifier</a>; +<a name="l00255"></a>00255 +<a name="l00257"></a><a class="code" href="struct__VampPluginDescriptor.html#a9dd5a0190e4d453ff36b5acb7000b150">00257</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampPluginDescriptor.html#a9dd5a0190e4d453ff36b5acb7000b150" title="Human-readable name of the plugin.">name</a>; +<a name="l00258"></a>00258 +<a name="l00260"></a><a class="code" href="struct__VampPluginDescriptor.html#a9ff8050f92f1a04a68bb34a9d368295e">00260</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampPluginDescriptor.html#a9ff8050f92f1a04a68bb34a9d368295e" title="Human-readable short text about the plugin.">description</a>; +<a name="l00261"></a>00261 +<a name="l00263"></a><a class="code" href="struct__VampPluginDescriptor.html#a4dca3d57331802964716edfa80580c9b">00263</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampPluginDescriptor.html#a4dca3d57331802964716edfa80580c9b" title="Human-readable name of plugin's author or vendor.">maker</a>; +<a name="l00264"></a>00264 +<a name="l00266"></a><a class="code" href="struct__VampPluginDescriptor.html#a04427c420d9252c7796c0bf5101345ae">00266</a> <span class="keywordtype">int</span> <a class="code" href="struct__VampPluginDescriptor.html#a04427c420d9252c7796c0bf5101345ae" title="Version number of the plugin.">pluginVersion</a>; +<a name="l00267"></a>00267 +<a name="l00269"></a><a class="code" href="struct__VampPluginDescriptor.html#ae704bba384af0de056a26da1b13ee521">00269</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampPluginDescriptor.html#ae704bba384af0de056a26da1b13ee521" title="Human-readable summary of copyright or licensing for plugin.">copyright</a>; +<a name="l00270"></a>00270 +<a name="l00272"></a><a class="code" href="struct__VampPluginDescriptor.html#ae6271dc3ea0cea959c84a64185492cab">00272</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct__VampPluginDescriptor.html#ae6271dc3ea0cea959c84a64185492cab" title="Number of parameter inputs.">parameterCount</a>; +<a name="l00273"></a>00273 +<a name="l00275"></a><a class="code" href="struct__VampPluginDescriptor.html#a64d614862604c31d6b84c49005f51913">00275</a> <span class="keyword">const</span> <a class="code" href="struct__VampParameterDescriptor.html" title="C language API for Vamp plugins.">VampParameterDescriptor</a> **<a class="code" href="struct__VampPluginDescriptor.html#a64d614862604c31d6b84c49005f51913" title="Fixed descriptors for parameter inputs.">parameters</a>; +<a name="l00276"></a>00276 +<a name="l00278"></a><a class="code" href="struct__VampPluginDescriptor.html#a1962666aa173e7a9a2c30dc82e4b2e00">00278</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct__VampPluginDescriptor.html#a1962666aa173e7a9a2c30dc82e4b2e00" title="Number of programs.">programCount</a>; +<a name="l00279"></a>00279 +<a name="l00281"></a><a class="code" href="struct__VampPluginDescriptor.html#ad488470c582d8472d86455889d71c5ec">00281</a> <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code" href="struct__VampPluginDescriptor.html#ad488470c582d8472d86455889d71c5ec" title="Fixed names for programs.">programs</a>; +<a name="l00282"></a>00282 +<a name="l00284"></a><a class="code" href="struct__VampPluginDescriptor.html#affc4d1796da7ced2c0cbb2cc2c4a22f4">00284</a> <a class="code" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765">VampInputDomain</a> <a class="code" href="struct__VampPluginDescriptor.html#affc4d1796da7ced2c0cbb2cc2c4a22f4" title="Preferred input domain for audio input (time or frequency).">inputDomain</a>; +<a name="l00285"></a>00285 +<a name="l00287"></a><a class="code" href="struct__VampPluginDescriptor.html#a19c4ce36fdeb88eeedb539efc544b8ee">00287</a> <a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a> (*<a class="code" href="struct__VampPluginDescriptor.html#a19c4ce36fdeb88eeedb539efc544b8ee" title="Create and return a new instance of this plugin.">instantiate</a>)(<span class="keyword">const</span> <span class="keyword">struct </span><a class="code" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a> *, +<a name="l00288"></a>00288 <span class="keywordtype">float</span> inputSampleRate); +<a name="l00289"></a>00289 +<a name="l00291"></a><a class="code" href="struct__VampPluginDescriptor.html#a0e4522c33e59c3c518b9262f2477bc27">00291</a> void (*<a class="code" href="struct__VampPluginDescriptor.html#a0e4522c33e59c3c518b9262f2477bc27" title="Destroy an instance of this plugin.">cleanup</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>); +<a name="l00292"></a>00292 +<a name="l00294"></a><a class="code" href="struct__VampPluginDescriptor.html#ad0978f17a5e568079470a1978a9aad22">00294</a> int (*<a class="code" href="struct__VampPluginDescriptor.html#ad0978f17a5e568079470a1978a9aad22" title="Initialise an instance following parameter configuration.">initialise</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, +<a name="l00295"></a>00295 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> inputChannels, +<a name="l00296"></a>00296 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stepSize, +<a name="l00297"></a>00297 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> blockSize); +<a name="l00298"></a>00298 +<a name="l00300"></a><a class="code" href="struct__VampPluginDescriptor.html#a12267f6b506aeda3792ff7c982b02336">00300</a> void (*<a class="code" href="struct__VampPluginDescriptor.html#a12267f6b506aeda3792ff7c982b02336" title="Reset an instance, ready to use again on new input data.">reset</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>); +<a name="l00301"></a>00301 +<a name="l00303"></a><a class="code" href="struct__VampPluginDescriptor.html#a07174981875b55ee2ec7521a7f4fc395">00303</a> float (*<a class="code" href="struct__VampPluginDescriptor.html#a07174981875b55ee2ec7521a7f4fc395" title="Get a parameter value.">getParameter</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, int); +<a name="l00304"></a>00304 +<a name="l00306"></a><a class="code" href="struct__VampPluginDescriptor.html#aad3cfc7a3b432df40bd9db13eee6a481">00306</a> void (*<a class="code" href="struct__VampPluginDescriptor.html#aad3cfc7a3b432df40bd9db13eee6a481" title="Set a parameter value.">setParameter</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, int, float); +<a name="l00307"></a>00307 +<a name="l00309"></a><a class="code" href="struct__VampPluginDescriptor.html#a861a77525a95d424cb846820b018af53">00309</a> <span class="keywordtype">unsigned</span> int (*<a class="code" href="struct__VampPluginDescriptor.html#a861a77525a95d424cb846820b018af53" title="Get the current program (if programCount > 0).">getCurrentProgram</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>); +<a name="l00310"></a>00310 +<a name="l00312"></a><a class="code" href="struct__VampPluginDescriptor.html#ad9af40cb165ca187e49250964af5f5cf">00312</a> void (*<a class="code" href="struct__VampPluginDescriptor.html#ad9af40cb165ca187e49250964af5f5cf" title="Set the current program.">selectProgram</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, <span class="keywordtype">unsigned</span> int); +<a name="l00313"></a>00313 +<a name="l00315"></a><a class="code" href="struct__VampPluginDescriptor.html#a2beddf2ce156c05dd24477ac663adcbb">00315</a> <span class="keywordtype">unsigned</span> int (*<a class="code" href="struct__VampPluginDescriptor.html#a2beddf2ce156c05dd24477ac663adcbb" title="Get the plugin's preferred processing window increment in samples.">getPreferredStepSize</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>); +<a name="l00316"></a>00316 +<a name="l00318"></a><a class="code" href="struct__VampPluginDescriptor.html#ac626e42554ab1532c8d8b5132a0faee8">00318</a> <span class="keywordtype">unsigned</span> int (*<a class="code" href="struct__VampPluginDescriptor.html#ac626e42554ab1532c8d8b5132a0faee8" title="Get the plugin's preferred processing window size in samples.">getPreferredBlockSize</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>); +<a name="l00319"></a>00319 +<a name="l00321"></a><a class="code" href="struct__VampPluginDescriptor.html#af175ca17716db5a7545b61b01caabd92">00321</a> <span class="keywordtype">unsigned</span> int (*<a class="code" href="struct__VampPluginDescriptor.html#af175ca17716db5a7545b61b01caabd92" title="Get the minimum number of input channels this plugin can handle.">getMinChannelCount</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>); +<a name="l00322"></a>00322 +<a name="l00324"></a><a class="code" href="struct__VampPluginDescriptor.html#ad1600203418d9646332f5b917284261b">00324</a> <span class="keywordtype">unsigned</span> int (*<a class="code" href="struct__VampPluginDescriptor.html#ad1600203418d9646332f5b917284261b" title="Get the maximum number of input channels this plugin can handle.">getMaxChannelCount</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>); +<a name="l00325"></a>00325 +<a name="l00327"></a><a class="code" href="struct__VampPluginDescriptor.html#aa8fc88da704e24b2b5f674821dd380c1">00327</a> <span class="keywordtype">unsigned</span> int (*<a class="code" href="struct__VampPluginDescriptor.html#aa8fc88da704e24b2b5f674821dd380c1" title="Get the number of feature outputs (distinct sets of results).">getOutputCount</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>); +<a name="l00328"></a>00328 +<a name="l00333"></a><a class="code" href="struct__VampPluginDescriptor.html#a92c58b8ff99ad0c23a42333aa55c144d">00333</a> <a class="code" href="struct__VampOutputDescriptor.html">VampOutputDescriptor</a> *(*getOutputDescriptor)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, +<a name="l00334"></a>00334 <span class="keywordtype">unsigned</span> int); +<a name="l00335"></a>00335 +<a name="l00337"></a><a class="code" href="struct__VampPluginDescriptor.html#a8cc38edc921616e67e551aa03397ec79">00337</a> void (*<a class="code" href="struct__VampPluginDescriptor.html#a8cc38edc921616e67e551aa03397ec79" title="Destroy a descriptor for a feature output.">releaseOutputDescriptor</a>)(<a class="code" href="struct__VampOutputDescriptor.html">VampOutputDescriptor</a> *); +<a name="l00338"></a>00338 +<a name="l00344"></a><a class="code" href="struct__VampPluginDescriptor.html#ac5a0a75b6e68b22fed536765d1f2f254">00344</a> <a class="code" href="struct__VampFeatureList.html">VampFeatureList</a> *(*process)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, +<a name="l00345"></a>00345 <span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers, +<a name="l00346"></a>00346 <span class="keywordtype">int</span> sec, +<a name="l00347"></a>00347 <span class="keywordtype">int</span> nsec); +<a name="l00348"></a>00348 +<a name="l00350"></a><a class="code" href="struct__VampPluginDescriptor.html#ad22c666188aadab83c354a0edb18fcf0">00350</a> <a class="code" href="struct__VampFeatureList.html">VampFeatureList</a> *(*getRemainingFeatures)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>); +<a name="l00351"></a>00351 +<a name="l00353"></a><a class="code" href="struct__VampPluginDescriptor.html#ac4bafe8ad2734d21a433d745b18e7d63">00353</a> void (*<a class="code" href="struct__VampPluginDescriptor.html#ac4bafe8ad2734d21a433d745b18e7d63" title="Release a feature set returned from process or getRemainingFeatures.">releaseFeatureSet</a>)(<a class="code" href="struct__VampFeatureList.html">VampFeatureList</a> *); +<a name="l00354"></a>00354 +<a name="l00355"></a>00355 } <a class="code" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a>; +<a name="l00356"></a>00356 +<a name="l00357"></a>00357 +<a name="l00376"></a>00376 <span class="keyword">const</span> <a class="code" href="struct__VampPluginDescriptor.html">VampPluginDescriptor</a> *<a class="code" href="vamp_8h.html#a50cf6f17d0718f02093be6c7f63fcf30" title="Get the descriptor for a given plugin index in this library.">vampGetPluginDescriptor</a> +<a name="l00377"></a>00377 (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hostApiVersion, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index); +<a name="l00378"></a>00378 +<a name="l00379"></a>00379 +<a name="l00381"></a>00381 <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="struct__VampPluginDescriptor.html">VampPluginDescriptor</a> *(*VampGetPluginDescriptorFunction) +<a name="l00382"></a><a class="code" href="vamp_8h.html#a551bb7e0d8c970c2202be5f881817478">00382</a> (<span class="keywordtype">unsigned</span> int, <span class="keywordtype">unsigned</span> int); +<a name="l00383"></a>00383 +<a name="l00384"></a>00384 <span class="preprocessor">#ifdef __cplusplus</span> +<a name="l00385"></a>00385 <span class="preprocessor"></span>} +<a name="l00386"></a>00386 <span class="preprocessor">#endif</span> +<a name="l00387"></a>00387 <span class="preprocessor"></span> +<a name="l00388"></a>00388 <span class="preprocessor">#endif</span> +</pre></div></div> +</div> + <div id="nav-path" class="navpath"> + <ul> + <li class="navelem"><a class="el" href="vamp_8h.html">vamp.h</a> </li> + + <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li> + </ul> + </div> + + +</body> +</html>