view code-docs/vamp_8h_source.html @ 7:66d125fb8b42 tip

Added tag vamp-plugin-sdk-v2.7 for changeset 27319718b1f8
author Chris Cannam
date Fri, 24 Feb 2017 16:45:00 +0000
parents 27319718b1f8
children
line wrap: on
line source
<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VampPluginSDK: vamp.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">VampPluginSDK
   &#160;<span id="projectnumber">2.7</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('vamp_8h_source.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">vamp.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="vamp_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;</div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">    Vamp</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">    An API for audio analysis and feature extraction plugins.</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">    Centre for Digital Music, Queen Mary, University of London.</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">    Copyright 2006 Chris Cannam.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">  </span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">    Permission is hereby granted, free of charge, to any person</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">    obtaining a copy of this software and associated documentation</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">    files (the &quot;Software&quot;), to deal in the Software without</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">    restriction, including without limitation the rights to use, copy,</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">    modify, merge, publish, distribute, sublicense, and/or sell copies</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">    of the Software, and to permit persons to whom the Software is</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">    furnished to do so, subject to the following conditions:</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">    The above copyright notice and this permission notice shall be</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">    included in all copies or substantial portions of the Software.</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">    THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND,</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">    ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">    CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">    WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">    Except as contained in this notice, the names of the Centre for</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">    Digital Music; Queen Mary, University of London; and Chris Cannam</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">    shall not be used in advertising or otherwise to promote the sale,</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">    use or other dealings in this Software without prior written</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">    authorization.</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#ifndef VAMP_HEADER_INCLUDED</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define VAMP_HEADER_INCLUDED</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="vamp_8h.html#a6d6c8c755dbabf161f72712e0e2143c7">   53</a></span>&#160;<span class="preprocessor">#define VAMP_API_VERSION 2</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="struct__VampParameterDescriptor.html">   71</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="struct__VampParameterDescriptor.html#a26d74afd6a3341a673f15955031845ab">   74</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampParameterDescriptor.html#a26d74afd6a3341a673f15955031845ab">identifier</a>;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="struct__VampParameterDescriptor.html#abba810bce9656f6002777f6c3f655957">   77</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampParameterDescriptor.html#abba810bce9656f6002777f6c3f655957">name</a>;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="struct__VampParameterDescriptor.html#a95489272d6cf5a5b487e949da8e4fac6">   80</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampParameterDescriptor.html#a95489272d6cf5a5b487e949da8e4fac6">description</a>;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="struct__VampParameterDescriptor.html#a8ca235f816b56dc99125e010eee08fc7">   83</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampParameterDescriptor.html#a8ca235f816b56dc99125e010eee08fc7">unit</a>;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="struct__VampParameterDescriptor.html#ab59c84f0bbe0d4d0c578d893c087b0db">   86</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct__VampParameterDescriptor.html#ab59c84f0bbe0d4d0c578d893c087b0db">minValue</a>;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="struct__VampParameterDescriptor.html#a6e7646babdb265c4abfc107ba4350d80">   89</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct__VampParameterDescriptor.html#a6e7646babdb265c4abfc107ba4350d80">maxValue</a>;</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="struct__VampParameterDescriptor.html#a3d37f986ee152ab55feb9902b35f7aca">   92</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct__VampParameterDescriptor.html#a3d37f986ee152ab55feb9902b35f7aca">defaultValue</a>;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="struct__VampParameterDescriptor.html#a3f41e3b6b69c7a95ff0ce8625794f83a">   95</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__VampParameterDescriptor.html#a3f41e3b6b69c7a95ff0ce8625794f83a">isQuantized</a>;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="struct__VampParameterDescriptor.html#a68c91fd3fc0b0b3617c2d343fe32d0e5">   98</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct__VampParameterDescriptor.html#a68c91fd3fc0b0b3617c2d343fe32d0e5">quantizeStep</a>;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="struct__VampParameterDescriptor.html#a188883325ab1e4a898e3dc53a8f88f9d">  101</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code" href="struct__VampParameterDescriptor.html#a188883325ab1e4a898e3dc53a8f88f9d">valueNames</a>;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;} <a class="code" href="vamp_8h.html#ae26a9d54a92f1c083a1b209a25a8e44e">VampParameterDescriptor</a>;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821ab546deafd57f175fb1e7f9cbea1c5113">  108</a></span>&#160;    <a class="code" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821ab546deafd57f175fb1e7f9cbea1c5113">vampOneSamplePerStep</a>,</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821aafc8a05f722bc83ecce227e12e838cf8">  111</a></span>&#160;    <a class="code" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821aafc8a05f722bc83ecce227e12e838cf8">vampFixedSampleRate</a>,</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821abae8a21a9e30eb73e16d6abc6c7415e8">  114</a></span>&#160;    <a class="code" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821abae8a21a9e30eb73e16d6abc6c7415e8">vampVariableSampleRate</a></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;} <a class="code" href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821">VampSampleType</a>;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html">  118</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;{</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html#a461161b2010370176115967e4f58a5f5">  121</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampOutputDescriptor.html#a461161b2010370176115967e4f58a5f5">identifier</a>;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html#af4fca576bd47167fd2bf9b43d588815f">  124</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampOutputDescriptor.html#af4fca576bd47167fd2bf9b43d588815f">name</a>;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html#abfa911b138cfb80cf63e8f2e0fa0fb89">  127</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampOutputDescriptor.html#abfa911b138cfb80cf63e8f2e0fa0fb89">description</a>;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html#ad038caa8e596dfd037035637202f1d63">  130</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampOutputDescriptor.html#ad038caa8e596dfd037035637202f1d63">unit</a>;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html#ae8571f5a2bc740738af0cb7dda0c4749">  133</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__VampOutputDescriptor.html#ae8571f5a2bc740738af0cb7dda0c4749">hasFixedBinCount</a>;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html#a652ee422092720e44d23d98bdb68f978">  136</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct__VampOutputDescriptor.html#a652ee422092720e44d23d98bdb68f978">binCount</a>;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html#a10fffaa32bd894843ff7592240dfe447">  139</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code" href="struct__VampOutputDescriptor.html#a10fffaa32bd894843ff7592240dfe447">binNames</a>;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html#af6b512d772023b4e852216689c1c4465">  142</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__VampOutputDescriptor.html#af6b512d772023b4e852216689c1c4465">hasKnownExtents</a>;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    </div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html#a9a28180989e3d028c12a98517479dc46">  145</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct__VampOutputDescriptor.html#a9a28180989e3d028c12a98517479dc46">minValue</a>;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html#a4cbe540a247df60f85b00b2aa16461ee">  148</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct__VampOutputDescriptor.html#a4cbe540a247df60f85b00b2aa16461ee">maxValue</a>;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html#ab56cf0bbb17136819024574d5cc65e30">  151</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__VampOutputDescriptor.html#ab56cf0bbb17136819024574d5cc65e30">isQuantized</a>;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html#a71aa40222dda4321030cccd0bb655fe3">  154</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct__VampOutputDescriptor.html#a71aa40222dda4321030cccd0bb655fe3">quantizeStep</a>;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html#a5da1d27cc99badc214640e859b882072">  157</a></span>&#160;    VampSampleType <a class="code" href="struct__VampOutputDescriptor.html#a5da1d27cc99badc214640e859b882072">sampleType</a>;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html#a1ccf193317b2b9c2eb0dbd8dcf61d26e">  161</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="struct__VampOutputDescriptor.html#a1ccf193317b2b9c2eb0dbd8dcf61d26e">sampleRate</a>;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="struct__VampOutputDescriptor.html#af792a96dbf292ec966b9b68250febd99">  170</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__VampOutputDescriptor.html#af792a96dbf292ec966b9b68250febd99">hasDuration</a>;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;} <a class="code" href="vamp_8h.html#aa8429dd9c60d65800c58574c2b06bf66">VampOutputDescriptor</a>;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="struct__VampFeature.html">  174</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__VampFeature.html">_VampFeature</a></div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;{</div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="struct__VampFeature.html#abe6aa7a08185beeb9deca2d08d99859f">  177</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__VampFeature.html#abe6aa7a08185beeb9deca2d08d99859f">hasTimestamp</a>;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="struct__VampFeature.html#a31f0b57050e33d082692536097953d9c">  180</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__VampFeature.html#a31f0b57050e33d082692536097953d9c">sec</a>;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="struct__VampFeature.html#a8874cb23600c6b10ca6e8a40920d999e">  183</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__VampFeature.html#a8874cb23600c6b10ca6e8a40920d999e">nsec</a>;</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="struct__VampFeature.html#ab1ce7c8a2b489e9b0694a967497a29fd">  186</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct__VampFeature.html#ab1ce7c8a2b489e9b0694a967497a29fd">valueCount</a>;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="struct__VampFeature.html#ae4030f941ddb2bab8bc147b88e1f1c15">  189</a></span>&#160;    <span class="keywordtype">float</span> *<a class="code" href="struct__VampFeature.html#ae4030f941ddb2bab8bc147b88e1f1c15">values</a>;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="struct__VampFeature.html#a6662b7489a7890cae713bf4e8f6d52cd">  192</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="struct__VampFeature.html#a6662b7489a7890cae713bf4e8f6d52cd">label</a>;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;} <a class="code" href="vamp_8h.html#a8d04355c13e5ff7a146abcb168cb919f">VampFeature</a>;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="struct__VampFeatureV2.html">  196</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__VampFeatureV2.html">_VampFeatureV2</a></div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;{</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="struct__VampFeatureV2.html#a44d9c57f1ae197d3fec1a48c650cce81">  199</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__VampFeatureV2.html#a44d9c57f1ae197d3fec1a48c650cce81">hasDuration</a>;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="struct__VampFeatureV2.html#abc95aac3a2efdef6ef0b17e7b6bd3daf">  202</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__VampFeatureV2.html#abc95aac3a2efdef6ef0b17e7b6bd3daf">durationSec</a>;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="struct__VampFeatureV2.html#af71693d907f69048d602d28edbce679e">  205</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__VampFeatureV2.html#af71693d907f69048d602d28edbce679e">durationNsec</a>;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;} <a class="code" href="vamp_8h.html#a41cb3518127d0971b1d2c8edfbbe2763">VampFeatureV2</a>;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="union__VampFeatureUnion.html">  209</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">union </span><a class="code" href="union__VampFeatureUnion.html">_VampFeatureUnion</a></div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;{</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    <span class="comment">// sizeof(featureV1) &gt;= sizeof(featureV2) for backward compatibility</span></div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="union__VampFeatureUnion.html#a4a32a2ce141ec3cd36b8be54cd9c3369">  212</a></span>&#160;    <a class="code" href="struct__VampFeature.html">VampFeature</a>   <a class="code" href="union__VampFeatureUnion.html#a4a32a2ce141ec3cd36b8be54cd9c3369">v1</a>;</div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="union__VampFeatureUnion.html#a87e508e37e02cce11c3c4ddf087a627a">  213</a></span>&#160;    <a class="code" href="struct__VampFeatureV2.html">VampFeatureV2</a> <a class="code" href="union__VampFeatureUnion.html#a87e508e37e02cce11c3c4ddf087a627a">v2</a>;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;} <a class="code" href="vamp_8h.html#a2517349f1c97e0c59faab6085e092fcd">VampFeatureUnion</a>;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="struct__VampFeatureList.html">  217</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__VampFeatureList.html">_VampFeatureList</a></div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;{</div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="struct__VampFeatureList.html#a01db33a31ae5e04a4bd097f4b6aa75f1">  220</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct__VampFeatureList.html#a01db33a31ae5e04a4bd097f4b6aa75f1">featureCount</a>;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="struct__VampFeatureList.html#a103c817094643ac5ff4410768f4f92a7">  235</a></span>&#160;    <a class="code" href="union__VampFeatureUnion.html">VampFeatureUnion</a> *<a class="code" href="struct__VampFeatureList.html#a103c817094643ac5ff4410768f4f92a7">features</a>;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;} <a class="code" href="vamp_8h.html#a5f257e3f8b5ca1ca4c159d486e219078">VampFeatureList</a>;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765">  239</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;{</div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765ae3dbb77ff3e8f292966fd3748888e1a1">  241</a></span>&#160;    <a class="code" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765ae3dbb77ff3e8f292966fd3748888e1a1">vampTimeDomain</a>,</div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765aee0c1c0d429276f071b8c0730b7bd87d">  242</a></span>&#160;    <a class="code" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765aee0c1c0d429276f071b8c0730b7bd87d">vampFrequencyDomain</a></div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;} <a class="code" href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765">VampInputDomain</a>;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">  246</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span> *<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>;</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html">  248</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;{</div><div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#ab6c87760e87ddaa9ac3491bccaaa28c2">  251</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct__VampPluginDescriptor.html#ab6c87760e87ddaa9ac3491bccaaa28c2">vampApiVersion</a>;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a4915ec8276749cb505c01d25a6d02219">  254</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampPluginDescriptor.html#a4915ec8276749cb505c01d25a6d02219">identifier</a>;</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a9dd5a0190e4d453ff36b5acb7000b150">  257</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampPluginDescriptor.html#a9dd5a0190e4d453ff36b5acb7000b150">name</a>;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a9ff8050f92f1a04a68bb34a9d368295e">  260</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampPluginDescriptor.html#a9ff8050f92f1a04a68bb34a9d368295e">description</a>;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;</div><div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a4dca3d57331802964716edfa80580c9b">  263</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampPluginDescriptor.html#a4dca3d57331802964716edfa80580c9b">maker</a>;</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a04427c420d9252c7796c0bf5101345ae">  266</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="struct__VampPluginDescriptor.html#a04427c420d9252c7796c0bf5101345ae">pluginVersion</a>;</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#ae704bba384af0de056a26da1b13ee521">  269</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="struct__VampPluginDescriptor.html#ae704bba384af0de056a26da1b13ee521">copyright</a>;</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#ae6271dc3ea0cea959c84a64185492cab">  272</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct__VampPluginDescriptor.html#ae6271dc3ea0cea959c84a64185492cab">parameterCount</a>;</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a64d614862604c31d6b84c49005f51913">  275</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="struct__VampParameterDescriptor.html">VampParameterDescriptor</a> **<a class="code" href="struct__VampPluginDescriptor.html#a64d614862604c31d6b84c49005f51913">parameters</a>;</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a1962666aa173e7a9a2c30dc82e4b2e00">  278</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct__VampPluginDescriptor.html#a1962666aa173e7a9a2c30dc82e4b2e00">programCount</a>;</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#ad488470c582d8472d86455889d71c5ec">  281</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> **<a class="code" href="struct__VampPluginDescriptor.html#ad488470c582d8472d86455889d71c5ec">programs</a>;</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;</div><div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#affc4d1796da7ced2c0cbb2cc2c4a22f4">  284</a></span>&#160;    VampInputDomain <a class="code" href="struct__VampPluginDescriptor.html#affc4d1796da7ced2c0cbb2cc2c4a22f4">inputDomain</a>;</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#aa5fa3dfd0b85668a658096de5271c305">  287</a></span>&#160;    <a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a> (*instantiate)(<span class="keyword">const</span> <span class="keyword">struct </span><a class="code" href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a> *,</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;                                   <span class="keywordtype">float</span> inputSampleRate);</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;</div><div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a70974d8d28534c006af87c4470d12b69">  291</a></span>&#160;    void (*<a class="code" href="struct__VampPluginDescriptor.html#a70974d8d28534c006af87c4470d12b69">cleanup</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>);</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a7c26381e66fc2b1fccbe9a0e5a0ff2be">  294</a></span>&#160;    int (*<a class="code" href="struct__VampPluginDescriptor.html#a7c26381e66fc2b1fccbe9a0e5a0ff2be">initialise</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>,</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;                      <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> inputChannels,</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;                      <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> stepSize, </div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;                      <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> blockSize);</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a0bb0a037c2cb6baf3abac6b03d4a0009">  300</a></span>&#160;    void (*<a class="code" href="struct__VampPluginDescriptor.html#a0bb0a037c2cb6baf3abac6b03d4a0009">reset</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>);</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;</div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a153dc1fa458602a408d8ae909e4b9780">  303</a></span>&#160;    float (*<a class="code" href="struct__VampPluginDescriptor.html#a153dc1fa458602a408d8ae909e4b9780">getParameter</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, int);</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#abe2500934c8aae78d0ecd6b4541d8946">  306</a></span>&#160;    void  (*<a class="code" href="struct__VampPluginDescriptor.html#abe2500934c8aae78d0ecd6b4541d8946">setParameter</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, int, float);</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a2d13712798238db503005808b736cb18">  309</a></span>&#160;    <span class="keywordtype">unsigned</span> int (*<a class="code" href="struct__VampPluginDescriptor.html#a2d13712798238db503005808b736cb18">getCurrentProgram</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>);</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a688596d8abcdd638250799314ef9cb19">  312</a></span>&#160;    void  (*<a class="code" href="struct__VampPluginDescriptor.html#a688596d8abcdd638250799314ef9cb19">selectProgram</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>, <span class="keywordtype">unsigned</span> int);</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    </div><div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#ae8efb5dec4a16b74fbb32ef36fc90e09">  315</a></span>&#160;    <span class="keywordtype">unsigned</span> int (*<a class="code" href="struct__VampPluginDescriptor.html#ae8efb5dec4a16b74fbb32ef36fc90e09">getPreferredStepSize</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>);</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a3052e7f14ad1dfc3000b3b91dddf8c61">  318</a></span>&#160;    <span class="keywordtype">unsigned</span> int (*<a class="code" href="struct__VampPluginDescriptor.html#a3052e7f14ad1dfc3000b3b91dddf8c61">getPreferredBlockSize</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>);</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;</div><div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a8a9be1cf9e70d46d20cac1b0049149cd">  321</a></span>&#160;    <span class="keywordtype">unsigned</span> int (*<a class="code" href="struct__VampPluginDescriptor.html#a8a9be1cf9e70d46d20cac1b0049149cd">getMinChannelCount</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>);</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div><div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#af34bce679c821c38dbd212a0ef1bf867">  324</a></span>&#160;    <span class="keywordtype">unsigned</span> int (*<a class="code" href="struct__VampPluginDescriptor.html#af34bce679c821c38dbd212a0ef1bf867">getMaxChannelCount</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>);</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;</div><div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a71825defc0052a8ac307e2c333c4b935">  327</a></span>&#160;    <span class="keywordtype">unsigned</span> int (*<a class="code" href="struct__VampPluginDescriptor.html#a71825defc0052a8ac307e2c333c4b935">getOutputCount</a>)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>);</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a033116c818aafe70e7fd15d240234754">  333</a></span>&#160;    <a class="code" href="struct__VampOutputDescriptor.html">VampOutputDescriptor</a> *(*getOutputDescriptor)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>,</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;                                                 <span class="keywordtype">unsigned</span> int);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;</div><div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#a69f9fef2ed20a88985c960de4428cecb">  337</a></span>&#160;    void (*<a class="code" href="struct__VampPluginDescriptor.html#a69f9fef2ed20a88985c960de4428cecb">releaseOutputDescriptor</a>)(<a class="code" href="struct__VampOutputDescriptor.html">VampOutputDescriptor</a> *);</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#aff1c25291c967cb2f198b900e551a7eb">  344</a></span>&#160;    <a class="code" href="struct__VampFeatureList.html">VampFeatureList</a> *(*process)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>,</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;                                <span class="keyword">const</span> <span class="keywordtype">float</span> *<span class="keyword">const</span> *inputBuffers,</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;                                <span class="keywordtype">int</span> sec,</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;                                <span class="keywordtype">int</span> nsec);</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;</div><div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#ad897b43458161a43cf6085198217d197">  350</a></span>&#160;    <a class="code" href="struct__VampFeatureList.html">VampFeatureList</a> *(*getRemainingFeatures)(<a class="code" href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a>);</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;</div><div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="struct__VampPluginDescriptor.html#ab4ed73ea986582ab1b7e6c44149a982a">  353</a></span>&#160;    void (*<a class="code" href="struct__VampPluginDescriptor.html#ab4ed73ea986582ab1b7e6c44149a982a">releaseFeatureSet</a>)(<a class="code" href="struct__VampFeatureList.html">VampFeatureList</a> *);</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;} <a class="code" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a>;</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;<span class="keyword">const</span> <a class="code" href="struct__VampPluginDescriptor.html">VampPluginDescriptor</a> *<a class="code" href="vamp_8h.html#a50cf6f17d0718f02093be6c7f63fcf30">vampGetPluginDescriptor</a></div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hostApiVersion, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index);</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;<span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="struct__VampPluginDescriptor.html">VampPluginDescriptor</a> *(*VampGetPluginDescriptorFunction)</div><div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="vamp_8h.html#afb59eb6e4ea5b47fc300435e98e8aa1b">  382</a></span>&#160;    (<span class="keywordtype">unsigned</span> int, <span class="keywordtype">unsigned</span> int);</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;}</div><div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="struct__VampFeature_html_a31f0b57050e33d082692536097953d9c"><div class="ttname"><a href="struct__VampFeature.html#a31f0b57050e33d082692536097953d9c">_VampFeature::sec</a></div><div class="ttdeci">int sec</div><div class="ttdoc">Seconds component of timestamp. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00180">vamp.h:180</a></div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html_a4cbe540a247df60f85b00b2aa16461ee"><div class="ttname"><a href="struct__VampOutputDescriptor.html#a4cbe540a247df60f85b00b2aa16461ee">_VampOutputDescriptor::maxValue</a></div><div class="ttdeci">float maxValue</div><div class="ttdoc">Maximum value for a returned result in any bin, if hasKnownExtents. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00148">vamp.h:148</a></div></div>
<div class="ttc" id="vamp_8h_html_ab107386a5f042feddf6446bea23bb765"><div class="ttname"><a href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765">VampInputDomain</a></div><div class="ttdeci">VampInputDomain</div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00239">vamp.h:239</a></div></div>
<div class="ttc" id="vamp_8h_html_ab107386a5f042feddf6446bea23bb765ae3dbb77ff3e8f292966fd3748888e1a1"><div class="ttname"><a href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765ae3dbb77ff3e8f292966fd3748888e1a1">vampTimeDomain</a></div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00241">vamp.h:241</a></div></div>
<div class="ttc" id="vamp_8h_html_aa8429dd9c60d65800c58574c2b06bf66"><div class="ttname"><a href="vamp_8h.html#aa8429dd9c60d65800c58574c2b06bf66">VampOutputDescriptor</a></div><div class="ttdeci">struct _VampOutputDescriptor VampOutputDescriptor</div></div>
<div class="ttc" id="vamp_8h_html_a41cb3518127d0971b1d2c8edfbbe2763"><div class="ttname"><a href="vamp_8h.html#a41cb3518127d0971b1d2c8edfbbe2763">VampFeatureV2</a></div><div class="ttdeci">struct _VampFeatureV2 VampFeatureV2</div></div>
<div class="ttc" id="union__VampFeatureUnion_html_a87e508e37e02cce11c3c4ddf087a627a"><div class="ttname"><a href="union__VampFeatureUnion.html#a87e508e37e02cce11c3c4ddf087a627a">_VampFeatureUnion::v2</a></div><div class="ttdeci">VampFeatureV2 v2</div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00213">vamp.h:213</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a688596d8abcdd638250799314ef9cb19"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a688596d8abcdd638250799314ef9cb19">_VampPluginDescriptor::selectProgram</a></div><div class="ttdeci">void(* selectProgram)(VampPluginHandle, unsigned int)</div><div class="ttdoc">Set the current program. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00312">vamp.h:312</a></div></div>
<div class="ttc" id="vamp_8h_html_aa24a8cee023d8b7659d25cbe0584b821ab546deafd57f175fb1e7f9cbea1c5113"><div class="ttname"><a href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821ab546deafd57f175fb1e7f9cbea1c5113">vampOneSamplePerStep</a></div><div class="ttdoc">Each process call returns results aligned with call&amp;#39;s block start. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00108">vamp.h:108</a></div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html_a652ee422092720e44d23d98bdb68f978"><div class="ttname"><a href="struct__VampOutputDescriptor.html#a652ee422092720e44d23d98bdb68f978">_VampOutputDescriptor::binCount</a></div><div class="ttdeci">unsigned int binCount</div><div class="ttdoc">Number of values per result, if hasFixedBinCount. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00136">vamp.h:136</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a0bb0a037c2cb6baf3abac6b03d4a0009"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a0bb0a037c2cb6baf3abac6b03d4a0009">_VampPluginDescriptor::reset</a></div><div class="ttdeci">void(* reset)(VampPluginHandle)</div><div class="ttdoc">Reset an instance, ready to use again on new input data. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00300">vamp.h:300</a></div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html_a461161b2010370176115967e4f58a5f5"><div class="ttname"><a href="struct__VampOutputDescriptor.html#a461161b2010370176115967e4f58a5f5">_VampOutputDescriptor::identifier</a></div><div class="ttdeci">const char * identifier</div><div class="ttdoc">Computer-usable name of the output. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00121">vamp.h:121</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a71825defc0052a8ac307e2c333c4b935"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a71825defc0052a8ac307e2c333c4b935">_VampPluginDescriptor::getOutputCount</a></div><div class="ttdeci">unsigned int(* getOutputCount)(VampPluginHandle)</div><div class="ttdoc">Get the number of feature outputs (distinct sets of results). </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00327">vamp.h:327</a></div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html_a9a28180989e3d028c12a98517479dc46"><div class="ttname"><a href="struct__VampOutputDescriptor.html#a9a28180989e3d028c12a98517479dc46">_VampOutputDescriptor::minValue</a></div><div class="ttdeci">float minValue</div><div class="ttdoc">Minimum value for a returned result in any bin, if hasKnownExtents. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00145">vamp.h:145</a></div></div>
<div class="ttc" id="vamp_8h_html_a5f257e3f8b5ca1ca4c159d486e219078"><div class="ttname"><a href="vamp_8h.html#a5f257e3f8b5ca1ca4c159d486e219078">VampFeatureList</a></div><div class="ttdeci">struct _VampFeatureList VampFeatureList</div></div>
<div class="ttc" id="union__VampFeatureUnion_html_a4a32a2ce141ec3cd36b8be54cd9c3369"><div class="ttname"><a href="union__VampFeatureUnion.html#a4a32a2ce141ec3cd36b8be54cd9c3369">_VampFeatureUnion::v1</a></div><div class="ttdeci">VampFeature v1</div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00212">vamp.h:212</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a4dca3d57331802964716edfa80580c9b"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a4dca3d57331802964716edfa80580c9b">_VampPluginDescriptor::maker</a></div><div class="ttdeci">const char * maker</div><div class="ttdoc">Human-readable name of plugin&amp;#39;s author or vendor. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00263">vamp.h:263</a></div></div>
<div class="ttc" id="struct__VampFeature_html_abe6aa7a08185beeb9deca2d08d99859f"><div class="ttname"><a href="struct__VampFeature.html#abe6aa7a08185beeb9deca2d08d99859f">_VampFeature::hasTimestamp</a></div><div class="ttdeci">int hasTimestamp</div><div class="ttdoc">1 if the feature has a timestamp (i.e. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00177">vamp.h:177</a></div></div>
<div class="ttc" id="struct__VampFeature_html"><div class="ttname"><a href="struct__VampFeature.html">_VampFeature</a></div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00174">vamp.h:174</a></div></div>
<div class="ttc" id="struct__VampParameterDescriptor_html"><div class="ttname"><a href="struct__VampParameterDescriptor.html">_VampParameterDescriptor</a></div><div class="ttdoc">C language API for Vamp plugins. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00071">vamp.h:71</a></div></div>
<div class="ttc" id="struct__VampFeatureV2_html_abc95aac3a2efdef6ef0b17e7b6bd3daf"><div class="ttname"><a href="struct__VampFeatureV2.html#abc95aac3a2efdef6ef0b17e7b6bd3daf">_VampFeatureV2::durationSec</a></div><div class="ttdeci">int durationSec</div><div class="ttdoc">Seconds component of duratiion. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00202">vamp.h:202</a></div></div>
<div class="ttc" id="struct__VampParameterDescriptor_html_a188883325ab1e4a898e3dc53a8f88f9d"><div class="ttname"><a href="struct__VampParameterDescriptor.html#a188883325ab1e4a898e3dc53a8f88f9d">_VampParameterDescriptor::valueNames</a></div><div class="ttdeci">const char ** valueNames</div><div class="ttdoc">Human-readable names of the values, if isQuantized. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00101">vamp.h:101</a></div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html_ad038caa8e596dfd037035637202f1d63"><div class="ttname"><a href="struct__VampOutputDescriptor.html#ad038caa8e596dfd037035637202f1d63">_VampOutputDescriptor::unit</a></div><div class="ttdeci">const char * unit</div><div class="ttdoc">Human-readable name of the unit of the output. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00130">vamp.h:130</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_ae704bba384af0de056a26da1b13ee521"><div class="ttname"><a href="struct__VampPluginDescriptor.html#ae704bba384af0de056a26da1b13ee521">_VampPluginDescriptor::copyright</a></div><div class="ttdeci">const char * copyright</div><div class="ttdoc">Human-readable summary of copyright or licensing for plugin. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00269">vamp.h:269</a></div></div>
<div class="ttc" id="struct__VampParameterDescriptor_html_abba810bce9656f6002777f6c3f655957"><div class="ttname"><a href="struct__VampParameterDescriptor.html#abba810bce9656f6002777f6c3f655957">_VampParameterDescriptor::name</a></div><div class="ttdeci">const char * name</div><div class="ttdoc">Human-readable name of the parameter. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00077">vamp.h:77</a></div></div>
<div class="ttc" id="struct__VampFeatureList_html"><div class="ttname"><a href="struct__VampFeatureList.html">_VampFeatureList</a></div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00217">vamp.h:217</a></div></div>
<div class="ttc" id="struct__VampParameterDescriptor_html_a3f41e3b6b69c7a95ff0ce8625794f83a"><div class="ttname"><a href="struct__VampParameterDescriptor.html#a3f41e3b6b69c7a95ff0ce8625794f83a">_VampParameterDescriptor::isQuantized</a></div><div class="ttdeci">int isQuantized</div><div class="ttdoc">1 if parameter values are quantized to a particular resolution. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00095">vamp.h:95</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_abe2500934c8aae78d0ecd6b4541d8946"><div class="ttname"><a href="struct__VampPluginDescriptor.html#abe2500934c8aae78d0ecd6b4541d8946">_VampPluginDescriptor::setParameter</a></div><div class="ttdeci">void(* setParameter)(VampPluginHandle, int, float)</div><div class="ttdoc">Set a parameter value. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00306">vamp.h:306</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_ad488470c582d8472d86455889d71c5ec"><div class="ttname"><a href="struct__VampPluginDescriptor.html#ad488470c582d8472d86455889d71c5ec">_VampPluginDescriptor::programs</a></div><div class="ttdeci">const char ** programs</div><div class="ttdoc">Fixed names for programs. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00281">vamp.h:281</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_ae8efb5dec4a16b74fbb32ef36fc90e09"><div class="ttname"><a href="struct__VampPluginDescriptor.html#ae8efb5dec4a16b74fbb32ef36fc90e09">_VampPluginDescriptor::getPreferredStepSize</a></div><div class="ttdeci">unsigned int(* getPreferredStepSize)(VampPluginHandle)</div><div class="ttdoc">Get the plugin&amp;#39;s preferred processing window increment in samples. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00315">vamp.h:315</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a4915ec8276749cb505c01d25a6d02219"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a4915ec8276749cb505c01d25a6d02219">_VampPluginDescriptor::identifier</a></div><div class="ttdeci">const char * identifier</div><div class="ttdoc">Computer-usable name of the plugin. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00254">vamp.h:254</a></div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html"><div class="ttname"><a href="struct__VampOutputDescriptor.html">_VampOutputDescriptor</a></div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00118">vamp.h:118</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a64d614862604c31d6b84c49005f51913"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a64d614862604c31d6b84c49005f51913">_VampPluginDescriptor::parameters</a></div><div class="ttdeci">const VampParameterDescriptor ** parameters</div><div class="ttdoc">Fixed descriptors for parameter inputs. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00275">vamp.h:275</a></div></div>
<div class="ttc" id="vamp_8h_html_ae26a9d54a92f1c083a1b209a25a8e44e"><div class="ttname"><a href="vamp_8h.html#ae26a9d54a92f1c083a1b209a25a8e44e">VampParameterDescriptor</a></div><div class="ttdeci">struct _VampParameterDescriptor VampParameterDescriptor</div><div class="ttdoc">C language API for Vamp plugins. </div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html_af6b512d772023b4e852216689c1c4465"><div class="ttname"><a href="struct__VampOutputDescriptor.html#af6b512d772023b4e852216689c1c4465">_VampOutputDescriptor::hasKnownExtents</a></div><div class="ttdeci">int hasKnownExtents</div><div class="ttdoc">1 if each returned value falls within the same fixed min/max range. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00142">vamp.h:142</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_affc4d1796da7ced2c0cbb2cc2c4a22f4"><div class="ttname"><a href="struct__VampPluginDescriptor.html#affc4d1796da7ced2c0cbb2cc2c4a22f4">_VampPluginDescriptor::inputDomain</a></div><div class="ttdeci">VampInputDomain inputDomain</div><div class="ttdoc">Preferred input domain for audio input (time or frequency). </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00284">vamp.h:284</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html"><div class="ttname"><a href="struct__VampPluginDescriptor.html">_VampPluginDescriptor</a></div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00248">vamp.h:248</a></div></div>
<div class="ttc" id="struct__VampFeatureV2_html_af71693d907f69048d602d28edbce679e"><div class="ttname"><a href="struct__VampFeatureV2.html#af71693d907f69048d602d28edbce679e">_VampFeatureV2::durationNsec</a></div><div class="ttdeci">int durationNsec</div><div class="ttdoc">Nanoseconds component of duration. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00205">vamp.h:205</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a8a9be1cf9e70d46d20cac1b0049149cd"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a8a9be1cf9e70d46d20cac1b0049149cd">_VampPluginDescriptor::getMinChannelCount</a></div><div class="ttdeci">unsigned int(* getMinChannelCount)(VampPluginHandle)</div><div class="ttdoc">Get the minimum number of input channels this plugin can handle. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00321">vamp.h:321</a></div></div>
<div class="ttc" id="struct__VampParameterDescriptor_html_a68c91fd3fc0b0b3617c2d343fe32d0e5"><div class="ttname"><a href="struct__VampParameterDescriptor.html#a68c91fd3fc0b0b3617c2d343fe32d0e5">_VampParameterDescriptor::quantizeStep</a></div><div class="ttdeci">float quantizeStep</div><div class="ttdoc">Quantization resolution, if isQuantized. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00098">vamp.h:98</a></div></div>
<div class="ttc" id="struct__VampFeatureList_html_a01db33a31ae5e04a4bd097f4b6aa75f1"><div class="ttname"><a href="struct__VampFeatureList.html#a01db33a31ae5e04a4bd097f4b6aa75f1">_VampFeatureList::featureCount</a></div><div class="ttdeci">unsigned int featureCount</div><div class="ttdoc">Number of features in this feature list. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00220">vamp.h:220</a></div></div>
<div class="ttc" id="struct__VampParameterDescriptor_html_a95489272d6cf5a5b487e949da8e4fac6"><div class="ttname"><a href="struct__VampParameterDescriptor.html#a95489272d6cf5a5b487e949da8e4fac6">_VampParameterDescriptor::description</a></div><div class="ttdeci">const char * description</div><div class="ttdoc">Human-readable short text about the parameter. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00080">vamp.h:80</a></div></div>
<div class="ttc" id="vamp_8h_html_aa24a8cee023d8b7659d25cbe0584b821"><div class="ttname"><a href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821">VampSampleType</a></div><div class="ttdeci">VampSampleType</div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00105">vamp.h:105</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a1962666aa173e7a9a2c30dc82e4b2e00"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a1962666aa173e7a9a2c30dc82e4b2e00">_VampPluginDescriptor::programCount</a></div><div class="ttdeci">unsigned int programCount</div><div class="ttdoc">Number of programs. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00278">vamp.h:278</a></div></div>
<div class="ttc" id="vamp_8h_html_a50cf6f17d0718f02093be6c7f63fcf30"><div class="ttname"><a href="vamp_8h.html#a50cf6f17d0718f02093be6c7f63fcf30">vampGetPluginDescriptor</a></div><div class="ttdeci">const VampPluginDescriptor * vampGetPluginDescriptor(unsigned int hostApiVersion, unsigned int index)</div><div class="ttdoc">Get the descriptor for a given plugin index in this library. </div><div class="ttdef"><b>Definition:</b> <a href="plugins_8cpp_source.html#l00054">plugins.cpp:54</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a70974d8d28534c006af87c4470d12b69"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a70974d8d28534c006af87c4470d12b69">_VampPluginDescriptor::cleanup</a></div><div class="ttdeci">void(* cleanup)(VampPluginHandle)</div><div class="ttdoc">Destroy an instance of this plugin. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00291">vamp.h:291</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a153dc1fa458602a408d8ae909e4b9780"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a153dc1fa458602a408d8ae909e4b9780">_VampPluginDescriptor::getParameter</a></div><div class="ttdeci">float(* getParameter)(VampPluginHandle, int)</div><div class="ttdoc">Get a parameter value. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00303">vamp.h:303</a></div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html_af792a96dbf292ec966b9b68250febd99"><div class="ttname"><a href="struct__VampOutputDescriptor.html#af792a96dbf292ec966b9b68250febd99">_VampOutputDescriptor::hasDuration</a></div><div class="ttdeci">int hasDuration</div><div class="ttdoc">1 if the returned results for this output are known to have a duration field. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00170">vamp.h:170</a></div></div>
<div class="ttc" id="vamp_8h_html_aa24a8cee023d8b7659d25cbe0584b821abae8a21a9e30eb73e16d6abc6c7415e8"><div class="ttname"><a href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821abae8a21a9e30eb73e16d6abc6c7415e8">vampVariableSampleRate</a></div><div class="ttdoc">Returned results have their own individual timestamps. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00114">vamp.h:114</a></div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html_ab56cf0bbb17136819024574d5cc65e30"><div class="ttname"><a href="struct__VampOutputDescriptor.html#ab56cf0bbb17136819024574d5cc65e30">_VampOutputDescriptor::isQuantized</a></div><div class="ttdeci">int isQuantized</div><div class="ttdoc">1 if returned results are quantized to a particular resolution. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00151">vamp.h:151</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a04427c420d9252c7796c0bf5101345ae"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a04427c420d9252c7796c0bf5101345ae">_VampPluginDescriptor::pluginVersion</a></div><div class="ttdeci">int pluginVersion</div><div class="ttdoc">Version number of the plugin. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00266">vamp.h:266</a></div></div>
<div class="ttc" id="vamp_8h_html_ad3be2952b1f4ad7d775940a6db75c79b"><div class="ttname"><a href="vamp_8h.html#ad3be2952b1f4ad7d775940a6db75c79b">VampPluginHandle</a></div><div class="ttdeci">void * VampPluginHandle</div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00246">vamp.h:246</a></div></div>
<div class="ttc" id="struct__VampParameterDescriptor_html_a6e7646babdb265c4abfc107ba4350d80"><div class="ttname"><a href="struct__VampParameterDescriptor.html#a6e7646babdb265c4abfc107ba4350d80">_VampParameterDescriptor::maxValue</a></div><div class="ttdeci">float maxValue</div><div class="ttdoc">Maximum value. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00089">vamp.h:89</a></div></div>
<div class="ttc" id="union__VampFeatureUnion_html"><div class="ttname"><a href="union__VampFeatureUnion.html">_VampFeatureUnion</a></div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00209">vamp.h:209</a></div></div>
<div class="ttc" id="vamp_8h_html_aa1d6e0792099b9516a89b5fb7ed2ad2b"><div class="ttname"><a href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a></div><div class="ttdeci">struct _VampPluginDescriptor VampPluginDescriptor</div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_ab6c87760e87ddaa9ac3491bccaaa28c2"><div class="ttname"><a href="struct__VampPluginDescriptor.html#ab6c87760e87ddaa9ac3491bccaaa28c2">_VampPluginDescriptor::vampApiVersion</a></div><div class="ttdeci">unsigned int vampApiVersion</div><div class="ttdoc">API version with which this descriptor is compatible. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00251">vamp.h:251</a></div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html_af4fca576bd47167fd2bf9b43d588815f"><div class="ttname"><a href="struct__VampOutputDescriptor.html#af4fca576bd47167fd2bf9b43d588815f">_VampOutputDescriptor::name</a></div><div class="ttdeci">const char * name</div><div class="ttdoc">Human-readable name of the output. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00124">vamp.h:124</a></div></div>
<div class="ttc" id="struct__VampFeature_html_a6662b7489a7890cae713bf4e8f6d52cd"><div class="ttname"><a href="struct__VampFeature.html#a6662b7489a7890cae713bf4e8f6d52cd">_VampFeature::label</a></div><div class="ttdeci">char * label</div><div class="ttdoc">Label for this returned sample. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00192">vamp.h:192</a></div></div>
<div class="ttc" id="struct__VampParameterDescriptor_html_a3d37f986ee152ab55feb9902b35f7aca"><div class="ttname"><a href="struct__VampParameterDescriptor.html#a3d37f986ee152ab55feb9902b35f7aca">_VampParameterDescriptor::defaultValue</a></div><div class="ttdeci">float defaultValue</div><div class="ttdoc">Default value. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00092">vamp.h:92</a></div></div>
<div class="ttc" id="vamp_8h_html_ab107386a5f042feddf6446bea23bb765aee0c1c0d429276f071b8c0730b7bd87d"><div class="ttname"><a href="vamp_8h.html#ab107386a5f042feddf6446bea23bb765aee0c1c0d429276f071b8c0730b7bd87d">vampFrequencyDomain</a></div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00242">vamp.h:242</a></div></div>
<div class="ttc" id="struct__VampFeatureList_html_a103c817094643ac5ff4410768f4f92a7"><div class="ttname"><a href="struct__VampFeatureList.html#a103c817094643ac5ff4410768f4f92a7">_VampFeatureList::features</a></div><div class="ttdeci">VampFeatureUnion * features</div><div class="ttdoc">Features in this feature list. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00235">vamp.h:235</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_af34bce679c821c38dbd212a0ef1bf867"><div class="ttname"><a href="struct__VampPluginDescriptor.html#af34bce679c821c38dbd212a0ef1bf867">_VampPluginDescriptor::getMaxChannelCount</a></div><div class="ttdeci">unsigned int(* getMaxChannelCount)(VampPluginHandle)</div><div class="ttdoc">Get the maximum number of input channels this plugin can handle. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00324">vamp.h:324</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a3052e7f14ad1dfc3000b3b91dddf8c61"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a3052e7f14ad1dfc3000b3b91dddf8c61">_VampPluginDescriptor::getPreferredBlockSize</a></div><div class="ttdeci">unsigned int(* getPreferredBlockSize)(VampPluginHandle)</div><div class="ttdoc">Get the plugin&amp;#39;s preferred processing window size in samples. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00318">vamp.h:318</a></div></div>
<div class="ttc" id="vamp_8h_html_aa24a8cee023d8b7659d25cbe0584b821aafc8a05f722bc83ecce227e12e838cf8"><div class="ttname"><a href="vamp_8h.html#aa24a8cee023d8b7659d25cbe0584b821aafc8a05f722bc83ecce227e12e838cf8">vampFixedSampleRate</a></div><div class="ttdoc">Returned results are evenly spaced at samplerate specified below. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00111">vamp.h:111</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a7c26381e66fc2b1fccbe9a0e5a0ff2be"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a7c26381e66fc2b1fccbe9a0e5a0ff2be">_VampPluginDescriptor::initialise</a></div><div class="ttdeci">int(* initialise)(VampPluginHandle, unsigned int inputChannels, unsigned int stepSize, unsigned int blockSize)</div><div class="ttdoc">Initialise an instance following parameter configuration. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00294">vamp.h:294</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a9dd5a0190e4d453ff36b5acb7000b150"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a9dd5a0190e4d453ff36b5acb7000b150">_VampPluginDescriptor::name</a></div><div class="ttdeci">const char * name</div><div class="ttdoc">Human-readable name of the plugin. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00257">vamp.h:257</a></div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html_ae8571f5a2bc740738af0cb7dda0c4749"><div class="ttname"><a href="struct__VampOutputDescriptor.html#ae8571f5a2bc740738af0cb7dda0c4749">_VampOutputDescriptor::hasFixedBinCount</a></div><div class="ttdeci">int hasFixedBinCount</div><div class="ttdoc">1 if output has equal number of values for each returned result. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00133">vamp.h:133</a></div></div>
<div class="ttc" id="vamp_8h_html_a2517349f1c97e0c59faab6085e092fcd"><div class="ttname"><a href="vamp_8h.html#a2517349f1c97e0c59faab6085e092fcd">VampFeatureUnion</a></div><div class="ttdeci">union _VampFeatureUnion VampFeatureUnion</div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_ab4ed73ea986582ab1b7e6c44149a982a"><div class="ttname"><a href="struct__VampPluginDescriptor.html#ab4ed73ea986582ab1b7e6c44149a982a">_VampPluginDescriptor::releaseFeatureSet</a></div><div class="ttdeci">void(* releaseFeatureSet)(VampFeatureList *)</div><div class="ttdoc">Release a feature set returned from process or getRemainingFeatures. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00353">vamp.h:353</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a9ff8050f92f1a04a68bb34a9d368295e"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a9ff8050f92f1a04a68bb34a9d368295e">_VampPluginDescriptor::description</a></div><div class="ttdeci">const char * description</div><div class="ttdoc">Human-readable short text about the plugin. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00260">vamp.h:260</a></div></div>
<div class="ttc" id="struct__VampFeature_html_ab1ce7c8a2b489e9b0694a967497a29fd"><div class="ttname"><a href="struct__VampFeature.html#ab1ce7c8a2b489e9b0694a967497a29fd">_VampFeature::valueCount</a></div><div class="ttdeci">unsigned int valueCount</div><div class="ttdoc">Number of values. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00186">vamp.h:186</a></div></div>
<div class="ttc" id="vamp_8h_html_a8d04355c13e5ff7a146abcb168cb919f"><div class="ttname"><a href="vamp_8h.html#a8d04355c13e5ff7a146abcb168cb919f">VampFeature</a></div><div class="ttdeci">struct _VampFeature VampFeature</div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_ae6271dc3ea0cea959c84a64185492cab"><div class="ttname"><a href="struct__VampPluginDescriptor.html#ae6271dc3ea0cea959c84a64185492cab">_VampPluginDescriptor::parameterCount</a></div><div class="ttdeci">unsigned int parameterCount</div><div class="ttdoc">Number of parameter inputs. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00272">vamp.h:272</a></div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html_abfa911b138cfb80cf63e8f2e0fa0fb89"><div class="ttname"><a href="struct__VampOutputDescriptor.html#abfa911b138cfb80cf63e8f2e0fa0fb89">_VampOutputDescriptor::description</a></div><div class="ttdeci">const char * description</div><div class="ttdoc">Human-readable short text about the output. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00127">vamp.h:127</a></div></div>
<div class="ttc" id="struct__VampParameterDescriptor_html_a26d74afd6a3341a673f15955031845ab"><div class="ttname"><a href="struct__VampParameterDescriptor.html#a26d74afd6a3341a673f15955031845ab">_VampParameterDescriptor::identifier</a></div><div class="ttdeci">const char * identifier</div><div class="ttdoc">Computer-usable name of the parameter. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00074">vamp.h:74</a></div></div>
<div class="ttc" id="struct__VampParameterDescriptor_html_ab59c84f0bbe0d4d0c578d893c087b0db"><div class="ttname"><a href="struct__VampParameterDescriptor.html#ab59c84f0bbe0d4d0c578d893c087b0db">_VampParameterDescriptor::minValue</a></div><div class="ttdeci">float minValue</div><div class="ttdoc">Minimum value. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00086">vamp.h:86</a></div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html_a71aa40222dda4321030cccd0bb655fe3"><div class="ttname"><a href="struct__VampOutputDescriptor.html#a71aa40222dda4321030cccd0bb655fe3">_VampOutputDescriptor::quantizeStep</a></div><div class="ttdeci">float quantizeStep</div><div class="ttdoc">Quantization resolution for returned results, if isQuantized. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00154">vamp.h:154</a></div></div>
<div class="ttc" id="struct__VampFeature_html_ae4030f941ddb2bab8bc147b88e1f1c15"><div class="ttname"><a href="struct__VampFeature.html#ae4030f941ddb2bab8bc147b88e1f1c15">_VampFeature::values</a></div><div class="ttdeci">float * values</div><div class="ttdoc">Values for this returned sample. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00189">vamp.h:189</a></div></div>
<div class="ttc" id="struct__VampParameterDescriptor_html_a8ca235f816b56dc99125e010eee08fc7"><div class="ttname"><a href="struct__VampParameterDescriptor.html#a8ca235f816b56dc99125e010eee08fc7">_VampParameterDescriptor::unit</a></div><div class="ttdeci">const char * unit</div><div class="ttdoc">Human-readable unit of the parameter. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00083">vamp.h:83</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a2d13712798238db503005808b736cb18"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a2d13712798238db503005808b736cb18">_VampPluginDescriptor::getCurrentProgram</a></div><div class="ttdeci">unsigned int(* getCurrentProgram)(VampPluginHandle)</div><div class="ttdoc">Get the current program (if programCount &gt; 0). </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00309">vamp.h:309</a></div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html_a10fffaa32bd894843ff7592240dfe447"><div class="ttname"><a href="struct__VampOutputDescriptor.html#a10fffaa32bd894843ff7592240dfe447">_VampOutputDescriptor::binNames</a></div><div class="ttdeci">const char ** binNames</div><div class="ttdoc">Names of returned value bins, if hasFixedBinCount. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00139">vamp.h:139</a></div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html_a5da1d27cc99badc214640e859b882072"><div class="ttname"><a href="struct__VampOutputDescriptor.html#a5da1d27cc99badc214640e859b882072">_VampOutputDescriptor::sampleType</a></div><div class="ttdeci">VampSampleType sampleType</div><div class="ttdoc">Time positioning method for returned results (see VampSampleType). </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00157">vamp.h:157</a></div></div>
<div class="ttc" id="struct__VampPluginDescriptor_html_a69f9fef2ed20a88985c960de4428cecb"><div class="ttname"><a href="struct__VampPluginDescriptor.html#a69f9fef2ed20a88985c960de4428cecb">_VampPluginDescriptor::releaseOutputDescriptor</a></div><div class="ttdeci">void(* releaseOutputDescriptor)(VampOutputDescriptor *)</div><div class="ttdoc">Destroy a descriptor for a feature output. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00337">vamp.h:337</a></div></div>
<div class="ttc" id="struct__VampOutputDescriptor_html_a1ccf193317b2b9c2eb0dbd8dcf61d26e"><div class="ttname"><a href="struct__VampOutputDescriptor.html#a1ccf193317b2b9c2eb0dbd8dcf61d26e">_VampOutputDescriptor::sampleRate</a></div><div class="ttdeci">float sampleRate</div><div class="ttdoc">Sample rate of returned results, if sampleType is vampFixedSampleRate. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00161">vamp.h:161</a></div></div>
<div class="ttc" id="struct__VampFeature_html_a8874cb23600c6b10ca6e8a40920d999e"><div class="ttname"><a href="struct__VampFeature.html#a8874cb23600c6b10ca6e8a40920d999e">_VampFeature::nsec</a></div><div class="ttdeci">int nsec</div><div class="ttdoc">Nanoseconds component of timestamp. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00183">vamp.h:183</a></div></div>
<div class="ttc" id="struct__VampFeatureV2_html_a44d9c57f1ae197d3fec1a48c650cce81"><div class="ttname"><a href="struct__VampFeatureV2.html#a44d9c57f1ae197d3fec1a48c650cce81">_VampFeatureV2::hasDuration</a></div><div class="ttdeci">int hasDuration</div><div class="ttdoc">1 if the feature has a duration. </div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00199">vamp.h:199</a></div></div>
<div class="ttc" id="struct__VampFeatureV2_html"><div class="ttname"><a href="struct__VampFeatureV2.html">_VampFeatureV2</a></div><div class="ttdef"><b>Definition:</b> <a href="vamp_8h_source.html#l00196">vamp.h:196</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_9c751ccb9387a8f0ae6ae8f777da02a0.html">vamp</a></li><li class="navelem"><a class="el" href="vamp_8h.html">vamp.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>