comparison code-doc/classZeroCrossing.html @ 50:8260c0f4e05b website

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