annotate code-doc/classVamp_1_1HostExt_1_1PluginRateExtractor.html @ 7:60ee9a026a62 website

...
author cannam
date Fri, 14 Nov 2008 11:56:54 +0000
parents 351c4ebce5f9
children
rev   line source
cannam@0 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
cannam@0 2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
cannam@0 3 <title>VampPluginSDK: Vamp::HostExt::PluginRateExtractor Class Reference</title>
cannam@0 4 <link href="doxygen.css" rel="stylesheet" type="text/css">
cannam@0 5 <link href="tabs.css" rel="stylesheet" type="text/css">
cannam@0 6 </head><body>
cannam@0 7 <!-- Generated by Doxygen 1.5.5 -->
cannam@0 8 <div class="navigation" id="top">
cannam@0 9 <div class="tabs">
cannam@0 10 <ul>
cannam@0 11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
cannam@0 12 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
cannam@0 13 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
cannam@0 14 <li><a href="files.html"><span>Files</span></a></li>
cannam@0 15 <li><a href="dirs.html"><span>Directories</span></a></li>
cannam@0 16 </ul>
cannam@0 17 </div>
cannam@0 18 <div class="tabs">
cannam@0 19 <ul>
cannam@0 20 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
cannam@0 21 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
cannam@0 22 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
cannam@0 23 </ul>
cannam@0 24 </div>
cannam@0 25 <div class="navpath"><a class="el" href="namespaceVamp.html">Vamp</a>::<a class="el" href="namespaceVamp_1_1HostExt.html">HostExt</a>::<a class="el" href="classVamp_1_1HostExt_1_1PluginRateExtractor.html">PluginRateExtractor</a>
cannam@0 26 </div>
cannam@0 27 </div>
cannam@0 28 <div class="contents">
cannam@0 29 <h1>Vamp::HostExt::PluginRateExtractor Class Reference</h1><!-- doxytag: class="Vamp::HostExt::PluginRateExtractor" --><!-- doxytag: inherits="Vamp::Plugin" --><div class="dynheader">
cannam@0 30 Inheritance diagram for Vamp::HostExt::PluginRateExtractor:</div>
cannam@0 31 <div class="dynsection">
cannam@0 32 <p><center><img src="classVamp_1_1HostExt_1_1PluginRateExtractor__inherit__graph.png" border="0" usemap="#Vamp_1_1HostExt_1_1PluginRateExtractor__inherit__map" alt="Inheritance graph"></center>
cannam@0 33 <map name="Vamp_1_1HostExt_1_1PluginRateExtractor__inherit__map">
cannam@0 34 <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="72,82,171,106"><area shape="rect" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="57,7,185,31"></map>
cannam@0 35 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
cannam@0 36
cannam@0 37 <p>
cannam@0 38 <a href="classVamp_1_1HostExt_1_1PluginRateExtractor-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
cannam@0 39
cannam@0 40 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00043">43</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
cannam@0 41 <table border="0" cellpadding="0" cellspacing="0">
cannam@0 42 <tr><td></td></tr>
cannam@0 43 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
cannam@0 44 <tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>,
cannam@0 45 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>
cannam@0 46 }</td></tr>
cannam@0 47
cannam@0 48 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br>
cannam@0 49 &lt; <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr>
cannam@0 50
cannam@0 51 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr>
cannam@0 52
cannam@0 53 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; int, <br>
cannam@0 54 <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr>
cannam@0 55
cannam@0 56 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br>
cannam@0 57 &lt; <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr>
cannam@0 58
cannam@0 59 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; std::string &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr>
cannam@0 60
cannam@0 61 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
cannam@0 62 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginRateExtractor.html#2ca2ad6683e73737a7c9b0f9b1a35f00">PluginRateExtractor</a> ()</td></tr>
cannam@0 63
cannam@0 64 <tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginRateExtractor.html#d6f14e142d960be479b291291cf8d735">getRate</a> () const </td></tr>
cannam@0 65
cannam@0 66 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822">initialise</a> (size_t inputChannels, size_t stepSize, size_t blockSize)=0</td></tr>
cannam@0 67
cannam@0 68 <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="#f26212cf5fc511b603a8b48034247822"></a><br></td></tr>
cannam@0 69 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#ad67dc9d0052417511070c4ebcfbf24f">reset</a> ()=0</td></tr>
cannam@0 70
cannam@0 71 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#ad67dc9d0052417511070c4ebcfbf24f"></a><br></td></tr>
cannam@0 72 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">getInputDomain</a> () const =0</td></tr>
cannam@0 73
cannam@0 74 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the plugin's required input domain. <a href="#e1d317a9702cbeda65ddf0ec500c1ff6"></a><br></td></tr>
cannam@0 75 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#a529adf83f87a603954eb31407602aac">getPreferredBlockSize</a> () const </td></tr>
cannam@0 76
cannam@0 77 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function). <a href="#a529adf83f87a603954eb31407602aac"></a><br></td></tr>
cannam@0 78 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#514c716c22f81c055f19b56c3f882567">getPreferredStepSize</a> () const </td></tr>
cannam@0 79
cannam@0 80 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the preferred step size (window increment -- the distance in sample frames between the start frames of consecutive blocks passed to the <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#514c716c22f81c055f19b56c3f882567"></a><br></td></tr>
cannam@0 81 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#267b42e866df3cf0d190893e8096f525">getMinChannelCount</a> () const </td></tr>
cannam@0 82
cannam@0 83 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#267b42e866df3cf0d190893e8096f525"></a><br></td></tr>
cannam@0 84 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#2c5ab12b6fa4847cb244bd1e9cb3ae5e">getMaxChannelCount</a> () const </td></tr>
cannam@0 85
cannam@0 86 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><br></td></tr>
cannam@0 87 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#d064d5d132b5c9bd7064f429c3309e35">getOutputDescriptors</a> () const =0</td></tr>
cannam@0 88
cannam@0 89 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the outputs of this plugin. <a href="#d064d5d132b5c9bd7064f429c3309e35"></a><br></td></tr>
cannam@0 90 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)=0</td></tr>
cannam@0 91
cannam@0 92 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process a single block of input data. <a href="#e4aed3bebfe80a2e2fccd3d37af26996"></a><br></td></tr>
cannam@0 93 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#eca2a26e658ba0314ba90d25dd2195d6">getRemainingFeatures</a> ()=0</td></tr>
cannam@0 94
cannam@0 95 <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="#eca2a26e658ba0314ba90d25dd2195d6"></a><br></td></tr>
cannam@0 96 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#be13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr>
cannam@0 97
cannam@0 98 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to distinguish between <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction...">Vamp::Plugin</a> and other potential sibling subclasses of <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a>. <a href="#be13b3997a69fbcc09e2213faa352f91"></a><br></td></tr>
cannam@0 99 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#8fd2c48291c64b790f0efb8948508dcf">getVampApiVersion</a> () const </td></tr>
cannam@0 100
cannam@0 101 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html" title="If you want to compile using FFTW instead of the built-in FFT implementation for...">Vamp</a> API compatibility level of the plugin. <a href="#8fd2c48291c64b790f0efb8948508dcf"></a><br></td></tr>
cannam@0 102 <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#d1c6dfc77aa03d937a885b7f08258f4a">getIdentifier</a> () const =0</td></tr>
cannam@0 103
cannam@0 104 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#d1c6dfc77aa03d937a885b7f08258f4a"></a><br></td></tr>
cannam@0 105 <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#18619d5097e444ecefee0c359da53232">getName</a> () const =0</td></tr>
cannam@0 106
cannam@0 107 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#18619d5097e444ecefee0c359da53232"></a><br></td></tr>
cannam@0 108 <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#59153a02364f75fff46973b2072e9e5a">getDescription</a> () const =0</td></tr>
cannam@0 109
cannam@0 110 <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="#59153a02364f75fff46973b2072e9e5a"></a><br></td></tr>
cannam@0 111 <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#53d9918bf9ef4d12feedf66b2b26c637">getMaker</a> () const =0</td></tr>
cannam@0 112
cannam@0 113 <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="#53d9918bf9ef4d12feedf66b2b26c637"></a><br></td></tr>
cannam@0 114 <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#b7e9dedbe965f5ab9018b72920fe7661">getCopyright</a> () const =0</td></tr>
cannam@0 115
cannam@0 116 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#b7e9dedbe965f5ab9018b72920fe7661"></a><br></td></tr>
cannam@0 117 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#63f686d77bc3d6b807e7944cdde83151">getPluginVersion</a> () const =0</td></tr>
cannam@0 118
cannam@0 119 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the version number of the plugin. <a href="#63f686d77bc3d6b807e7944cdde83151"></a><br></td></tr>
cannam@0 120 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ac3e49b3b66cacfbb768dfdf07444f21">getParameterDescriptors</a> () const </td></tr>
cannam@0 121
cannam@0 122 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#ac3e49b3b66cacfbb768dfdf07444f21"></a><br></td></tr>
cannam@0 123 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#97ababcd45348ceec998d0f8e0f38bf7">getParameter</a> (std::string) const </td></tr>
cannam@0 124
cannam@0 125 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the value of a named parameter. <a href="#97ababcd45348ceec998d0f8e0f38bf7"></a><br></td></tr>
cannam@0 126 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#6c718ce822f7b73b98940d59dcaa9366">setParameter</a> (std::string, float)</td></tr>
cannam@0 127
cannam@0 128 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a named parameter. <a href="#6c718ce822f7b73b98940d59dcaa9366"></a><br></td></tr>
cannam@0 129 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#bb307c60bdb981d5f5af50c3c4ae84af">getPrograms</a> () const </td></tr>
cannam@0 130
cannam@0 131 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the program settings available in this plugin. <a href="#bb307c60bdb981d5f5af50c3c4ae84af"></a><br></td></tr>
cannam@0 132 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#24e77eccf1bdfbbca3c79bb25e8799b3">getCurrentProgram</a> () const </td></tr>
cannam@0 133
cannam@0 134 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current program. <a href="#24e77eccf1bdfbbca3c79bb25e8799b3"></a><br></td></tr>
cannam@0 135 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#add3a547ef140bae200473a9518e3353">selectProgram</a> (std::string)</td></tr>
cannam@0 136
cannam@0 137 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select a program. <a href="#add3a547ef140bae200473a9518e3353"></a><br></td></tr>
cannam@0 138 <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
cannam@0 139 <tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr>
cannam@0 140
cannam@0 141 </table>
cannam@0 142 <hr><h2>Member Typedef Documentation</h2>
cannam@0 143 <a class="anchor" name="30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::OutputList" ref="30f531b8fb69fac41a24e3d2a6a08ed9" args="" -->
cannam@0 144 <div class="memitem">
cannam@0 145 <div class="memproto">
cannam@0 146 <table class="memname">
cannam@0 147 <tr>
cannam@0 148 <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code> </td>
cannam@0 149 </tr>
cannam@0 150 </table>
cannam@0 151 </div>
cannam@0 152 <div class="memdoc">
cannam@0 153
cannam@0 154 <p>
cannam@0 155
cannam@0 156 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00309">309</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p>
cannam@0 157
cannam@0 158 </div>
cannam@0 159 </div><p>
cannam@0 160 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" -->
cannam@0 161 <div class="memitem">
cannam@0 162 <div class="memproto">
cannam@0 163 <table class="memname">
cannam@0 164 <tr>
cannam@0 165 <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code> </td>
cannam@0 166 </tr>
cannam@0 167 </table>
cannam@0 168 </div>
cannam@0 169 <div class="memdoc">
cannam@0 170
cannam@0 171 <p>
cannam@0 172
cannam@0 173 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00347">347</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p>
cannam@0 174
cannam@0 175 </div>
cannam@0 176 </div><p>
cannam@0 177 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" -->
cannam@0 178 <div class="memitem">
cannam@0 179 <div class="memproto">
cannam@0 180 <table class="memname">
cannam@0 181 <tr>
cannam@0 182 <td class="memname">typedef std::map&lt;int, <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code> </td>
cannam@0 183 </tr>
cannam@0 184 </table>
cannam@0 185 </div>
cannam@0 186 <div class="memdoc">
cannam@0 187
cannam@0 188 <p>
cannam@0 189
cannam@0 190 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00348">348</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p>
cannam@0 191
cannam@0 192 </div>
cannam@0 193 </div><p>
cannam@0 194 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" -->
cannam@0 195 <div class="memitem">
cannam@0 196 <div class="memproto">
cannam@0 197 <table class="memname">
cannam@0 198 <tr>
cannam@0 199 <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>&gt; <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code> </td>
cannam@0 200 </tr>
cannam@0 201 </table>
cannam@0 202 </div>
cannam@0 203 <div class="memdoc">
cannam@0 204
cannam@0 205 <p>
cannam@0 206
cannam@0 207 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00195">195</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
cannam@0 208
cannam@0 209 </div>
cannam@0 210 </div><p>
cannam@0 211 <a class="anchor" name="7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::ProgramList" ref="7f66f00437b21e5f694fe02356b12f20" args="" -->
cannam@0 212 <div class="memitem">
cannam@0 213 <div class="memproto">
cannam@0 214 <table class="memname">
cannam@0 215 <tr>
cannam@0 216 <td class="memname">typedef std::vector&lt;std::string&gt; <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code> </td>
cannam@0 217 </tr>
cannam@0 218 </table>
cannam@0 219 </div>
cannam@0 220 <div class="memdoc">
cannam@0 221
cannam@0 222 <p>
cannam@0 223
cannam@0 224 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00217">217</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
cannam@0 225
cannam@0 226 </div>
cannam@0 227 </div><p>
cannam@0 228 <hr><h2>Member Enumeration Documentation</h2>
cannam@0 229 <a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::InputDomain" ref="39cb7649d6dcc20e4cb1640cd55907bc" args="" -->
cannam@0 230 <div class="memitem">
cannam@0 231 <div class="memproto">
cannam@0 232 <table class="memname">
cannam@0 233 <tr>
cannam@0 234 <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code> </td>
cannam@0 235 </tr>
cannam@0 236 </table>
cannam@0 237 </div>
cannam@0 238 <div class="memdoc">
cannam@0 239
cannam@0 240 <p>
cannam@0 241 <dl compact><dt><b>Enumerator: </b></dt><dd>
cannam@0 242 <table border="0" cellspacing="2" cellpadding="0">
cannam@0 243 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em>&nbsp;</td><td>
cannam@0 244 </td></tr>
cannam@0 245 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em>&nbsp;</td><td>
cannam@0 246 </td></tr>
cannam@0 247 </table>
cannam@0 248 </dl>
cannam@0 249
cannam@0 250 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00149">149</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p>
cannam@0 251
cannam@0 252 </div>
cannam@0 253 </div><p>
cannam@0 254 <hr><h2>Constructor &amp; Destructor Documentation</h2>
cannam@0 255 <a class="anchor" name="2ca2ad6683e73737a7c9b0f9b1a35f00"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::PluginRateExtractor" ref="2ca2ad6683e73737a7c9b0f9b1a35f00" args="()" -->
cannam@0 256 <div class="memitem">
cannam@0 257 <div class="memproto">
cannam@0 258 <table class="memname">
cannam@0 259 <tr>
cannam@0 260 <td class="memname">Vamp::HostExt::PluginRateExtractor::PluginRateExtractor </td>
cannam@0 261 <td>(</td>
cannam@0 262 <td class="paramname"> </td>
cannam@0 263 <td>&nbsp;)&nbsp;</td>
cannam@0 264 <td width="100%"><code> [inline]</code></td>
cannam@0 265 </tr>
cannam@0 266 </table>
cannam@0 267 </div>
cannam@0 268 <div class="memdoc">
cannam@0 269
cannam@0 270 <p>
cannam@0 271
cannam@0 272 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00046">46</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
cannam@0 273
cannam@0 274 </div>
cannam@0 275 </div><p>
cannam@0 276 <hr><h2>Member Function Documentation</h2>
cannam@0 277 <a class="anchor" name="d6f14e142d960be479b291291cf8d735"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getRate" ref="d6f14e142d960be479b291291cf8d735" args="() const " -->
cannam@0 278 <div class="memitem">
cannam@0 279 <div class="memproto">
cannam@0 280 <table class="memname">
cannam@0 281 <tr>
cannam@0 282 <td class="memname">float Vamp::HostExt::PluginRateExtractor::getRate </td>
cannam@0 283 <td>(</td>
cannam@0 284 <td class="paramname"> </td>
cannam@0 285 <td>&nbsp;)&nbsp;</td>
cannam@0 286 <td width="100%"> const<code> [inline]</code></td>
cannam@0 287 </tr>
cannam@0 288 </table>
cannam@0 289 </div>
cannam@0 290 <div class="memdoc">
cannam@0 291
cannam@0 292 <p>
cannam@0 293
cannam@0 294 <p>Definition at line <a class="el" href="PluginWrapper_8cpp-source.html#l00047">47</a> of file <a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a>.</p>
cannam@0 295
cannam@0 296 <p>References <a class="el" href="Plugin_8h-source.html#l00397">Vamp::Plugin::m_inputSampleRate</a>.</p>
cannam@0 297
cannam@0 298 </div>
cannam@0 299 </div><p>
cannam@0 300 <a class="anchor" name="f26212cf5fc511b603a8b48034247822"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::initialise" ref="f26212cf5fc511b603a8b48034247822" args="(size_t inputChannels, size_t stepSize, size_t blockSize)=0" -->
cannam@0 301 <div class="memitem">
cannam@0 302 <div class="memproto">
cannam@0 303 <table class="memname">
cannam@0 304 <tr>
cannam@0 305 <td class="memname">virtual bool Vamp::Plugin::initialise </td>
cannam@0 306 <td>(</td>
cannam@0 307 <td class="paramtype">size_t&nbsp;</td>
cannam@0 308 <td class="paramname"> <em>inputChannels</em>, </td>
cannam@0 309 </tr>
cannam@0 310 <tr>
cannam@0 311 <td class="paramkey"></td>
cannam@0 312 <td></td>
cannam@0 313 <td class="paramtype">size_t&nbsp;</td>
cannam@0 314 <td class="paramname"> <em>stepSize</em>, </td>
cannam@0 315 </tr>
cannam@0 316 <tr>
cannam@0 317 <td class="paramkey"></td>
cannam@0 318 <td></td>
cannam@0 319 <td class="paramtype">size_t&nbsp;</td>
cannam@0 320 <td class="paramname"> <em>blockSize</em></td><td>&nbsp;</td>
cannam@0 321 </tr>
cannam@0 322 <tr>
cannam@0 323 <td></td>
cannam@0 324 <td>)</td>
cannam@0 325 <td></td><td></td><td width="100%"><code> [pure virtual, inherited]</code></td>
cannam@0 326 </tr>
cannam@0 327 </table>
cannam@0 328 </div>
cannam@0 329 <div class="memdoc">
cannam@0 330
cannam@0 331 <p>
cannam@0 332 Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames).
cannam@0 333 <p>
cannam@0 334 The input sample rate should have been already specified at construction time.<p>
cannam@0 335 Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported.
cannam@0 336 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#dd6a2f1ee7e47bd97fa599cead14b738">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#9e7798ba4d7870db46502ab541ab37a8">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#de0473c8fc54636431967cbf41649c1c">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#72d201eca10ec73bf16e07984f58f94c">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#eb727e44ee8ad1aceb90964d20f8d90d">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#349c528260622308f3850bcda8a448ab">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#ab1ae16f5c68e2b319668f447908cedb">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#f21bbcc87a6eb7875dfab7d86222dccc">ZeroCrossing</a>.</p>
cannam@0 337
cannam@0 338 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00062">Vamp::HostExt::PluginWrapper::initialise()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00203">Vamp::HostExt::PluginInputDomainAdapter::Impl::initialise()</a>, <a class="el" href="PluginChannelAdapter_8cpp-source.html#l00119">Vamp::HostExt::PluginChannelAdapter::Impl::initialise()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00314">Vamp::HostExt::PluginBufferingAdapter::Impl::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p>
cannam@0 339
cannam@0 340 </div>
cannam@0 341 </div><p>
cannam@0 342 <a class="anchor" name="ad67dc9d0052417511070c4ebcfbf24f"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::reset" ref="ad67dc9d0052417511070c4ebcfbf24f" args="()=0" -->
cannam@0 343 <div class="memitem">
cannam@0 344 <div class="memproto">
cannam@0 345 <table class="memname">
cannam@0 346 <tr>
cannam@0 347 <td class="memname">virtual void Vamp::Plugin::reset </td>
cannam@0 348 <td>(</td>
cannam@0 349 <td class="paramname"> </td>
cannam@0 350 <td>&nbsp;)&nbsp;</td>
cannam@0 351 <td width="100%"><code> [pure virtual, inherited]</code></td>
cannam@0 352 </tr>
cannam@0 353 </table>
cannam@0 354 </div>
cannam@0 355 <div class="memdoc">
cannam@0 356
cannam@0 357 <p>
cannam@0 358 Reset the plugin after use, to prepare it for another clean run.
cannam@0 359 <p>
cannam@0 360 Not called for the first initialisation (i.e. initialise must also do a reset).
cannam@0 361 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#5d54c5bbd76bc27b7a243827148afeaa">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#131fd9fe8a1795d7370d8a721176868a">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#d19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#cebd835e80e84669df078fbd7591d8f7">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#9b1075e992cd9599764ef3881fb91d1a">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#9b5f5581691ff8f46bb7674d8d74395c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#9ae6c4a31ea027dceb1e97ead807e228">ZeroCrossing</a>.</p>
cannam@0 362
cannam@0 363 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00068">Vamp::HostExt::PluginWrapper::reset()</a>.</p>
cannam@0 364
cannam@0 365 </div>
cannam@0 366 </div><p>
cannam@0 367 <a class="anchor" name="e1d317a9702cbeda65ddf0ec500c1ff6"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getInputDomain" ref="e1d317a9702cbeda65ddf0ec500c1ff6" args="() const =0" -->
cannam@0 368 <div class="memitem">
cannam@0 369 <div class="memproto">
cannam@0 370 <table class="memname">
cannam@0 371 <tr>
cannam@0 372 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::Plugin::getInputDomain </td>
cannam@0 373 <td>(</td>
cannam@0 374 <td class="paramname"> </td>
cannam@0 375 <td>&nbsp;)&nbsp;</td>
cannam@0 376 <td width="100%"> const<code> [pure virtual, inherited]</code></td>
cannam@0 377 </tr>
cannam@0 378 </table>
cannam@0 379 </div>
cannam@0 380 <div class="memdoc">
cannam@0 381
cannam@0 382 <p>
cannam@0 383 Get the plugin's required input domain.
cannam@0 384 <p>
cannam@0 385 If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" 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. If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a>. The plugin does not get to choose the window type -- the host will either let the user do so, or will use a Hanning window.
cannam@0 386 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#9c5239a4da67f1a426cd059e1a2856eb">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#376fa97a1c721255541fe35d71368976">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#031aa818fd48fd0f4b5e1bf80c032870">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#fc07a389b5f922b944b0350fd232d2eb">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#4f6954267696ee5bfa7dd1c4a6cfa92a">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#0ec2cb74c1c5f6e57d0bd9dcf7c8f469">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#afe2ce6ebd353a14c40db7e8e60f4051">ZeroCrossing</a>.</p>
cannam@0 387
cannam@0 388 <p>Referenced by <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00074">Vamp::HostExt::PluginWrapper::getInputDomain()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00283">Vamp::HostExt::PluginInputDomainAdapter::Impl::getPreferredBlockSize()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00271">Vamp::HostExt::PluginInputDomainAdapter::Impl::getPreferredStepSize()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00203">Vamp::HostExt::PluginInputDomainAdapter::Impl::initialise()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00314">Vamp::HostExt::PluginBufferingAdapter::Impl::initialise()</a>, <a class="el" href="PluginLoader_8cpp-source.html#l00355">Vamp::HostExt::PluginLoader::Impl::loadPlugin()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00342">Vamp::HostExt::PluginInputDomainAdapter::Impl::process()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p>
cannam@0 389
cannam@0 390 </div>
cannam@0 391 </div><p>
cannam@0 392 <a class="anchor" name="a529adf83f87a603954eb31407602aac"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getPreferredBlockSize" ref="a529adf83f87a603954eb31407602aac" args="() const " -->
cannam@0 393 <div class="memitem">
cannam@0 394 <div class="memproto">
cannam@0 395 <table class="memname">
cannam@0 396 <tr>
cannam@0 397 <td class="memname">virtual size_t Vamp::Plugin::getPreferredBlockSize </td>
cannam@0 398 <td>(</td>
cannam@0 399 <td class="paramname"> </td>
cannam@0 400 <td>&nbsp;)&nbsp;</td>
cannam@0 401 <td width="100%"> const<code> [inline, virtual, inherited]</code></td>
cannam@0 402 </tr>
cannam@0 403 </table>
cannam@0 404 </div>
cannam@0 405 <div class="memdoc">
cannam@0 406
cannam@0 407 <p>
cannam@0 408 Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function).
cannam@0 409 <p>
cannam@0 410 This should be called before <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a>.<p>
cannam@0 411 A plugin that can handle any block size may return 0. The final block size will be set in the <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a> call.
cannam@0 412 <p>Reimplemented in <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>, and <a class="el" href="classPercussionOnsetDetector.html#410c0b47c6c849d7ed9b726b84402ad0">PercussionOnsetDetector</a>.</p>
cannam@0 413
cannam@0 414 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00171">171</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p>
cannam@0 415
cannam@0 416 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00164">Vamp::HostExt::PluginWrapper::getPreferredBlockSize()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00283">Vamp::HostExt::PluginInputDomainAdapter::Impl::getPreferredBlockSize()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00314">Vamp::HostExt::PluginBufferingAdapter::Impl::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p>
cannam@0 417
cannam@0 418 </div>
cannam@0 419 </div><p>
cannam@0 420 <a class="anchor" name="514c716c22f81c055f19b56c3f882567"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getPreferredStepSize" ref="514c716c22f81c055f19b56c3f882567" args="() const " -->
cannam@0 421 <div class="memitem">
cannam@0 422 <div class="memproto">
cannam@0 423 <table class="memname">
cannam@0 424 <tr>
cannam@0 425 <td class="memname">virtual size_t Vamp::Plugin::getPreferredStepSize </td>
cannam@0 426 <td>(</td>
cannam@0 427 <td class="paramname"> </td>
cannam@0 428 <td>&nbsp;)&nbsp;</td>
cannam@0 429 <td width="100%"> const<code> [inline, virtual, inherited]</code></td>
cannam@0 430 </tr>
cannam@0 431 </table>
cannam@0 432 </div>
cannam@0 433 <div class="memdoc">
cannam@0 434
cannam@0 435 <p>
cannam@0 436 Get the preferred step size (window increment -- the distance in sample frames between the start frames of consecutive blocks passed to the <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> function) for the plugin.
cannam@0 437 <p>
cannam@0 438 This should be called before <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a>.<p>
cannam@0 439 A plugin may return 0 if it has no particular interest in the step size. In this case, the host should make the step size equal to the block size if the plugin is accepting input in the time domain. If the plugin is accepting input in the frequency domain, the host may use any step size. The final step size will be set in the <a class="el" href="classVamp_1_1Plugin.html#f26212cf5fc511b603a8b48034247822" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a> call.
cannam@0 440 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#859ad5d59402691daed3cf1af1899ebe">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</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>, and <a class="el" href="classPercussionOnsetDetector.html#733824891e11c306a7a678534b89b968">PercussionOnsetDetector</a>.</p>
cannam@0 441
cannam@0 442 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00186">186</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p>
cannam@0 443
cannam@0 444 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00158">Vamp::HostExt::PluginWrapper::getPreferredStepSize()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00271">Vamp::HostExt::PluginInputDomainAdapter::Impl::getPreferredStepSize()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00314">Vamp::HostExt::PluginBufferingAdapter::Impl::initialise()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p>
cannam@0 445
cannam@0 446 </div>
cannam@0 447 </div><p>
cannam@0 448 <a class="anchor" name="267b42e866df3cf0d190893e8096f525"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getMinChannelCount" ref="267b42e866df3cf0d190893e8096f525" args="() const " -->
cannam@0 449 <div class="memitem">
cannam@0 450 <div class="memproto">
cannam@0 451 <table class="memname">
cannam@0 452 <tr>
cannam@0 453 <td class="memname">virtual size_t Vamp::Plugin::getMinChannelCount </td>
cannam@0 454 <td>(</td>
cannam@0 455 <td class="paramname"> </td>
cannam@0 456 <td>&nbsp;)&nbsp;</td>
cannam@0 457 <td width="100%"> const<code> [inline, virtual, inherited]</code></td>
cannam@0 458 </tr>
cannam@0 459 </table>
cannam@0 460 </div>
cannam@0 461 <div class="memdoc">
cannam@0 462
cannam@0 463 <p>
cannam@0 464 Get the minimum supported number of input channels.
cannam@0 465 <p>
cannam@0 466
cannam@0 467 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#67d1198c0e58d3f0076d0eda599ff28d">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#2b28f1cf37d46a514f1e1411a6037bf8">Vamp::HostExt::PluginWrapper</a>.</p>
cannam@0 468
cannam@0 469 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00191">191</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p>
cannam@0 470
cannam@0 471 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00170">Vamp::HostExt::PluginWrapper::getMinChannelCount()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00093">ZeroCrossing::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00095">SpectralCentroid::initialise()</a>, <a class="el" href="PluginChannelAdapter_8cpp-source.html#l00119">Vamp::HostExt::PluginChannelAdapter::Impl::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>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p>
cannam@0 472
cannam@0 473 </div>
cannam@0 474 </div><p>
cannam@0 475 <a class="anchor" name="2c5ab12b6fa4847cb244bd1e9cb3ae5e"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getMaxChannelCount" ref="2c5ab12b6fa4847cb244bd1e9cb3ae5e" args="() const " -->
cannam@0 476 <div class="memitem">
cannam@0 477 <div class="memproto">
cannam@0 478 <table class="memname">
cannam@0 479 <tr>
cannam@0 480 <td class="memname">virtual size_t Vamp::Plugin::getMaxChannelCount </td>
cannam@0 481 <td>(</td>
cannam@0 482 <td class="paramname"> </td>
cannam@0 483 <td>&nbsp;)&nbsp;</td>
cannam@0 484 <td width="100%"> const<code> [inline, virtual, inherited]</code></td>
cannam@0 485 </tr>
cannam@0 486 </table>
cannam@0 487 </div>
cannam@0 488 <div class="memdoc">
cannam@0 489
cannam@0 490 <p>
cannam@0 491 Get the maximum supported number of input channels.
cannam@0 492 <p>
cannam@0 493
cannam@0 494 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#25091905e97e39d515d8ffc1a9f2b9e0">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#985eb21f1827bfbc3950d6871b107a58">Vamp::HostExt::PluginWrapper</a>.</p>
cannam@0 495
cannam@0 496 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00196">196</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p>
cannam@0 497
cannam@0 498 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00175">Vamp::HostExt::PluginWrapper::getMaxChannelCount()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00093">ZeroCrossing::initialise()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00095">SpectralCentroid::initialise()</a>, <a class="el" href="PluginChannelAdapter_8cpp-source.html#l00119">Vamp::HostExt::PluginChannelAdapter::Impl::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>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p>
cannam@0 499
cannam@0 500 </div>
cannam@0 501 </div><p>
cannam@0 502 <a class="anchor" name="d064d5d132b5c9bd7064f429c3309e35"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getOutputDescriptors" ref="d064d5d132b5c9bd7064f429c3309e35" args="() const =0" -->
cannam@0 503 <div class="memitem">
cannam@0 504 <div class="memproto">
cannam@0 505 <table class="memname">
cannam@0 506 <tr>
cannam@0 507 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::Plugin::getOutputDescriptors </td>
cannam@0 508 <td>(</td>
cannam@0 509 <td class="paramname"> </td>
cannam@0 510 <td>&nbsp;)&nbsp;</td>
cannam@0 511 <td width="100%"> const<code> [pure virtual, inherited]</code></td>
cannam@0 512 </tr>
cannam@0 513 </table>
cannam@0 514 </div>
cannam@0 515 <div class="memdoc">
cannam@0 516
cannam@0 517 <p>
cannam@0 518 Get the outputs of this plugin.
cannam@0 519 <p>
cannam@0 520 An output's index in this list is used as its numeric index when looking it up in the FeatureSet returned from the <a class="el" href="classVamp_1_1Plugin.html#e4aed3bebfe80a2e2fccd3d37af26996" title="Process a single block of input data.">process()</a> call.
cannam@0 521 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#e02670cca9d25cdc4100cbe7a12e3e68">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#85a027f5859efb31d315205e234e94c0">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#02c8c01972affeea58b091335e791ace">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#043e3c3db77d76267cd8069e1485bf26">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#a4537aa0eb58a67d6e824d46924cf782">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#894ca9740927102bb80b56b5e9e95877">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#c9d590a6feb1fc9a37d7892aefe2b688">ZeroCrossing</a>.</p>
cannam@0 522
cannam@0 523 <p>Referenced by <a class="el" href="PluginAdapter_8cpp-source.html#l00619">Vamp::PluginAdapterBase::Impl::checkOutputMap()</a>, <a class="el" href="vamp-simple-host_8cpp-source.html#l00478">enumeratePlugins()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00181">Vamp::HostExt::PluginWrapper::getOutputDescriptors()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00367">Vamp::HostExt::PluginBufferingAdapter::Impl::getOutputDescriptors()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p>
cannam@0 524
cannam@0 525 </div>
cannam@0 526 </div><p>
cannam@0 527 <a class="anchor" name="e4aed3bebfe80a2e2fccd3d37af26996"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::process" ref="e4aed3bebfe80a2e2fccd3d37af26996" args="(const float *const *inputBuffers, RealTime timestamp)=0" -->
cannam@0 528 <div class="memitem">
cannam@0 529 <div class="memproto">
cannam@0 530 <table class="memname">
cannam@0 531 <tr>
cannam@0 532 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::Plugin::process </td>
cannam@0 533 <td>(</td>
cannam@0 534 <td class="paramtype">const float *const *&nbsp;</td>
cannam@0 535 <td class="paramname"> <em>inputBuffers</em>, </td>
cannam@0 536 </tr>
cannam@0 537 <tr>
cannam@0 538 <td class="paramkey"></td>
cannam@0 539 <td></td>
cannam@0 540 <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a>&nbsp;</td>
cannam@0 541 <td class="paramname"> <em>timestamp</em></td><td>&nbsp;</td>
cannam@0 542 </tr>
cannam@0 543 <tr>
cannam@0 544 <td></td>
cannam@0 545 <td>)</td>
cannam@0 546 <td></td><td></td><td width="100%"><code> [pure virtual, inherited]</code></td>
cannam@0 547 </tr>
cannam@0 548 </table>
cannam@0 549 </div>
cannam@0 550 <div class="memdoc">
cannam@0 551
cannam@0 552 <p>
cannam@0 553 Process a single block of input data.
cannam@0 554 <p>
cannam@0 555 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 will be the real time in seconds of the start of the supplied block of samples.<p>
cannam@0 556 If the plugin's inputDomain is FrequencyDomain, inputBuffers will point to one array of floats per input channel, and each of these arrays will contain blockSize/2+1 consecutive pairs of real and imaginary component floats corresponding to bins 0..(blockSize/2) of the FFT output. That is, bin 0 (the first pair of floats) contains the DC output, up to bin blockSize/2 which contains the Nyquist-frequency output. There will therefore be blockSize+2 floats per channel in total. The timestamp will be the real time in seconds of the centre of the FFT input window (i.e. the very first block passed to process might contain the FFT of half a block of zero samples and the first half-block of the actual data, with a timestamp of zero).<p>
cannam@0 557 Return any features that have become available after this process call. (These do not necessarily have to fall within the process block, except for OneSamplePerStep outputs.)
cannam@0 558 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#82c29a512c0587ea0121eee4b0c2a684">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#262206b978d9de28ee4bb35f437e915e">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html#294e663b4d9ec885791faa1b440571ed">Vamp::HostExt::PluginChannelAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#0867737693c16801d40a6adbde07ec07">Vamp::HostExt::PluginInputDomainAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#fca78043c2843c1d45019983515e23f7">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#48d0f95cac31ffd190cff89b50a2a5bd">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#dfd989812b3e0cb8f4b498f56a5a9614">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#ca96c70e7e75c9e4a7db38485018914c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#bf4aaa6fd8cc03de63f4e1e8942633da">ZeroCrossing</a>.</p>
cannam@0 559
cannam@0 560 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00187">Vamp::HostExt::PluginWrapper::process()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00342">Vamp::HostExt::PluginInputDomainAdapter::Impl::process()</a>, <a class="el" href="PluginChannelAdapter_8cpp-source.html#l00177">Vamp::HostExt::PluginChannelAdapter::Impl::process()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00690">Vamp::PluginAdapterBase::Impl::process()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00485">Vamp::HostExt::PluginBufferingAdapter::Impl::processBlock()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p>
cannam@0 561
cannam@0 562 </div>
cannam@0 563 </div><p>
cannam@0 564 <a class="anchor" name="eca2a26e658ba0314ba90d25dd2195d6"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getRemainingFeatures" ref="eca2a26e658ba0314ba90d25dd2195d6" args="()=0" -->
cannam@0 565 <div class="memitem">
cannam@0 566 <div class="memproto">
cannam@0 567 <table class="memname">
cannam@0 568 <tr>
cannam@0 569 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::Plugin::getRemainingFeatures </td>
cannam@0 570 <td>(</td>
cannam@0 571 <td class="paramname"> </td>
cannam@0 572 <td>&nbsp;)&nbsp;</td>
cannam@0 573 <td width="100%"><code> [pure virtual, inherited]</code></td>
cannam@0 574 </tr>
cannam@0 575 </table>
cannam@0 576 </div>
cannam@0 577 <div class="memdoc">
cannam@0 578
cannam@0 579 <p>
cannam@0 580 After all blocks have been processed, calculate and return any remaining features derived from the complete input.
cannam@0 581 <p>
cannam@0 582
cannam@0 583 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#d3f5f16a89a821da2ec1186fd2062e83">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#8771cba75552aaa1340b68de9bf1659c">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#1dce55a75a32b08fc56a52a300d9fcbe">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#368606f643b88e0df0823d85e36f030c">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#d3d6767ed137783e84f842b4d4732ffa">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#83ba39f0870a2f86837605a958dfab1a">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#70996d1b7166e303903daf92a9a37ad8">ZeroCrossing</a>.</p>
cannam@0 584
cannam@0 585 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00193">Vamp::HostExt::PluginWrapper::getRemainingFeatures()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00452">Vamp::HostExt::PluginBufferingAdapter::Impl::getRemainingFeatures()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00701">Vamp::PluginAdapterBase::Impl::getRemainingFeatures()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p>
cannam@0 586
cannam@0 587 </div>
cannam@0 588 </div><p>
cannam@0 589 <a class="anchor" name="be13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getType" ref="be13b3997a69fbcc09e2213faa352f91" args="() const " -->
cannam@0 590 <div class="memitem">
cannam@0 591 <div class="memproto">
cannam@0 592 <table class="memname">
cannam@0 593 <tr>
cannam@0 594 <td class="memname">virtual std::string Vamp::Plugin::getType </td>
cannam@0 595 <td>(</td>
cannam@0 596 <td class="paramname"> </td>
cannam@0 597 <td>&nbsp;)&nbsp;</td>
cannam@0 598 <td width="100%"> const<code> [inline, virtual, inherited]</code></td>
cannam@0 599 </tr>
cannam@0 600 </table>
cannam@0 601 </div>
cannam@0 602 <div class="memdoc">
cannam@0 603
cannam@0 604 <p>
cannam@0 605 Used to distinguish between <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction...">Vamp::Plugin</a> and other potential sibling subclasses of <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a>.
cannam@0 606 <p>
cannam@0 607 Do not reimplement this function in your subclass.
cannam@0 608 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p>
cannam@0 609
cannam@0 610 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00391">391</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p>
cannam@0 611
cannam@0 612 </div>
cannam@0 613 </div><p>
cannam@0 614 <a class="anchor" name="8fd2c48291c64b790f0efb8948508dcf"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getVampApiVersion" ref="8fd2c48291c64b790f0efb8948508dcf" args="() const " -->
cannam@0 615 <div class="memitem">
cannam@0 616 <div class="memproto">
cannam@0 617 <table class="memname">
cannam@0 618 <tr>
cannam@0 619 <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </td>
cannam@0 620 <td>(</td>
cannam@0 621 <td class="paramname"> </td>
cannam@0 622 <td>&nbsp;)&nbsp;</td>
cannam@0 623 <td width="100%"> const<code> [inline, virtual, inherited]</code></td>
cannam@0 624 </tr>
cannam@0 625 </table>
cannam@0 626 </div>
cannam@0 627 <div class="memdoc">
cannam@0 628
cannam@0 629 <p>
cannam@0 630 Get the <a class="el" href="namespaceVamp.html" title="If you want to compile using FFTW instead of the built-in FFT implementation for...">Vamp</a> API compatibility level of the plugin.
cannam@0 631 <p>
cannam@0 632
cannam@0 633 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#98aadddc8403eb46c9d8c5a9d1fdd19e">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#74147fda6b44ff2169bd4a1eea0d46ff">Vamp::HostExt::PluginWrapper</a>.</p>
cannam@0 634
cannam@0 635 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00067">67</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
cannam@0 636
cannam@0 637 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00478">enumeratePlugins()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="PluginWrapper_8cpp-source.html#l00080">Vamp::HostExt::PluginWrapper::getVampApiVersion()</a>.</p>
cannam@0 638
cannam@0 639 </div>
cannam@0 640 </div><p>
cannam@0 641 <a class="anchor" name="d1c6dfc77aa03d937a885b7f08258f4a"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getIdentifier" ref="d1c6dfc77aa03d937a885b7f08258f4a" args="() const =0" -->
cannam@0 642 <div class="memitem">
cannam@0 643 <div class="memproto">
cannam@0 644 <table class="memname">
cannam@0 645 <tr>
cannam@0 646 <td class="memname">virtual std::string Vamp::PluginBase::getIdentifier </td>
cannam@0 647 <td>(</td>
cannam@0 648 <td class="paramname"> </td>
cannam@0 649 <td>&nbsp;)&nbsp;</td>
cannam@0 650 <td width="100%"> const<code> [pure virtual, inherited]</code></td>
cannam@0 651 </tr>
cannam@0 652 </table>
cannam@0 653 </div>
cannam@0 654 <div class="memdoc">
cannam@0 655
cannam@0 656 <p>
cannam@0 657 Get the computer-usable name of the plugin.
cannam@0 658 <p>
cannam@0 659 This should be reasonably short and contain no whitespace or punctuation characters. It may only contain the characters [a-zA-Z0-9_-]. This is the authoritative way for a program to identify a plugin within a given library.<p>
cannam@0 660 This text may be visible to the user, but it should not be the main text used to identify a plugin to the user (that will be the name, below).<p>
cannam@0 661 Example: "zero_crossings"
cannam@0 662 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#b27423a656f878d97d2ad2eba4e76c7a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#4baa9e48f717c2b3e7f92496aa39d904">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#fe7576af95c8fcc7f5bad42eec9f9f29">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#267c83a7533146c127e2c3be310e0154">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#1b2c4c8440c024c4c635fcef5697949f">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#f2baf9e19fcdd11cfe97ace56d4f5c1a">ZeroCrossing</a>.</p>
cannam@0 663
cannam@0 664 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00478">enumeratePlugins()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00086">Vamp::HostExt::PluginWrapper::getIdentifier()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00244">runPlugin()</a>.</p>
cannam@0 665
cannam@0 666 </div>
cannam@0 667 </div><p>
cannam@0 668 <a class="anchor" name="18619d5097e444ecefee0c359da53232"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getName" ref="18619d5097e444ecefee0c359da53232" args="() const =0" -->
cannam@0 669 <div class="memitem">
cannam@0 670 <div class="memproto">
cannam@0 671 <table class="memname">
cannam@0 672 <tr>
cannam@0 673 <td class="memname">virtual std::string Vamp::PluginBase::getName </td>
cannam@0 674 <td>(</td>
cannam@0 675 <td class="paramname"> </td>
cannam@0 676 <td>&nbsp;)&nbsp;</td>
cannam@0 677 <td width="100%"> const<code> [pure virtual, inherited]</code></td>
cannam@0 678 </tr>
cannam@0 679 </table>
cannam@0 680 </div>
cannam@0 681 <div class="memdoc">
cannam@0 682
cannam@0 683 <p>
cannam@0 684 Get a human-readable name or title of the plugin.
cannam@0 685 <p>
cannam@0 686 This should be brief and self-contained, as it may be used to identify the plugin to the user in isolation (i.e. without also showing the plugin's "identifier").<p>
cannam@0 687 Example: "Zero Crossings"
cannam@0 688 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#45f1d0377e233eeddd1b7cefb48be62a">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#c70a3265bb25aeb03f6dd8f8a0442088">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#7cfed00bc9d96ba6c709b69ab6a40594">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#a98f1ad061a11af98c054011a8844e6f">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#b7e6a620fea568af431be3cfd9dd5a41">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#fa96f7ce6e7d9f03768f48c6a9d88498">ZeroCrossing</a>.</p>
cannam@0 689
cannam@0 690 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00478">enumeratePlugins()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00092">Vamp::HostExt::PluginWrapper::getName()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00577">printPluginCategoryList()</a>.</p>
cannam@0 691
cannam@0 692 </div>
cannam@0 693 </div><p>
cannam@0 694 <a class="anchor" name="59153a02364f75fff46973b2072e9e5a"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getDescription" ref="59153a02364f75fff46973b2072e9e5a" args="() const =0" -->
cannam@0 695 <div class="memitem">
cannam@0 696 <div class="memproto">
cannam@0 697 <table class="memname">
cannam@0 698 <tr>
cannam@0 699 <td class="memname">virtual std::string Vamp::PluginBase::getDescription </td>
cannam@0 700 <td>(</td>
cannam@0 701 <td class="paramname"> </td>
cannam@0 702 <td>&nbsp;)&nbsp;</td>
cannam@0 703 <td width="100%"> const<code> [pure virtual, inherited]</code></td>
cannam@0 704 </tr>
cannam@0 705 </table>
cannam@0 706 </div>
cannam@0 707 <div class="memdoc">
cannam@0 708
cannam@0 709 <p>
cannam@0 710 Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name".
cannam@0 711 <p>
cannam@0 712 May be empty if the name has said it all already.<p>
cannam@0 713 Example: "Detect and count zero crossing points"
cannam@0 714 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#5eaafcef030e81b90a3e77cf16cf8ae1">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#c334f699c0996055942785410d8a065c">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#6f0f2fea1fdb4b51e688edfe859d5062">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#9061d189705802a48973a7ccab6360db">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#8fbb74a46283057d9a0b0e4718ee943c">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#710bb0b013157adaeef2a9e6867b4478">ZeroCrossing</a>.</p>
cannam@0 715
cannam@0 716 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00478">enumeratePlugins()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00098">Vamp::HostExt::PluginWrapper::getDescription()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00577">printPluginCategoryList()</a>.</p>
cannam@0 717
cannam@0 718 </div>
cannam@0 719 </div><p>
cannam@0 720 <a class="anchor" name="53d9918bf9ef4d12feedf66b2b26c637"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getMaker" ref="53d9918bf9ef4d12feedf66b2b26c637" args="() const =0" -->
cannam@0 721 <div class="memitem">
cannam@0 722 <div class="memproto">
cannam@0 723 <table class="memname">
cannam@0 724 <tr>
cannam@0 725 <td class="memname">virtual std::string Vamp::PluginBase::getMaker </td>
cannam@0 726 <td>(</td>
cannam@0 727 <td class="paramname"> </td>
cannam@0 728 <td>&nbsp;)&nbsp;</td>
cannam@0 729 <td width="100%"> const<code> [pure virtual, inherited]</code></td>
cannam@0 730 </tr>
cannam@0 731 </table>
cannam@0 732 </div>
cannam@0 733 <div class="memdoc">
cannam@0 734
cannam@0 735 <p>
cannam@0 736 Get the name of the author or vendor of the plugin in human-readable form.
cannam@0 737 <p>
cannam@0 738 This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar.
cannam@0 739 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#f572be0b175f5661559006a380a0f3db">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#59d5a2298951b317995675e664b1c7bb">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#44fc43838f203f58bc2ce6e3cb2b03dd">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#63d63f2cb7ea8d8b09d58cc13b541375">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#c01ff858bf67e2e93ad5d24a6ba8c8c8">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#c68561634a3c329a029c2fd3deaeae2a">ZeroCrossing</a>.</p>
cannam@0 740
cannam@0 741 <p>Referenced by <a class="el" href="vamp-simple-host_8cpp-source.html#l00478">enumeratePlugins()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00104">Vamp::HostExt::PluginWrapper::getMaker()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00577">printPluginCategoryList()</a>.</p>
cannam@0 742
cannam@0 743 </div>
cannam@0 744 </div><p>
cannam@0 745 <a class="anchor" name="b7e9dedbe965f5ab9018b72920fe7661"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getCopyright" ref="b7e9dedbe965f5ab9018b72920fe7661" args="() const =0" -->
cannam@0 746 <div class="memitem">
cannam@0 747 <div class="memproto">
cannam@0 748 <table class="memname">
cannam@0 749 <tr>
cannam@0 750 <td class="memname">virtual std::string Vamp::PluginBase::getCopyright </td>
cannam@0 751 <td>(</td>
cannam@0 752 <td class="paramname"> </td>
cannam@0 753 <td>&nbsp;)&nbsp;</td>
cannam@0 754 <td width="100%"> const<code> [pure virtual, inherited]</code></td>
cannam@0 755 </tr>
cannam@0 756 </table>
cannam@0 757 </div>
cannam@0 758 <div class="memdoc">
cannam@0 759
cannam@0 760 <p>
cannam@0 761 Get the copyright statement or licensing summary for the plugin.
cannam@0 762 <p>
cannam@0 763 This can be an informative text, without the same presentation constraints as mentioned for getMaker above.
cannam@0 764 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#c73c9d6baad04369beee695e99584815">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#e14f6ecb78be909c4cd5f0cdaed3c566">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#0c197fc90f30d91cb4403115c83c9134">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#1a22ece271330c94cc08798a77416351">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#925747d513d598e0fa21ed0ed6520980">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#f9c41b92aa8ff8bddaebf75569ff789c">ZeroCrossing</a>.</p>
cannam@0 765
cannam@0 766 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00116">Vamp::HostExt::PluginWrapper::getCopyright()</a>, and <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>.</p>
cannam@0 767
cannam@0 768 </div>
cannam@0 769 </div><p>
cannam@0 770 <a class="anchor" name="63f686d77bc3d6b807e7944cdde83151"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getPluginVersion" ref="63f686d77bc3d6b807e7944cdde83151" args="() const =0" -->
cannam@0 771 <div class="memitem">
cannam@0 772 <div class="memproto">
cannam@0 773 <table class="memname">
cannam@0 774 <tr>
cannam@0 775 <td class="memname">virtual int Vamp::PluginBase::getPluginVersion </td>
cannam@0 776 <td>(</td>
cannam@0 777 <td class="paramname"> </td>
cannam@0 778 <td>&nbsp;)&nbsp;</td>
cannam@0 779 <td width="100%"> const<code> [pure virtual, inherited]</code></td>
cannam@0 780 </tr>
cannam@0 781 </table>
cannam@0 782 </div>
cannam@0 783 <div class="memdoc">
cannam@0 784
cannam@0 785 <p>
cannam@0 786 Get the version number of the plugin.
cannam@0 787 <p>
cannam@0 788
cannam@0 789 <p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#6fbd94781867ca46a20368c2a3593c77">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#47e1acf1696813008324a915c9ba59c5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#8a5d7a834eb996d517c51f84b2a72250">AmplitudeFollower</a>, <a class="el" href="classPercussionOnsetDetector.html#d6b818dbd81867ce7be71c99cae861be">PercussionOnsetDetector</a>, <a class="el" href="classSpectralCentroid.html#f64622e66bf678ac2b0b58aa832ca2b3">SpectralCentroid</a>, and <a class="el" href="classZeroCrossing.html#d685f6c2f443f07a1634550c335571eb">ZeroCrossing</a>.</p>
cannam@0 790
cannam@0 791 <p>Referenced by <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="PluginWrapper_8cpp-source.html#l00110">Vamp::HostExt::PluginWrapper::getPluginVersion()</a>.</p>
cannam@0 792
cannam@0 793 </div>
cannam@0 794 </div><p>
cannam@0 795 <a class="anchor" name="ac3e49b3b66cacfbb768dfdf07444f21"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getParameterDescriptors" ref="ac3e49b3b66cacfbb768dfdf07444f21" args="() const " -->
cannam@0 796 <div class="memitem">
cannam@0 797 <div class="memproto">
cannam@0 798 <table class="memname">
cannam@0 799 <tr>
cannam@0 800 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginBase::getParameterDescriptors </td>
cannam@0 801 <td>(</td>
cannam@0 802 <td class="paramname"> </td>
cannam@0 803 <td>&nbsp;)&nbsp;</td>
cannam@0 804 <td width="100%"> const<code> [inline, virtual, inherited]</code></td>
cannam@0 805 </tr>
cannam@0 806 </table>
cannam@0 807 </div>
cannam@0 808 <div class="memdoc">
cannam@0 809
cannam@0 810 <p>
cannam@0 811 Get the controllable parameters of this plugin.
cannam@0 812 <p>
cannam@0 813
cannam@0 814 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#bfa93b20d9b5651a32042a9bb7c8df13">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#3b075b8f950b344503f0d27ac0fe332e">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#9df01323a09e117bc12354ebe9244edf">AmplitudeFollower</a>, and <a class="el" href="classPercussionOnsetDetector.html#bceae88cc9762b0ea310d7aad71de815">PercussionOnsetDetector</a>.</p>
cannam@0 815
cannam@0 816 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00200">200</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
cannam@0 817
cannam@0 818 <p>Referenced by <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="PluginWrapper_8cpp-source.html#l00122">Vamp::HostExt::PluginWrapper::getParameterDescriptors()</a>.</p>
cannam@0 819
cannam@0 820 </div>
cannam@0 821 </div><p>
cannam@0 822 <a class="anchor" name="97ababcd45348ceec998d0f8e0f38bf7"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getParameter" ref="97ababcd45348ceec998d0f8e0f38bf7" args="(std::string) const " -->
cannam@0 823 <div class="memitem">
cannam@0 824 <div class="memproto">
cannam@0 825 <table class="memname">
cannam@0 826 <tr>
cannam@0 827 <td class="memname">virtual float Vamp::PluginBase::getParameter </td>
cannam@0 828 <td>(</td>
cannam@0 829 <td class="paramtype">std::string&nbsp;</td>
cannam@0 830 <td class="paramname"> </td>
cannam@0 831 <td>&nbsp;)&nbsp;</td>
cannam@0 832 <td width="100%"> const<code> [inline, virtual, inherited]</code></td>
cannam@0 833 </tr>
cannam@0 834 </table>
cannam@0 835 </div>
cannam@0 836 <div class="memdoc">
cannam@0 837
cannam@0 838 <p>
cannam@0 839 Get the value of a named parameter.
cannam@0 840 <p>
cannam@0 841 The argument is the identifier field from that parameter's descriptor.
cannam@0 842 <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>, and <a class="el" href="classPercussionOnsetDetector.html#9b28da8315fcde46ce7644d6592ba527">PercussionOnsetDetector</a>.</p>
cannam@0 843
cannam@0 844 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00208">208</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
cannam@0 845
cannam@0 846 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00128">Vamp::HostExt::PluginWrapper::getParameter()</a>.</p>
cannam@0 847
cannam@0 848 </div>
cannam@0 849 </div><p>
cannam@0 850 <a class="anchor" name="6c718ce822f7b73b98940d59dcaa9366"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::setParameter" ref="6c718ce822f7b73b98940d59dcaa9366" args="(std::string, float)" -->
cannam@0 851 <div class="memitem">
cannam@0 852 <div class="memproto">
cannam@0 853 <table class="memname">
cannam@0 854 <tr>
cannam@0 855 <td class="memname">virtual void Vamp::PluginBase::setParameter </td>
cannam@0 856 <td>(</td>
cannam@0 857 <td class="paramtype">std::string&nbsp;</td>
cannam@0 858 <td class="paramname">, </td>
cannam@0 859 </tr>
cannam@0 860 <tr>
cannam@0 861 <td class="paramkey"></td>
cannam@0 862 <td></td>
cannam@0 863 <td class="paramtype">float&nbsp;</td>
cannam@0 864 <td class="paramname"></td><td>&nbsp;</td>
cannam@0 865 </tr>
cannam@0 866 <tr>
cannam@0 867 <td></td>
cannam@0 868 <td>)</td>
cannam@0 869 <td></td><td></td><td width="100%"><code> [inline, virtual, inherited]</code></td>
cannam@0 870 </tr>
cannam@0 871 </table>
cannam@0 872 </div>
cannam@0 873 <div class="memdoc">
cannam@0 874
cannam@0 875 <p>
cannam@0 876 Set a named parameter.
cannam@0 877 <p>
cannam@0 878 The first argument is the identifier field from that parameter's descriptor.
cannam@0 879 <p>Reimplemented in <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>, and <a class="el" href="classPercussionOnsetDetector.html#a097d72488e1211f05fc661ff5c6dc01">PercussionOnsetDetector</a>.</p>
cannam@0 880
cannam@0 881 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00214">214</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
cannam@0 882
cannam@0 883 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00134">Vamp::HostExt::PluginWrapper::setParameter()</a>.</p>
cannam@0 884
cannam@0 885 </div>
cannam@0 886 </div><p>
cannam@0 887 <a class="anchor" name="bb307c60bdb981d5f5af50c3c4ae84af"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getPrograms" ref="bb307c60bdb981d5f5af50c3c4ae84af" args="() const " -->
cannam@0 888 <div class="memitem">
cannam@0 889 <div class="memproto">
cannam@0 890 <table class="memname">
cannam@0 891 <tr>
cannam@0 892 <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </td>
cannam@0 893 <td>(</td>
cannam@0 894 <td class="paramname"> </td>
cannam@0 895 <td>&nbsp;)&nbsp;</td>
cannam@0 896 <td width="100%"> const<code> [inline, virtual, inherited]</code></td>
cannam@0 897 </tr>
cannam@0 898 </table>
cannam@0 899 </div>
cannam@0 900 <div class="memdoc">
cannam@0 901
cannam@0 902 <p>
cannam@0 903 Get the program settings available in this plugin.
cannam@0 904 <p>
cannam@0 905 A program is a named shorthand for a set of parameter values; changing the program may cause the plugin to alter the values of its published parameters (and/or non-public internal processing parameters). The host should re-read the plugin's parameter values after setting a new program.<p>
cannam@0 906 The programs must have unique names.
cannam@0 907 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#7ac5681dcfe08b7b8a796bffc0aff3e3">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#f3abaf717dc4b00cad5770ed6dfa01e1">Vamp::HostExt::PluginWrapper</a>.</p>
cannam@0 908
cannam@0 909 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00229">229</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
cannam@0 910
cannam@0 911 <p>Referenced by <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="PluginWrapper_8cpp-source.html#l00140">Vamp::HostExt::PluginWrapper::getPrograms()</a>.</p>
cannam@0 912
cannam@0 913 </div>
cannam@0 914 </div><p>
cannam@0 915 <a class="anchor" name="24e77eccf1bdfbbca3c79bb25e8799b3"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::getCurrentProgram" ref="24e77eccf1bdfbbca3c79bb25e8799b3" args="() const " -->
cannam@0 916 <div class="memitem">
cannam@0 917 <div class="memproto">
cannam@0 918 <table class="memname">
cannam@0 919 <tr>
cannam@0 920 <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </td>
cannam@0 921 <td>(</td>
cannam@0 922 <td class="paramname"> </td>
cannam@0 923 <td>&nbsp;)&nbsp;</td>
cannam@0 924 <td width="100%"> const<code> [inline, virtual, inherited]</code></td>
cannam@0 925 </tr>
cannam@0 926 </table>
cannam@0 927 </div>
cannam@0 928 <div class="memdoc">
cannam@0 929
cannam@0 930 <p>
cannam@0 931 Get the current program.
cannam@0 932 <p>
cannam@0 933
cannam@0 934 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#34859eff8ca8d862af39be9636ec1867">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#7a312dd42d161064b70afd7ff24c0651">Vamp::HostExt::PluginWrapper</a>.</p>
cannam@0 935
cannam@0 936 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00234">234</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
cannam@0 937
cannam@0 938 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00146">Vamp::HostExt::PluginWrapper::getCurrentProgram()</a>.</p>
cannam@0 939
cannam@0 940 </div>
cannam@0 941 </div><p>
cannam@0 942 <a class="anchor" name="add3a547ef140bae200473a9518e3353"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::selectProgram" ref="add3a547ef140bae200473a9518e3353" args="(std::string)" -->
cannam@0 943 <div class="memitem">
cannam@0 944 <div class="memproto">
cannam@0 945 <table class="memname">
cannam@0 946 <tr>
cannam@0 947 <td class="memname">virtual void Vamp::PluginBase::selectProgram </td>
cannam@0 948 <td>(</td>
cannam@0 949 <td class="paramtype">std::string&nbsp;</td>
cannam@0 950 <td class="paramname"> </td>
cannam@0 951 <td>&nbsp;)&nbsp;</td>
cannam@0 952 <td width="100%"><code> [inline, virtual, inherited]</code></td>
cannam@0 953 </tr>
cannam@0 954 </table>
cannam@0 955 </div>
cannam@0 956 <div class="memdoc">
cannam@0 957
cannam@0 958 <p>
cannam@0 959 Select a program.
cannam@0 960 <p>
cannam@0 961 (If the given program name is not one of the available programs, do nothing.)
cannam@0 962 <p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p>
cannam@0 963
cannam@0 964 <p>Definition at line <a class="el" href="PluginBase_8h-source.html#l00240">240</a> of file <a class="el" href="PluginBase_8h-source.html">PluginBase.h</a>.</p>
cannam@0 965
cannam@0 966 <p>Referenced by <a class="el" href="PluginWrapper_8cpp-source.html#l00152">Vamp::HostExt::PluginWrapper::selectProgram()</a>.</p>
cannam@0 967
cannam@0 968 </div>
cannam@0 969 </div><p>
cannam@0 970 <hr><h2>Member Data Documentation</h2>
cannam@0 971 <a class="anchor" name="59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::HostExt::PluginRateExtractor::m_inputSampleRate" ref="59b9dd82a4f4eb946cd0474cc81abc23" args="" -->
cannam@0 972 <div class="memitem">
cannam@0 973 <div class="memproto">
cannam@0 974 <table class="memname">
cannam@0 975 <tr>
cannam@0 976 <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code> </td>
cannam@0 977 </tr>
cannam@0 978 </table>
cannam@0 979 </div>
cannam@0 980 <div class="memdoc">
cannam@0 981
cannam@0 982 <p>
cannam@0 983
cannam@0 984 <p>Definition at line <a class="el" href="Plugin_8h-source.html#l00397">397</a> of file <a class="el" href="Plugin_8h-source.html">Plugin.h</a>.</p>
cannam@0 985
cannam@0 986 <p>Referenced by <a class="el" href="ZeroCrossing_8cpp-source.html#l00110">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>, <a class="el" href="PluginWrapper_8cpp-source.html#l00047">getRate()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="PluginBufferingAdapter_8cpp-source.html#l00238">Vamp::HostExt::PluginBufferingAdapter::PluginBufferingAdapter()</a>, <a class="el" href="PluginInputDomainAdapter_8cpp-source.html#l00113">Vamp::HostExt::PluginInputDomainAdapter::PluginInputDomainAdapter()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00141">ZeroCrossing::process()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00137">SpectralCentroid::process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00226">PercussionOnsetDetector::process()</a>.</p>
cannam@0 987
cannam@0 988 </div>
cannam@0 989 </div><p>
cannam@0 990 <hr>The documentation for this class was generated from the following file:<ul>
cannam@0 991 <li><a class="el" href="PluginWrapper_8cpp-source.html">PluginWrapper.cpp</a></ul>
cannam@0 992 </div>
cannam@0 993 <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jul 9 11:36:10 2008 for VampPluginSDK by&nbsp;
cannam@0 994 <a href="http://www.doxygen.org/index.html">
cannam@0 995 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
cannam@0 996 </body>
cannam@0 997 </html>