annotate code-doc/classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html @ 21:cc0be37dc9d3 website

* Updates for 2.0
author cannam
date Tue, 09 Dec 2008 11:02:57 +0000
parents
children 0976232e353b
rev   line source
cannam@21 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
cannam@21 2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
cannam@21 3 <title>VampPluginSDK: Vamp::HostExt::PluginSummarisingAdapter Class Reference</title>
cannam@21 4 <link href="doxygen.css" rel="stylesheet" type="text/css">
cannam@21 5 <link href="tabs.css" rel="stylesheet" type="text/css">
cannam@21 6 </head><body>
cannam@21 7 <!-- Generated by Doxygen 1.5.6 -->
cannam@21 8 <div class="navigation" id="top">
cannam@21 9 <div class="tabs">
cannam@21 10 <ul>
cannam@21 11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
cannam@21 12 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
cannam@21 13 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
cannam@21 14 <li><a href="files.html"><span>Files</span></a></li>
cannam@21 15 <li><a href="dirs.html"><span>Directories</span></a></li>
cannam@21 16 </ul>
cannam@21 17 </div>
cannam@21 18 <div class="tabs">
cannam@21 19 <ul>
cannam@21 20 <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
cannam@21 21 <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
cannam@21 22 <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
cannam@21 23 </ul>
cannam@21 24 </div>
cannam@21 25 <div 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_1PluginSummarisingAdapter.html">PluginSummarisingAdapter</a>
cannam@21 26 </div>
cannam@21 27 </div>
cannam@21 28 <div class="contents">
cannam@21 29 <h1>Vamp::HostExt::PluginSummarisingAdapter Class Reference</h1><!-- doxytag: class="Vamp::HostExt::PluginSummarisingAdapter" --><!-- doxytag: inherits="Vamp::HostExt::PluginWrapper" --><code>#include &lt;<a class="el" href="PluginSummarisingAdapter_8h-source.html">vamp-hostsdk/PluginSummarisingAdapter.h</a>&gt;</code>
cannam@21 30 <p>
cannam@21 31 <div class="dynheader">
cannam@21 32 Inheritance diagram for Vamp::HostExt::PluginSummarisingAdapter:</div>
cannam@21 33 <div class="dynsection">
cannam@21 34 <p><center><img src="classVamp_1_1HostExt_1_1PluginSummarisingAdapter__inherit__graph.png" border="0" usemap="#Vamp_1_1HostExt_1_1PluginSummarisingAdapter__inherit__map" alt="Inheritance graph"></center>
cannam@21 35 <map name="Vamp_1_1HostExt_1_1PluginSummarisingAdapter__inherit__map">
cannam@21 36 <area shape="rect" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="43,154,243,181"><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="93,80,192,106"><area shape="rect" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="79,5,207,32"></map>
cannam@21 37 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
cannam@21 38
cannam@21 39 <p>
cannam@21 40 <a href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
cannam@21 41 <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods...">PluginSummarisingAdapter</a> is a <a class="el" href="namespaceVamp.html">Vamp</a> plugin adapter that provides summarisation methods such as mean and median averages of output features, for use in any context where an available plugin produces individual values but the result that is actually needed is some sort of aggregate.
cannam@21 42 <p>
cannam@21 43 To make use of <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods...">PluginSummarisingAdapter</a>, the host should configure, initialise and run the plugin through the adapter interface just as normal. Then, after the process and getRemainingFeatures methods have been properly called and processing is complete, the host may call getSummaryForOutput or getSummaryForAllOutputs to obtain summarised features: averages, maximum values, etc, depending on the SummaryType passed to the function.<p>
cannam@21 44 By default <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods...">PluginSummarisingAdapter</a> calculates a single summary of each output's feature across the whole duration of processed audio. A host needing summaries of sub-segments of the whole audio may call setSummarySegmentBoundaries before retrieving the summaries, providing a list of times such that one summary will be provided for each segment between two consecutive times.<p>
cannam@21 45 <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods...">PluginSummarisingAdapter</a> is straightforward rather than fast. It calculates all of the summary types for all outputs always, and then returns only the ones that are requested. It is designed on the basis that, for most features, summarising and storing summarised results is far cheaper than calculating the results in the first place. If this is not true for your particular feature, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods...">PluginSummarisingAdapter</a> may not be the best approach for you.<p>
cannam@21 46 <dl class="note" compact><dt><b>Note:</b></dt><dd>This class was introduced in version 2.0 of the <a class="el" href="namespaceVamp.html">Vamp</a> plugin SDK. </dd></dl>
cannam@21 47
cannam@21 48 <p>Definition at line <a class="el" href="PluginSummarisingAdapter_8h-source.html#l00086">86</a> of file <a class="el" href="PluginSummarisingAdapter_8h-source.html">PluginSummarisingAdapter.h</a>.</p>
cannam@21 49 <table border="0" cellpadding="0" cellspacing="0">
cannam@21 50 <tr><td></td></tr>
cannam@21 51 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
cannam@21 52 <tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705">SummaryType</a> { <br>
cannam@21 53 &nbsp;&nbsp;<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705320b8a4cd0c3d492aeb17f7fc4ed930c">Minimum</a> = 0,
cannam@21 54 <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705defff4e5073aa298a96d99b92025b7f9">Maximum</a> = 1,
cannam@21 55 <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705e8a03f013397d08c85734e47524f5a75">Mean</a> = 2,
cannam@21 56 <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705adde1f9a5a6557f25223279433699195">Median</a> = 3,
cannam@21 57 <br>
cannam@21 58 &nbsp;&nbsp;<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b65724717051688d03811a2268daa062220f5be0614">Mode</a> = 4,
cannam@21 59 <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b65724717059496664a605b3aa706f909070d73060b">Sum</a> = 5,
cannam@21 60 <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705e965a9e5381745e6e3a75342d7c8e075">Variance</a> = 6,
cannam@21 61 <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b65724717059342cd2209e20b93843cd389d9511ec7">StandardDeviation</a> = 7,
cannam@21 62 <br>
cannam@21 63 &nbsp;&nbsp;<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b65724717052395772fa2e74b3f617e20c76d579ad6">Count</a> = 8,
cannam@21 64 <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705eed3a16d665eb789053b82fdd386ee7c">UnknownSummaryType</a> = 999
cannam@21 65 <br>
cannam@21 66 }</td></tr>
cannam@21 67
cannam@21 68 <tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#294e9eed9c541dcedbaa4f2dfda1ac76">AveragingMethod</a> { <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#294e9eed9c541dcedbaa4f2dfda1ac76e8833d866dec593d29f1f4e3cd1e6e36">SampleAverage</a> = 0,
cannam@21 69 <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#294e9eed9c541dcedbaa4f2dfda1ac766af6316c12e29bdbdff90c5fec764baa">ContinuousTimeAverage</a> = 1
cannam@21 70 }</td></tr>
cannam@21 71
cannam@21 72 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">AveragingMethod indicates how the adapter should handle average-based summaries of features whose results are not equally spaced in time. <a href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#294e9eed9c541dcedbaa4f2dfda1ac76">More...</a><br></td></tr>
cannam@21 73 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::set&lt; <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#74e7f93c745802a2409185b63922466b">SegmentBoundaries</a></td></tr>
cannam@21 74
cannam@21 75 <tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> { <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff">TimeDomain</a>,
cannam@21 76 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>
cannam@21 77 }</td></tr>
cannam@21 78
cannam@21 79 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br>
cannam@21 80 &lt; <a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a></td></tr>
cannam@21 81
cannam@21 82 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a></td></tr>
cannam@21 83
cannam@21 84 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; int, <br>
cannam@21 85 <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a></td></tr>
cannam@21 86
cannam@21 87 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br>
cannam@21 88 &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@21 89
cannam@21 90 <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@21 91
cannam@21 92 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
cannam@21 93 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#31b41f54560a2ae6c3ec1a945f3f1d68">PluginSummarisingAdapter</a> (<a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *plugin)</td></tr>
cannam@21 94
cannam@21 95 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods...">PluginSummarisingAdapter</a> wrapping the given plugin. <a href="#31b41f54560a2ae6c3ec1a945f3f1d68"></a><br></td></tr>
cannam@21 96 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#47846e7cc0ef4a29335e08b9645316d0">~PluginSummarisingAdapter</a> ()</td></tr>
cannam@21 97
cannam@21 98 <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#1e994576d43efe103bf8f83b69716745">initialise</a> (size_t channels, size_t stepSize, size_t blockSize)</td></tr>
cannam@21 99
cannam@21 100 <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="#1e994576d43efe103bf8f83b69716745"></a><br></td></tr>
cannam@21 101 <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="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#3314b456a4780601c021dac25b478846">process</a> (const float *const *inputBuffers, <a class="el" href="structVamp_1_1RealTime.html">RealTime</a> timestamp)</td></tr>
cannam@21 102
cannam@21 103 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process a single block of input data. <a href="#3314b456a4780601c021dac25b478846"></a><br></td></tr>
cannam@21 104 <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="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#e9dcbd1ba8197ff90b4fc6bf7ade7688">getRemainingFeatures</a> ()</td></tr>
cannam@21 105
cannam@21 106 <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="#e9dcbd1ba8197ff90b4fc6bf7ade7688"></a><br></td></tr>
cannam@21 107 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#1a659500ca1290a228c0b9b91f6ac0b7">setSummarySegmentBoundaries</a> (const <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#74e7f93c745802a2409185b63922466b">SegmentBoundaries</a> &amp;)</td></tr>
cannam@21 108
cannam@21 109 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specify a series of segment boundaries, such that one summary will be returned for each of the contiguous intra-boundary segments. <a href="#1a659500ca1290a228c0b9b91f6ac0b7"></a><br></td></tr>
cannam@21 110 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#be13faa68d3244b962dbd362671e23f9">getSummaryForOutput</a> (int output, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705">SummaryType</a> type, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#294e9eed9c541dcedbaa4f2dfda1ac76">AveragingMethod</a> method=SampleAverage)</td></tr>
cannam@21 111
cannam@21 112 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return summaries of the features that were returned on the given output, using the given SummaryType and AveragingMethod. <a href="#be13faa68d3244b962dbd362671e23f9"></a><br></td></tr>
cannam@21 113 <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="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#c3f93d9ca2d25c9fdc80d0ba10eaaa6b">getSummaryForAllOutputs</a> (<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705">SummaryType</a> type, <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#294e9eed9c541dcedbaa4f2dfda1ac76">AveragingMethod</a> method=SampleAverage)</td></tr>
cannam@21 114
cannam@21 115 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return summaries of the features that were returned on all of the plugin's outputs, using the given SummaryType and AveragingMethod. <a href="#c3f93d9ca2d25c9fdc80d0ba10eaaa6b"></a><br></td></tr>
cannam@21 116 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#d19cc0614ba41cdc26ef3394c5146fe6">reset</a> ()</td></tr>
cannam@21 117
cannam@21 118 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#d19cc0614ba41cdc26ef3394c5146fe6"></a><br></td></tr>
cannam@21 119 <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="classVamp_1_1HostExt_1_1PluginWrapper.html#e203faf8384c9e1fddc381409aa8a214">getInputDomain</a> () const </td></tr>
cannam@21 120
cannam@21 121 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the plugin's required input domain. <a href="#e203faf8384c9e1fddc381409aa8a214"></a><br></td></tr>
cannam@21 122 <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#74147fda6b44ff2169bd4a1eea0d46ff">getVampApiVersion</a> () const </td></tr>
cannam@21 123
cannam@21 124 <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="#74147fda6b44ff2169bd4a1eea0d46ff"></a><br></td></tr>
cannam@21 125 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#4baa9e48f717c2b3e7f92496aa39d904">getIdentifier</a> () const </td></tr>
cannam@21 126
cannam@21 127 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the computer-usable name of the plugin. <a href="#4baa9e48f717c2b3e7f92496aa39d904"></a><br></td></tr>
cannam@21 128 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#c70a3265bb25aeb03f6dd8f8a0442088">getName</a> () const </td></tr>
cannam@21 129
cannam@21 130 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a human-readable name or title of the plugin. <a href="#c70a3265bb25aeb03f6dd8f8a0442088"></a><br></td></tr>
cannam@21 131 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#c334f699c0996055942785410d8a065c">getDescription</a> () const </td></tr>
cannam@21 132
cannam@21 133 <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="#c334f699c0996055942785410d8a065c"></a><br></td></tr>
cannam@21 134 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#59d5a2298951b317995675e664b1c7bb">getMaker</a> () const </td></tr>
cannam@21 135
cannam@21 136 <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="#59d5a2298951b317995675e664b1c7bb"></a><br></td></tr>
cannam@21 137 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#47e1acf1696813008324a915c9ba59c5">getPluginVersion</a> () const </td></tr>
cannam@21 138
cannam@21 139 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the version number of the plugin. <a href="#47e1acf1696813008324a915c9ba59c5"></a><br></td></tr>
cannam@21 140 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#e14f6ecb78be909c4cd5f0cdaed3c566">getCopyright</a> () const </td></tr>
cannam@21 141
cannam@21 142 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin. <a href="#e14f6ecb78be909c4cd5f0cdaed3c566"></a><br></td></tr>
cannam@21 143 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#9be71561265c2e6e43b7feaddaa91f36">getParameterDescriptors</a> () const </td></tr>
cannam@21 144
cannam@21 145 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the controllable parameters of this plugin. <a href="#9be71561265c2e6e43b7feaddaa91f36"></a><br></td></tr>
cannam@21 146 <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_1PluginWrapper.html#034920f56c8d7609a85447c42556048c">getParameter</a> (std::string) const </td></tr>
cannam@21 147
cannam@21 148 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the value of a named parameter. <a href="#034920f56c8d7609a85447c42556048c"></a><br></td></tr>
cannam@21 149 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#651b15a5dc4c27942ac0c87c6092bfe5">setParameter</a> (std::string, float)</td></tr>
cannam@21 150
cannam@21 151 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a named parameter. <a href="#651b15a5dc4c27942ac0c87c6092bfe5"></a><br></td></tr>
cannam@21 152 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#131fbe1df81215020b9aa8cecef4c802">getPrograms</a> () const </td></tr>
cannam@21 153
cannam@21 154 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the program settings available in this plugin. <a href="#131fbe1df81215020b9aa8cecef4c802"></a><br></td></tr>
cannam@21 155 <tr><td class="memItemLeft" nowrap align="right" valign="top">std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#7a312dd42d161064b70afd7ff24c0651">getCurrentProgram</a> () const </td></tr>
cannam@21 156
cannam@21 157 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current program. <a href="#7a312dd42d161064b70afd7ff24c0651"></a><br></td></tr>
cannam@21 158 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#074978333a74fdcf336a8a1d8ea20abf">selectProgram</a> (std::string)</td></tr>
cannam@21 159
cannam@21 160 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Select a program. <a href="#074978333a74fdcf336a8a1d8ea20abf"></a><br></td></tr>
cannam@21 161 <tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#0137d93d7019bacc31104836fb4d352e">getPreferredStepSize</a> () const </td></tr>
cannam@21 162
cannam@21 163 <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_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function) for the plugin. <a href="#0137d93d7019bacc31104836fb4d352e"></a><br></td></tr>
cannam@21 164 <tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#2c62a656313a819650656643a867ad01">getPreferredBlockSize</a> () const </td></tr>
cannam@21 165
cannam@21 166 <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_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function). <a href="#2c62a656313a819650656643a867ad01"></a><br></td></tr>
cannam@21 167 <tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#2b28f1cf37d46a514f1e1411a6037bf8">getMinChannelCount</a> () const </td></tr>
cannam@21 168
cannam@21 169 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the minimum supported number of input channels. <a href="#2b28f1cf37d46a514f1e1411a6037bf8"></a><br></td></tr>
cannam@21 170 <tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#985eb21f1827bfbc3950d6871b107a58">getMaxChannelCount</a> () const </td></tr>
cannam@21 171
cannam@21 172 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#985eb21f1827bfbc3950d6871b107a58"></a><br></td></tr>
cannam@21 173 <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="classVamp_1_1HostExt_1_1PluginWrapper.html#5a9411305f713b4c9827844b89acd270">getOutputDescriptors</a> () const </td></tr>
cannam@21 174
cannam@21 175 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the outputs of this plugin. <a href="#5a9411305f713b4c9827844b89acd270"></a><br></td></tr>
cannam@21 176 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename WrapperType&gt; </td></tr>
cannam@21 177 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">WrapperType *&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#e9d79bed7237d55a73018a6b982a55b3">getWrapper</a> ()</td></tr>
cannam@21 178
cannam@21 179 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present. <a href="#e9d79bed7237d55a73018a6b982a55b3"></a><br></td></tr>
cannam@21 180 <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#be13b3997a69fbcc09e2213faa352f91">getType</a> () const </td></tr>
cannam@21 181
cannam@21 182 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to distinguish between <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction...">Vamp::Plugin</a> and other potential sibling subclasses of <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a>. <a href="#be13b3997a69fbcc09e2213faa352f91"></a><br></td></tr>
cannam@21 183 <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
cannam@21 184 <tr><td class="memItemLeft" nowrap align="right" valign="top">Impl *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f131140817d9f131650af98b6b8d7a94">m_impl</a></td></tr>
cannam@21 185
cannam@21 186 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#b4e40ecd98b445e1a2aa9e7baa280ea2">m_plugin</a></td></tr>
cannam@21 187
cannam@21 188 <tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1Plugin.html#59b9dd82a4f4eb946cd0474cc81abc23">m_inputSampleRate</a></td></tr>
cannam@21 189
cannam@21 190 </table>
cannam@21 191 <hr><h2>Member Typedef Documentation</h2>
cannam@21 192 <a class="anchor" name="74e7f93c745802a2409185b63922466b"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::SegmentBoundaries" ref="74e7f93c745802a2409185b63922466b" args="" -->
cannam@21 193 <div class="memitem">
cannam@21 194 <div class="memproto">
cannam@21 195 <table class="memname">
cannam@21 196 <tr>
cannam@21 197 <td class="memname">typedef std::set&lt;<a class="el" href="structVamp_1_1RealTime.html">RealTime</a>&gt; <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#74e7f93c745802a2409185b63922466b">Vamp::HostExt::PluginSummarisingAdapter::SegmentBoundaries</a> </td>
cannam@21 198 </tr>
cannam@21 199 </table>
cannam@21 200 </div>
cannam@21 201 <div class="memdoc">
cannam@21 202
cannam@21 203 <p>
cannam@21 204
cannam@21 205 <p>Definition at line <a class="el" href="PluginSummarisingAdapter_8h-source.html#l00102">102</a> of file <a class="el" href="PluginSummarisingAdapter_8h-source.html">PluginSummarisingAdapter.h</a>.</p>
cannam@21 206
cannam@21 207 </div>
cannam@21 208 </div><p>
cannam@21 209 <a class="anchor" name="30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::OutputList" ref="30f531b8fb69fac41a24e3d2a6a08ed9" args="" -->
cannam@21 210 <div class="memitem">
cannam@21 211 <div class="memproto">
cannam@21 212 <table class="memname">
cannam@21 213 <tr>
cannam@21 214 <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1Plugin_1_1OutputDescriptor.html">OutputDescriptor</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">Vamp::Plugin::OutputList</a><code> [inherited]</code> </td>
cannam@21 215 </tr>
cannam@21 216 </table>
cannam@21 217 </div>
cannam@21 218 <div class="memdoc">
cannam@21 219
cannam@21 220 <p>
cannam@21 221
cannam@21 222 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00322">322</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
cannam@21 223
cannam@21 224 </div>
cannam@21 225 </div><p>
cannam@21 226 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" -->
cannam@21 227 <div class="memitem">
cannam@21 228 <div class="memproto">
cannam@21 229 <table class="memname">
cannam@21 230 <tr>
cannam@21 231 <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1Plugin_1_1Feature.html">Feature</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">Vamp::Plugin::FeatureList</a><code> [inherited]</code> </td>
cannam@21 232 </tr>
cannam@21 233 </table>
cannam@21 234 </div>
cannam@21 235 <div class="memdoc">
cannam@21 236
cannam@21 237 <p>
cannam@21 238
cannam@21 239 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00380">380</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
cannam@21 240
cannam@21 241 </div>
cannam@21 242 </div><p>
cannam@21 243 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" -->
cannam@21 244 <div class="memitem">
cannam@21 245 <div class="memproto">
cannam@21 246 <table class="memname">
cannam@21 247 <tr>
cannam@21 248 <td class="memname">typedef std::map&lt;int, <a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a>&gt; <a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">Vamp::Plugin::FeatureSet</a><code> [inherited]</code> </td>
cannam@21 249 </tr>
cannam@21 250 </table>
cannam@21 251 </div>
cannam@21 252 <div class="memdoc">
cannam@21 253
cannam@21 254 <p>
cannam@21 255
cannam@21 256 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00382">382</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
cannam@21 257
cannam@21 258 </div>
cannam@21 259 </div><p>
cannam@21 260 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" -->
cannam@21 261 <div class="memitem">
cannam@21 262 <div class="memproto">
cannam@21 263 <table class="memname">
cannam@21 264 <tr>
cannam@21 265 <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>&gt; <a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a><code> [inherited]</code> </td>
cannam@21 266 </tr>
cannam@21 267 </table>
cannam@21 268 </div>
cannam@21 269 <div class="memdoc">
cannam@21 270
cannam@21 271 <p>
cannam@21 272
cannam@21 273 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00203">203</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
cannam@21 274
cannam@21 275 </div>
cannam@21 276 </div><p>
cannam@21 277 <a class="anchor" name="7f66f00437b21e5f694fe02356b12f20"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::ProgramList" ref="7f66f00437b21e5f694fe02356b12f20" args="" -->
cannam@21 278 <div class="memitem">
cannam@21 279 <div class="memproto">
cannam@21 280 <table class="memname">
cannam@21 281 <tr>
cannam@21 282 <td class="memname">typedef std::vector&lt;std::string&gt; <a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a><code> [inherited]</code> </td>
cannam@21 283 </tr>
cannam@21 284 </table>
cannam@21 285 </div>
cannam@21 286 <div class="memdoc">
cannam@21 287
cannam@21 288 <p>
cannam@21 289
cannam@21 290 <p>Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h-source.html#l00225">225</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h-source.html">vamp-sdk/PluginBase.h</a>.</p>
cannam@21 291
cannam@21 292 </div>
cannam@21 293 </div><p>
cannam@21 294 <hr><h2>Member Enumeration Documentation</h2>
cannam@21 295 <a class="anchor" name="f504f810448961fc489e9b6572471705"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::SummaryType" ref="f504f810448961fc489e9b6572471705" args="" -->
cannam@21 296 <div class="memitem">
cannam@21 297 <div class="memproto">
cannam@21 298 <table class="memname">
cannam@21 299 <tr>
cannam@21 300 <td class="memname">enum <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705">Vamp::HostExt::PluginSummarisingAdapter::SummaryType</a> </td>
cannam@21 301 </tr>
cannam@21 302 </table>
cannam@21 303 </div>
cannam@21 304 <div class="memdoc">
cannam@21 305
cannam@21 306 <p>
cannam@21 307 <dl compact><dt><b>Enumerator: </b></dt><dd>
cannam@21 308 <table border="0" cellspacing="2" cellpadding="0">
cannam@21 309 <tr><td valign="top"><em><a class="anchor" name="f504f810448961fc489e9b6572471705320b8a4cd0c3d492aeb17f7fc4ed930c"></a><!-- doxytag: member="Minimum" ref="f504f810448961fc489e9b6572471705320b8a4cd0c3d492aeb17f7fc4ed930c" args="" -->Minimum</em>&nbsp;</td><td>
cannam@21 310 </td></tr>
cannam@21 311 <tr><td valign="top"><em><a class="anchor" name="f504f810448961fc489e9b6572471705defff4e5073aa298a96d99b92025b7f9"></a><!-- doxytag: member="Maximum" ref="f504f810448961fc489e9b6572471705defff4e5073aa298a96d99b92025b7f9" args="" -->Maximum</em>&nbsp;</td><td>
cannam@21 312 </td></tr>
cannam@21 313 <tr><td valign="top"><em><a class="anchor" name="f504f810448961fc489e9b6572471705e8a03f013397d08c85734e47524f5a75"></a><!-- doxytag: member="Mean" ref="f504f810448961fc489e9b6572471705e8a03f013397d08c85734e47524f5a75" args="" -->Mean</em>&nbsp;</td><td>
cannam@21 314 </td></tr>
cannam@21 315 <tr><td valign="top"><em><a class="anchor" name="f504f810448961fc489e9b6572471705adde1f9a5a6557f25223279433699195"></a><!-- doxytag: member="Median" ref="f504f810448961fc489e9b6572471705adde1f9a5a6557f25223279433699195" args="" -->Median</em>&nbsp;</td><td>
cannam@21 316 </td></tr>
cannam@21 317 <tr><td valign="top"><em><a class="anchor" name="f504f810448961fc489e9b65724717051688d03811a2268daa062220f5be0614"></a><!-- doxytag: member="Mode" ref="f504f810448961fc489e9b65724717051688d03811a2268daa062220f5be0614" args="" -->Mode</em>&nbsp;</td><td>
cannam@21 318 </td></tr>
cannam@21 319 <tr><td valign="top"><em><a class="anchor" name="f504f810448961fc489e9b65724717059496664a605b3aa706f909070d73060b"></a><!-- doxytag: member="Sum" ref="f504f810448961fc489e9b65724717059496664a605b3aa706f909070d73060b" args="" -->Sum</em>&nbsp;</td><td>
cannam@21 320 </td></tr>
cannam@21 321 <tr><td valign="top"><em><a class="anchor" name="f504f810448961fc489e9b6572471705e965a9e5381745e6e3a75342d7c8e075"></a><!-- doxytag: member="Variance" ref="f504f810448961fc489e9b6572471705e965a9e5381745e6e3a75342d7c8e075" args="" -->Variance</em>&nbsp;</td><td>
cannam@21 322 </td></tr>
cannam@21 323 <tr><td valign="top"><em><a class="anchor" name="f504f810448961fc489e9b65724717059342cd2209e20b93843cd389d9511ec7"></a><!-- doxytag: member="StandardDeviation" ref="f504f810448961fc489e9b65724717059342cd2209e20b93843cd389d9511ec7" args="" -->StandardDeviation</em>&nbsp;</td><td>
cannam@21 324 </td></tr>
cannam@21 325 <tr><td valign="top"><em><a class="anchor" name="f504f810448961fc489e9b65724717052395772fa2e74b3f617e20c76d579ad6"></a><!-- doxytag: member="Count" ref="f504f810448961fc489e9b65724717052395772fa2e74b3f617e20c76d579ad6" args="" -->Count</em>&nbsp;</td><td>
cannam@21 326 </td></tr>
cannam@21 327 <tr><td valign="top"><em><a class="anchor" name="f504f810448961fc489e9b6572471705eed3a16d665eb789053b82fdd386ee7c"></a><!-- doxytag: member="UnknownSummaryType" ref="f504f810448961fc489e9b6572471705eed3a16d665eb789053b82fdd386ee7c" args="" -->UnknownSummaryType</em>&nbsp;</td><td>
cannam@21 328 </td></tr>
cannam@21 329 </table>
cannam@21 330 </dl>
cannam@21 331
cannam@21 332 <p>Definition at line <a class="el" href="PluginSummarisingAdapter_8h-source.html#l00119">119</a> of file <a class="el" href="PluginSummarisingAdapter_8h-source.html">PluginSummarisingAdapter.h</a>.</p>
cannam@21 333
cannam@21 334 </div>
cannam@21 335 </div><p>
cannam@21 336 <a class="anchor" name="294e9eed9c541dcedbaa4f2dfda1ac76"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::AveragingMethod" ref="294e9eed9c541dcedbaa4f2dfda1ac76" args="" -->
cannam@21 337 <div class="memitem">
cannam@21 338 <div class="memproto">
cannam@21 339 <table class="memname">
cannam@21 340 <tr>
cannam@21 341 <td class="memname">enum <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#294e9eed9c541dcedbaa4f2dfda1ac76">Vamp::HostExt::PluginSummarisingAdapter::AveragingMethod</a> </td>
cannam@21 342 </tr>
cannam@21 343 </table>
cannam@21 344 </div>
cannam@21 345 <div class="memdoc">
cannam@21 346
cannam@21 347 <p>
cannam@21 348 AveragingMethod indicates how the adapter should handle average-based summaries of features whose results are not equally spaced in time.
cannam@21 349 <p>
cannam@21 350 If SampleAverage is specified, summary types based on averages will be calculated by treating each result individually without regard to its time: for example, the mean will be the sum of all values divided by the number of values.<p>
cannam@21 351 If ContinuousTimeAverage is specified, each feature will be considered to have a duration, either as specified in the feature's duration field, or until the following feature: thus, for example, the mean will be the sum of the products of values and durations, divided by the total duration.<p>
cannam@21 352 Although SampleAverage is useful for many types of feature, ContinuousTimeAverage is essential for some situations, for example finding the result that spans the largest proportion of the input given a feature that emits a new result only when the value changes (the modal value integrated over time). <dl compact><dt><b>Enumerator: </b></dt><dd>
cannam@21 353 <table border="0" cellspacing="2" cellpadding="0">
cannam@21 354 <tr><td valign="top"><em><a class="anchor" name="294e9eed9c541dcedbaa4f2dfda1ac76e8833d866dec593d29f1f4e3cd1e6e36"></a><!-- doxytag: member="SampleAverage" ref="294e9eed9c541dcedbaa4f2dfda1ac76e8833d866dec593d29f1f4e3cd1e6e36" args="" -->SampleAverage</em>&nbsp;</td><td>
cannam@21 355 </td></tr>
cannam@21 356 <tr><td valign="top"><em><a class="anchor" name="294e9eed9c541dcedbaa4f2dfda1ac766af6316c12e29bdbdff90c5fec764baa"></a><!-- doxytag: member="ContinuousTimeAverage" ref="294e9eed9c541dcedbaa4f2dfda1ac766af6316c12e29bdbdff90c5fec764baa" args="" -->ContinuousTimeAverage</em>&nbsp;</td><td>
cannam@21 357 </td></tr>
cannam@21 358 </table>
cannam@21 359 </dl>
cannam@21 360
cannam@21 361 <p>Definition at line <a class="el" href="PluginSummarisingAdapter_8h-source.html#l00155">155</a> of file <a class="el" href="PluginSummarisingAdapter_8h-source.html">PluginSummarisingAdapter.h</a>.</p>
cannam@21 362
cannam@21 363 </div>
cannam@21 364 </div><p>
cannam@21 365 <a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::InputDomain" ref="39cb7649d6dcc20e4cb1640cd55907bc" args="" -->
cannam@21 366 <div class="memitem">
cannam@21 367 <div class="memproto">
cannam@21 368 <table class="memname">
cannam@21 369 <tr>
cannam@21 370 <td class="memname">enum <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">Vamp::Plugin::InputDomain</a><code> [inherited]</code> </td>
cannam@21 371 </tr>
cannam@21 372 </table>
cannam@21 373 </div>
cannam@21 374 <div class="memdoc">
cannam@21 375
cannam@21 376 <p>
cannam@21 377 <dl compact><dt><b>Enumerator: </b></dt><dd>
cannam@21 378 <table border="0" cellspacing="2" cellpadding="0">
cannam@21 379 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff"></a><!-- doxytag: member="TimeDomain" ref="39cb7649d6dcc20e4cb1640cd55907bcd4a9f31b958a43a9757af7893aa2e7ff" args="" -->TimeDomain</em>&nbsp;</td><td>
cannam@21 380 </td></tr>
cannam@21 381 <tr><td valign="top"><em><a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53"></a><!-- doxytag: member="FrequencyDomain" ref="39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53" args="" -->FrequencyDomain</em>&nbsp;</td><td>
cannam@21 382 </td></tr>
cannam@21 383 </table>
cannam@21 384 </dl>
cannam@21 385
cannam@21 386 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00152">152</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
cannam@21 387
cannam@21 388 </div>
cannam@21 389 </div><p>
cannam@21 390 <hr><h2>Constructor &amp; Destructor Documentation</h2>
cannam@21 391 <a class="anchor" name="31b41f54560a2ae6c3ec1a945f3f1d68"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::PluginSummarisingAdapter" ref="31b41f54560a2ae6c3ec1a945f3f1d68" args="(Plugin *plugin)" -->
cannam@21 392 <div class="memitem">
cannam@21 393 <div class="memproto">
cannam@21 394 <table class="memname">
cannam@21 395 <tr>
cannam@21 396 <td class="memname">Vamp::HostExt::PluginSummarisingAdapter::PluginSummarisingAdapter </td>
cannam@21 397 <td>(</td>
cannam@21 398 <td class="paramtype"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *&nbsp;</td>
cannam@21 399 <td class="paramname"> <em>plugin</em> </td>
cannam@21 400 <td>&nbsp;)&nbsp;</td>
cannam@21 401 <td></td>
cannam@21 402 </tr>
cannam@21 403 </table>
cannam@21 404 </div>
cannam@21 405 <div class="memdoc">
cannam@21 406
cannam@21 407 <p>
cannam@21 408 Construct a <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods...">PluginSummarisingAdapter</a> wrapping the given plugin.
cannam@21 409 <p>
cannam@21 410 The adapter takes ownership of the plugin, which will be deleted when the adapter is deleted.
cannam@21 411 </div>
cannam@21 412 </div><p>
cannam@21 413 <a class="anchor" name="47846e7cc0ef4a29335e08b9645316d0"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::~PluginSummarisingAdapter" ref="47846e7cc0ef4a29335e08b9645316d0" args="()" -->
cannam@21 414 <div class="memitem">
cannam@21 415 <div class="memproto">
cannam@21 416 <table class="memname">
cannam@21 417 <tr>
cannam@21 418 <td class="memname">virtual Vamp::HostExt::PluginSummarisingAdapter::~PluginSummarisingAdapter </td>
cannam@21 419 <td>(</td>
cannam@21 420 <td class="paramname"> </td>
cannam@21 421 <td>&nbsp;)&nbsp;</td>
cannam@21 422 <td><code> [virtual]</code></td>
cannam@21 423 </tr>
cannam@21 424 </table>
cannam@21 425 </div>
cannam@21 426 <div class="memdoc">
cannam@21 427
cannam@21 428 <p>
cannam@21 429
cannam@21 430 </div>
cannam@21 431 </div><p>
cannam@21 432 <hr><h2>Member Function Documentation</h2>
cannam@21 433 <a class="anchor" name="1e994576d43efe103bf8f83b69716745"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::initialise" ref="1e994576d43efe103bf8f83b69716745" args="(size_t channels, size_t stepSize, size_t blockSize)" -->
cannam@21 434 <div class="memitem">
cannam@21 435 <div class="memproto">
cannam@21 436 <table class="memname">
cannam@21 437 <tr>
cannam@21 438 <td class="memname">bool Vamp::HostExt::PluginSummarisingAdapter::initialise </td>
cannam@21 439 <td>(</td>
cannam@21 440 <td class="paramtype">size_t&nbsp;</td>
cannam@21 441 <td class="paramname"> <em>inputChannels</em>, </td>
cannam@21 442 </tr>
cannam@21 443 <tr>
cannam@21 444 <td class="paramkey"></td>
cannam@21 445 <td></td>
cannam@21 446 <td class="paramtype">size_t&nbsp;</td>
cannam@21 447 <td class="paramname"> <em>stepSize</em>, </td>
cannam@21 448 </tr>
cannam@21 449 <tr>
cannam@21 450 <td class="paramkey"></td>
cannam@21 451 <td></td>
cannam@21 452 <td class="paramtype">size_t&nbsp;</td>
cannam@21 453 <td class="paramname"> <em>blockSize</em></td><td>&nbsp;</td>
cannam@21 454 </tr>
cannam@21 455 <tr>
cannam@21 456 <td></td>
cannam@21 457 <td>)</td>
cannam@21 458 <td></td><td></td><td><code> [virtual]</code></td>
cannam@21 459 </tr>
cannam@21 460 </table>
cannam@21 461 </div>
cannam@21 462 <div class="memdoc">
cannam@21 463
cannam@21 464 <p>
cannam@21 465 Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames).
cannam@21 466 <p>
cannam@21 467 The input sample rate should have been already specified at construction time.<p>
cannam@21 468 Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported.
cannam@21 469 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>.</p>
cannam@21 470
cannam@21 471 </div>
cannam@21 472 </div><p>
cannam@21 473 <a class="anchor" name="3314b456a4780601c021dac25b478846"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::process" ref="3314b456a4780601c021dac25b478846" args="(const float *const *inputBuffers, RealTime timestamp)" -->
cannam@21 474 <div class="memitem">
cannam@21 475 <div class="memproto">
cannam@21 476 <table class="memname">
cannam@21 477 <tr>
cannam@21 478 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginSummarisingAdapter::process </td>
cannam@21 479 <td>(</td>
cannam@21 480 <td class="paramtype">const float *const *&nbsp;</td>
cannam@21 481 <td class="paramname"> <em>inputBuffers</em>, </td>
cannam@21 482 </tr>
cannam@21 483 <tr>
cannam@21 484 <td class="paramkey"></td>
cannam@21 485 <td></td>
cannam@21 486 <td class="paramtype"><a class="el" href="structVamp_1_1RealTime.html">RealTime</a>&nbsp;</td>
cannam@21 487 <td class="paramname"> <em>timestamp</em></td><td>&nbsp;</td>
cannam@21 488 </tr>
cannam@21 489 <tr>
cannam@21 490 <td></td>
cannam@21 491 <td>)</td>
cannam@21 492 <td></td><td></td><td><code> [virtual]</code></td>
cannam@21 493 </tr>
cannam@21 494 </table>
cannam@21 495 </div>
cannam@21 496 <div class="memdoc">
cannam@21 497
cannam@21 498 <p>
cannam@21 499 Process a single block of input data.
cannam@21 500 <p>
cannam@21 501 If the plugin's inputDomain is TimeDomain, inputBuffers will point to one array of floats per input channel, and each of these arrays will contain blockSize consecutive audio samples (the host will zero-pad as necessary). The timestamp in this case will be the real time in seconds of the start of the supplied block of samples.<p>
cannam@21 502 If the plugin's inputDomain is FrequencyDomain, inputBuffers will point to one array of floats per input channel, and each of these arrays will contain blockSize/2+1 consecutive pairs of real and imaginary component floats corresponding to bins 0..(blockSize/2) of the FFT output. That is, bin 0 (the first pair of floats) contains the DC output, up to bin blockSize/2 which contains the Nyquist-frequency output. There will therefore be blockSize+2 floats per channel in total. The timestamp will be the real time in seconds of the centre of the FFT input window (i.e. the very first block passed to process might contain the FFT of half a block of zero samples and the first half-block of the actual data, with a timestamp of zero).<p>
cannam@21 503 Return any features that have become available after this process call. (These do not necessarily have to fall within the process block, except for OneSamplePerStep outputs.)
cannam@21 504 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf">Vamp::HostExt::PluginWrapper</a>.</p>
cannam@21 505
cannam@21 506 </div>
cannam@21 507 </div><p>
cannam@21 508 <a class="anchor" name="e9dcbd1ba8197ff90b4fc6bf7ade7688"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getRemainingFeatures" ref="e9dcbd1ba8197ff90b4fc6bf7ade7688" args="()" -->
cannam@21 509 <div class="memitem">
cannam@21 510 <div class="memproto">
cannam@21 511 <table class="memname">
cannam@21 512 <tr>
cannam@21 513 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginSummarisingAdapter::getRemainingFeatures </td>
cannam@21 514 <td>(</td>
cannam@21 515 <td class="paramname"> </td>
cannam@21 516 <td>&nbsp;)&nbsp;</td>
cannam@21 517 <td><code> [virtual]</code></td>
cannam@21 518 </tr>
cannam@21 519 </table>
cannam@21 520 </div>
cannam@21 521 <div class="memdoc">
cannam@21 522
cannam@21 523 <p>
cannam@21 524 After all blocks have been processed, calculate and return any remaining features derived from the complete input.
cannam@21 525 <p>
cannam@21 526
cannam@21 527 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#2bc8c0992e64f06991fb7cf89f99857e">Vamp::HostExt::PluginWrapper</a>.</p>
cannam@21 528
cannam@21 529 </div>
cannam@21 530 </div><p>
cannam@21 531 <a class="anchor" name="1a659500ca1290a228c0b9b91f6ac0b7"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::setSummarySegmentBoundaries" ref="1a659500ca1290a228c0b9b91f6ac0b7" args="(const SegmentBoundaries &amp;)" -->
cannam@21 532 <div class="memitem">
cannam@21 533 <div class="memproto">
cannam@21 534 <table class="memname">
cannam@21 535 <tr>
cannam@21 536 <td class="memname">void Vamp::HostExt::PluginSummarisingAdapter::setSummarySegmentBoundaries </td>
cannam@21 537 <td>(</td>
cannam@21 538 <td class="paramtype">const <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#74e7f93c745802a2409185b63922466b">SegmentBoundaries</a> &amp;&nbsp;</td>
cannam@21 539 <td class="paramname"> </td>
cannam@21 540 <td>&nbsp;)&nbsp;</td>
cannam@21 541 <td></td>
cannam@21 542 </tr>
cannam@21 543 </table>
cannam@21 544 </div>
cannam@21 545 <div class="memdoc">
cannam@21 546
cannam@21 547 <p>
cannam@21 548 Specify a series of segment boundaries, such that one summary will be returned for each of the contiguous intra-boundary segments.
cannam@21 549 <p>
cannam@21 550 This function must be called before getSummaryForOutput or getSummaryForAllOutputs.<p>
cannam@21 551 Note that you cannot retrieve results with multiple different segmentations by repeatedly calling this function followed by one of the getSummary functions. The summaries are all calculated at the first call to any getSummary function, and once the summaries have been calculated, they remain calculated.
cannam@21 552 </div>
cannam@21 553 </div><p>
cannam@21 554 <a class="anchor" name="be13faa68d3244b962dbd362671e23f9"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getSummaryForOutput" ref="be13faa68d3244b962dbd362671e23f9" args="(int output, SummaryType type, AveragingMethod method=SampleAverage)" -->
cannam@21 555 <div class="memitem">
cannam@21 556 <div class="memproto">
cannam@21 557 <table class="memname">
cannam@21 558 <tr>
cannam@21 559 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#0730bc72c87fa02eb8d2854b233f7be1">FeatureList</a> Vamp::HostExt::PluginSummarisingAdapter::getSummaryForOutput </td>
cannam@21 560 <td>(</td>
cannam@21 561 <td class="paramtype">int&nbsp;</td>
cannam@21 562 <td class="paramname"> <em>output</em>, </td>
cannam@21 563 </tr>
cannam@21 564 <tr>
cannam@21 565 <td class="paramkey"></td>
cannam@21 566 <td></td>
cannam@21 567 <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705">SummaryType</a>&nbsp;</td>
cannam@21 568 <td class="paramname"> <em>type</em>, </td>
cannam@21 569 </tr>
cannam@21 570 <tr>
cannam@21 571 <td class="paramkey"></td>
cannam@21 572 <td></td>
cannam@21 573 <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#294e9eed9c541dcedbaa4f2dfda1ac76">AveragingMethod</a>&nbsp;</td>
cannam@21 574 <td class="paramname"> <em>method</em> = <code>SampleAverage</code></td><td>&nbsp;</td>
cannam@21 575 </tr>
cannam@21 576 <tr>
cannam@21 577 <td></td>
cannam@21 578 <td>)</td>
cannam@21 579 <td></td><td></td><td></td>
cannam@21 580 </tr>
cannam@21 581 </table>
cannam@21 582 </div>
cannam@21 583 <div class="memdoc">
cannam@21 584
cannam@21 585 <p>
cannam@21 586 Return summaries of the features that were returned on the given output, using the given SummaryType and AveragingMethod.
cannam@21 587 <p>
cannam@21 588 The plugin must have been fully run (<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#3314b456a4780601c021dac25b478846" title="Process a single block of input data.">process()</a> and <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#e9dcbd1ba8197ff90b4fc6bf7ade7688" title="After all blocks have been processed, calculate and return any remaining features...">getRemainingFeatures()</a> calls all made as appropriate) before this function is called.
cannam@21 589 </div>
cannam@21 590 </div><p>
cannam@21 591 <a class="anchor" name="c3f93d9ca2d25c9fdc80d0ba10eaaa6b"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getSummaryForAllOutputs" ref="c3f93d9ca2d25c9fdc80d0ba10eaaa6b" args="(SummaryType type, AveragingMethod method=SampleAverage)" -->
cannam@21 592 <div class="memitem">
cannam@21 593 <div class="memproto">
cannam@21 594 <table class="memname">
cannam@21 595 <tr>
cannam@21 596 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#448fb57dc245d47923ec9eeaf9856c5f">FeatureSet</a> Vamp::HostExt::PluginSummarisingAdapter::getSummaryForAllOutputs </td>
cannam@21 597 <td>(</td>
cannam@21 598 <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705">SummaryType</a>&nbsp;</td>
cannam@21 599 <td class="paramname"> <em>type</em>, </td>
cannam@21 600 </tr>
cannam@21 601 <tr>
cannam@21 602 <td class="paramkey"></td>
cannam@21 603 <td></td>
cannam@21 604 <td class="paramtype"><a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#294e9eed9c541dcedbaa4f2dfda1ac76">AveragingMethod</a>&nbsp;</td>
cannam@21 605 <td class="paramname"> <em>method</em> = <code>SampleAverage</code></td><td>&nbsp;</td>
cannam@21 606 </tr>
cannam@21 607 <tr>
cannam@21 608 <td></td>
cannam@21 609 <td>)</td>
cannam@21 610 <td></td><td></td><td></td>
cannam@21 611 </tr>
cannam@21 612 </table>
cannam@21 613 </div>
cannam@21 614 <div class="memdoc">
cannam@21 615
cannam@21 616 <p>
cannam@21 617 Return summaries of the features that were returned on all of the plugin's outputs, using the given SummaryType and AveragingMethod.
cannam@21 618 <p>
cannam@21 619 The plugin must have been fully run (<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#3314b456a4780601c021dac25b478846" title="Process a single block of input data.">process()</a> and <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#e9dcbd1ba8197ff90b4fc6bf7ade7688" title="After all blocks have been processed, calculate and return any remaining features...">getRemainingFeatures()</a> calls all made as appropriate) before this function is called.
cannam@21 620 </div>
cannam@21 621 </div><p>
cannam@21 622 <a class="anchor" name="d19cc0614ba41cdc26ef3394c5146fe6"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::reset" ref="d19cc0614ba41cdc26ef3394c5146fe6" args="()" -->
cannam@21 623 <div class="memitem">
cannam@21 624 <div class="memproto">
cannam@21 625 <table class="memname">
cannam@21 626 <tr>
cannam@21 627 <td class="memname">void Vamp::HostExt::PluginWrapper::reset </td>
cannam@21 628 <td>(</td>
cannam@21 629 <td class="paramname"> </td>
cannam@21 630 <td>&nbsp;)&nbsp;</td>
cannam@21 631 <td><code> [virtual, inherited]</code></td>
cannam@21 632 </tr>
cannam@21 633 </table>
cannam@21 634 </div>
cannam@21 635 <div class="memdoc">
cannam@21 636
cannam@21 637 <p>
cannam@21 638 Reset the plugin after use, to prepare it for another clean run.
cannam@21 639 <p>
cannam@21 640 Not called for the first initialisation (i.e. initialise must also do a reset).
cannam@21 641 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a>.</p>
cannam@21 642
cannam@21 643 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#131fd9fe8a1795d7370d8a721176868a">Vamp::HostExt::PluginBufferingAdapter</a>.</p>
cannam@21 644
cannam@21 645 </div>
cannam@21 646 </div><p>
cannam@21 647 <a class="anchor" name="e203faf8384c9e1fddc381409aa8a214"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getInputDomain" ref="e203faf8384c9e1fddc381409aa8a214" args="() const " -->
cannam@21 648 <div class="memitem">
cannam@21 649 <div class="memproto">
cannam@21 650 <table class="memname">
cannam@21 651 <tr>
cannam@21 652 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bc">InputDomain</a> Vamp::HostExt::PluginWrapper::getInputDomain </td>
cannam@21 653 <td>(</td>
cannam@21 654 <td class="paramname"> </td>
cannam@21 655 <td>&nbsp;)&nbsp;</td>
cannam@21 656 <td> const<code> [virtual, inherited]</code></td>
cannam@21 657 </tr>
cannam@21 658 </table>
cannam@21 659 </div>
cannam@21 660 <div class="memdoc">
cannam@21 661
cannam@21 662 <p>
cannam@21 663 Get the plugin's required input domain.
cannam@21 664 <p>
cannam@21 665 If this is TimeDomain, the samples provided to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf" 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_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf" 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@21 666 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p>
cannam@21 667
cannam@21 668 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>.</p>
cannam@21 669
cannam@21 670 </div>
cannam@21 671 </div><p>
cannam@21 672 <a class="anchor" name="74147fda6b44ff2169bd4a1eea0d46ff"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getVampApiVersion" ref="74147fda6b44ff2169bd4a1eea0d46ff" args="() const " -->
cannam@21 673 <div class="memitem">
cannam@21 674 <div class="memproto">
cannam@21 675 <table class="memname">
cannam@21 676 <tr>
cannam@21 677 <td class="memname">unsigned int Vamp::HostExt::PluginWrapper::getVampApiVersion </td>
cannam@21 678 <td>(</td>
cannam@21 679 <td class="paramname"> </td>
cannam@21 680 <td>&nbsp;)&nbsp;</td>
cannam@21 681 <td> const<code> [virtual, inherited]</code></td>
cannam@21 682 </tr>
cannam@21 683 </table>
cannam@21 684 </div>
cannam@21 685 <div class="memdoc">
cannam@21 686
cannam@21 687 <p>
cannam@21 688 Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin.
cannam@21 689 <p>
cannam@21 690
cannam@21 691 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#8fd2c48291c64b790f0efb8948508dcf">Vamp::PluginBase</a>.</p>
cannam@21 692
cannam@21 693 </div>
cannam@21 694 </div><p>
cannam@21 695 <a class="anchor" name="4baa9e48f717c2b3e7f92496aa39d904"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getIdentifier" ref="4baa9e48f717c2b3e7f92496aa39d904" args="() const " -->
cannam@21 696 <div class="memitem">
cannam@21 697 <div class="memproto">
cannam@21 698 <table class="memname">
cannam@21 699 <tr>
cannam@21 700 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getIdentifier </td>
cannam@21 701 <td>(</td>
cannam@21 702 <td class="paramname"> </td>
cannam@21 703 <td>&nbsp;)&nbsp;</td>
cannam@21 704 <td> const<code> [virtual, inherited]</code></td>
cannam@21 705 </tr>
cannam@21 706 </table>
cannam@21 707 </div>
cannam@21 708 <div class="memdoc">
cannam@21 709
cannam@21 710 <p>
cannam@21 711 Get the computer-usable name of the plugin.
cannam@21 712 <p>
cannam@21 713 This should be reasonably short and contain no whitespace or punctuation characters. It may only contain the characters [a-zA-Z0-9_-]. This is the authoritative way for a program to identify a plugin within a given library.<p>
cannam@21 714 This text may be visible to the user, but it should not be the main text used to identify a plugin to the user (that will be the name, below).<p>
cannam@21 715 Example: "zero_crossings"
cannam@21 716 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#d1c6dfc77aa03d937a885b7f08258f4a">Vamp::PluginBase</a>.</p>
cannam@21 717
cannam@21 718 </div>
cannam@21 719 </div><p>
cannam@21 720 <a class="anchor" name="c70a3265bb25aeb03f6dd8f8a0442088"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getName" ref="c70a3265bb25aeb03f6dd8f8a0442088" args="() const " -->
cannam@21 721 <div class="memitem">
cannam@21 722 <div class="memproto">
cannam@21 723 <table class="memname">
cannam@21 724 <tr>
cannam@21 725 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getName </td>
cannam@21 726 <td>(</td>
cannam@21 727 <td class="paramname"> </td>
cannam@21 728 <td>&nbsp;)&nbsp;</td>
cannam@21 729 <td> const<code> [virtual, inherited]</code></td>
cannam@21 730 </tr>
cannam@21 731 </table>
cannam@21 732 </div>
cannam@21 733 <div class="memdoc">
cannam@21 734
cannam@21 735 <p>
cannam@21 736 Get a human-readable name or title of the plugin.
cannam@21 737 <p>
cannam@21 738 This should be brief and self-contained, as it may be used to identify the plugin to the user in isolation (i.e. without also showing the plugin's "identifier").<p>
cannam@21 739 Example: "Zero Crossings"
cannam@21 740 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#18619d5097e444ecefee0c359da53232">Vamp::PluginBase</a>.</p>
cannam@21 741
cannam@21 742 </div>
cannam@21 743 </div><p>
cannam@21 744 <a class="anchor" name="c334f699c0996055942785410d8a065c"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getDescription" ref="c334f699c0996055942785410d8a065c" args="() const " -->
cannam@21 745 <div class="memitem">
cannam@21 746 <div class="memproto">
cannam@21 747 <table class="memname">
cannam@21 748 <tr>
cannam@21 749 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getDescription </td>
cannam@21 750 <td>(</td>
cannam@21 751 <td class="paramname"> </td>
cannam@21 752 <td>&nbsp;)&nbsp;</td>
cannam@21 753 <td> const<code> [virtual, inherited]</code></td>
cannam@21 754 </tr>
cannam@21 755 </table>
cannam@21 756 </div>
cannam@21 757 <div class="memdoc">
cannam@21 758
cannam@21 759 <p>
cannam@21 760 Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name".
cannam@21 761 <p>
cannam@21 762 May be empty if the name has said it all already.<p>
cannam@21 763 Example: "Detect and count zero crossing points"
cannam@21 764 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#59153a02364f75fff46973b2072e9e5a">Vamp::PluginBase</a>.</p>
cannam@21 765
cannam@21 766 </div>
cannam@21 767 </div><p>
cannam@21 768 <a class="anchor" name="59d5a2298951b317995675e664b1c7bb"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getMaker" ref="59d5a2298951b317995675e664b1c7bb" args="() const " -->
cannam@21 769 <div class="memitem">
cannam@21 770 <div class="memproto">
cannam@21 771 <table class="memname">
cannam@21 772 <tr>
cannam@21 773 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getMaker </td>
cannam@21 774 <td>(</td>
cannam@21 775 <td class="paramname"> </td>
cannam@21 776 <td>&nbsp;)&nbsp;</td>
cannam@21 777 <td> const<code> [virtual, inherited]</code></td>
cannam@21 778 </tr>
cannam@21 779 </table>
cannam@21 780 </div>
cannam@21 781 <div class="memdoc">
cannam@21 782
cannam@21 783 <p>
cannam@21 784 Get the name of the author or vendor of the plugin in human-readable form.
cannam@21 785 <p>
cannam@21 786 This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar.
cannam@21 787 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#53d9918bf9ef4d12feedf66b2b26c637">Vamp::PluginBase</a>.</p>
cannam@21 788
cannam@21 789 </div>
cannam@21 790 </div><p>
cannam@21 791 <a class="anchor" name="47e1acf1696813008324a915c9ba59c5"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getPluginVersion" ref="47e1acf1696813008324a915c9ba59c5" args="() const " -->
cannam@21 792 <div class="memitem">
cannam@21 793 <div class="memproto">
cannam@21 794 <table class="memname">
cannam@21 795 <tr>
cannam@21 796 <td class="memname">int Vamp::HostExt::PluginWrapper::getPluginVersion </td>
cannam@21 797 <td>(</td>
cannam@21 798 <td class="paramname"> </td>
cannam@21 799 <td>&nbsp;)&nbsp;</td>
cannam@21 800 <td> const<code> [virtual, inherited]</code></td>
cannam@21 801 </tr>
cannam@21 802 </table>
cannam@21 803 </div>
cannam@21 804 <div class="memdoc">
cannam@21 805
cannam@21 806 <p>
cannam@21 807 Get the version number of the plugin.
cannam@21 808 <p>
cannam@21 809
cannam@21 810 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#63f686d77bc3d6b807e7944cdde83151">Vamp::PluginBase</a>.</p>
cannam@21 811
cannam@21 812 </div>
cannam@21 813 </div><p>
cannam@21 814 <a class="anchor" name="e14f6ecb78be909c4cd5f0cdaed3c566"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getCopyright" ref="e14f6ecb78be909c4cd5f0cdaed3c566" args="() const " -->
cannam@21 815 <div class="memitem">
cannam@21 816 <div class="memproto">
cannam@21 817 <table class="memname">
cannam@21 818 <tr>
cannam@21 819 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCopyright </td>
cannam@21 820 <td>(</td>
cannam@21 821 <td class="paramname"> </td>
cannam@21 822 <td>&nbsp;)&nbsp;</td>
cannam@21 823 <td> const<code> [virtual, inherited]</code></td>
cannam@21 824 </tr>
cannam@21 825 </table>
cannam@21 826 </div>
cannam@21 827 <div class="memdoc">
cannam@21 828
cannam@21 829 <p>
cannam@21 830 Get the copyright statement or licensing summary for the plugin.
cannam@21 831 <p>
cannam@21 832 This can be an informative text, without the same presentation constraints as mentioned for getMaker above.
cannam@21 833 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#b7e9dedbe965f5ab9018b72920fe7661">Vamp::PluginBase</a>.</p>
cannam@21 834
cannam@21 835 </div>
cannam@21 836 </div><p>
cannam@21 837 <a class="anchor" name="9be71561265c2e6e43b7feaddaa91f36"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getParameterDescriptors" ref="9be71561265c2e6e43b7feaddaa91f36" args="() const " -->
cannam@21 838 <div class="memitem">
cannam@21 839 <div class="memproto">
cannam@21 840 <table class="memname">
cannam@21 841 <tr>
cannam@21 842 <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::HostExt::PluginWrapper::getParameterDescriptors </td>
cannam@21 843 <td>(</td>
cannam@21 844 <td class="paramname"> </td>
cannam@21 845 <td>&nbsp;)&nbsp;</td>
cannam@21 846 <td> const<code> [virtual, inherited]</code></td>
cannam@21 847 </tr>
cannam@21 848 </table>
cannam@21 849 </div>
cannam@21 850 <div class="memdoc">
cannam@21 851
cannam@21 852 <p>
cannam@21 853 Get the controllable parameters of this plugin.
cannam@21 854 <p>
cannam@21 855
cannam@21 856 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#ac3e49b3b66cacfbb768dfdf07444f21">Vamp::PluginBase</a>.</p>
cannam@21 857
cannam@21 858 </div>
cannam@21 859 </div><p>
cannam@21 860 <a class="anchor" name="034920f56c8d7609a85447c42556048c"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getParameter" ref="034920f56c8d7609a85447c42556048c" args="(std::string) const " -->
cannam@21 861 <div class="memitem">
cannam@21 862 <div class="memproto">
cannam@21 863 <table class="memname">
cannam@21 864 <tr>
cannam@21 865 <td class="memname">float Vamp::HostExt::PluginWrapper::getParameter </td>
cannam@21 866 <td>(</td>
cannam@21 867 <td class="paramtype">std::string&nbsp;</td>
cannam@21 868 <td class="paramname"> </td>
cannam@21 869 <td>&nbsp;)&nbsp;</td>
cannam@21 870 <td> const<code> [virtual, inherited]</code></td>
cannam@21 871 </tr>
cannam@21 872 </table>
cannam@21 873 </div>
cannam@21 874 <div class="memdoc">
cannam@21 875
cannam@21 876 <p>
cannam@21 877 Get the value of a named parameter.
cannam@21 878 <p>
cannam@21 879 The argument is the identifier field from that parameter's descriptor.
cannam@21 880 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#97ababcd45348ceec998d0f8e0f38bf7">Vamp::PluginBase</a>.</p>
cannam@21 881
cannam@21 882 </div>
cannam@21 883 </div><p>
cannam@21 884 <a class="anchor" name="651b15a5dc4c27942ac0c87c6092bfe5"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::setParameter" ref="651b15a5dc4c27942ac0c87c6092bfe5" args="(std::string, float)" -->
cannam@21 885 <div class="memitem">
cannam@21 886 <div class="memproto">
cannam@21 887 <table class="memname">
cannam@21 888 <tr>
cannam@21 889 <td class="memname">void Vamp::HostExt::PluginWrapper::setParameter </td>
cannam@21 890 <td>(</td>
cannam@21 891 <td class="paramtype">std::string&nbsp;</td>
cannam@21 892 <td class="paramname">, </td>
cannam@21 893 </tr>
cannam@21 894 <tr>
cannam@21 895 <td class="paramkey"></td>
cannam@21 896 <td></td>
cannam@21 897 <td class="paramtype">float&nbsp;</td>
cannam@21 898 <td class="paramname"></td><td>&nbsp;</td>
cannam@21 899 </tr>
cannam@21 900 <tr>
cannam@21 901 <td></td>
cannam@21 902 <td>)</td>
cannam@21 903 <td></td><td></td><td><code> [virtual, inherited]</code></td>
cannam@21 904 </tr>
cannam@21 905 </table>
cannam@21 906 </div>
cannam@21 907 <div class="memdoc">
cannam@21 908
cannam@21 909 <p>
cannam@21 910 Set a named parameter.
cannam@21 911 <p>
cannam@21 912 The first argument is the identifier field from that parameter's descriptor.
cannam@21 913 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#6c718ce822f7b73b98940d59dcaa9366">Vamp::PluginBase</a>.</p>
cannam@21 914
cannam@21 915 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a>.</p>
cannam@21 916
cannam@21 917 </div>
cannam@21 918 </div><p>
cannam@21 919 <a class="anchor" name="131fbe1df81215020b9aa8cecef4c802"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getPrograms" ref="131fbe1df81215020b9aa8cecef4c802" args="() const " -->
cannam@21 920 <div class="memitem">
cannam@21 921 <div class="memproto">
cannam@21 922 <table class="memname">
cannam@21 923 <tr>
cannam@21 924 <td class="memname"><a class="el" href="classVamp_1_1PluginBase.html#7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::HostExt::PluginWrapper::getPrograms </td>
cannam@21 925 <td>(</td>
cannam@21 926 <td class="paramname"> </td>
cannam@21 927 <td>&nbsp;)&nbsp;</td>
cannam@21 928 <td> const<code> [virtual, inherited]</code></td>
cannam@21 929 </tr>
cannam@21 930 </table>
cannam@21 931 </div>
cannam@21 932 <div class="memdoc">
cannam@21 933
cannam@21 934 <p>
cannam@21 935 Get the program settings available in this plugin.
cannam@21 936 <p>
cannam@21 937 A program is a named shorthand for a set of parameter values; changing the program may cause the plugin to alter the values of its published parameters (and/or non-public internal processing parameters). The host should re-read the plugin's parameter values after setting a new program.<p>
cannam@21 938 The programs must have unique names.
cannam@21 939 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#bb307c60bdb981d5f5af50c3c4ae84af">Vamp::PluginBase</a>.</p>
cannam@21 940
cannam@21 941 </div>
cannam@21 942 </div><p>
cannam@21 943 <a class="anchor" name="7a312dd42d161064b70afd7ff24c0651"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getCurrentProgram" ref="7a312dd42d161064b70afd7ff24c0651" args="() const " -->
cannam@21 944 <div class="memitem">
cannam@21 945 <div class="memproto">
cannam@21 946 <table class="memname">
cannam@21 947 <tr>
cannam@21 948 <td class="memname">std::string Vamp::HostExt::PluginWrapper::getCurrentProgram </td>
cannam@21 949 <td>(</td>
cannam@21 950 <td class="paramname"> </td>
cannam@21 951 <td>&nbsp;)&nbsp;</td>
cannam@21 952 <td> const<code> [virtual, inherited]</code></td>
cannam@21 953 </tr>
cannam@21 954 </table>
cannam@21 955 </div>
cannam@21 956 <div class="memdoc">
cannam@21 957
cannam@21 958 <p>
cannam@21 959 Get the current program.
cannam@21 960 <p>
cannam@21 961
cannam@21 962 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#24e77eccf1bdfbbca3c79bb25e8799b3">Vamp::PluginBase</a>.</p>
cannam@21 963
cannam@21 964 </div>
cannam@21 965 </div><p>
cannam@21 966 <a class="anchor" name="074978333a74fdcf336a8a1d8ea20abf"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::selectProgram" ref="074978333a74fdcf336a8a1d8ea20abf" args="(std::string)" -->
cannam@21 967 <div class="memitem">
cannam@21 968 <div class="memproto">
cannam@21 969 <table class="memname">
cannam@21 970 <tr>
cannam@21 971 <td class="memname">void Vamp::HostExt::PluginWrapper::selectProgram </td>
cannam@21 972 <td>(</td>
cannam@21 973 <td class="paramtype">std::string&nbsp;</td>
cannam@21 974 <td class="paramname"> </td>
cannam@21 975 <td>&nbsp;)&nbsp;</td>
cannam@21 976 <td><code> [virtual, inherited]</code></td>
cannam@21 977 </tr>
cannam@21 978 </table>
cannam@21 979 </div>
cannam@21 980 <div class="memdoc">
cannam@21 981
cannam@21 982 <p>
cannam@21 983 Select a program.
cannam@21 984 <p>
cannam@21 985 (If the given program name is not one of the available programs, do nothing.)
cannam@21 986 <p>Reimplemented from <a class="el" href="classVamp_1_1PluginBase.html#add3a547ef140bae200473a9518e3353">Vamp::PluginBase</a>.</p>
cannam@21 987
cannam@21 988 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>.</p>
cannam@21 989
cannam@21 990 </div>
cannam@21 991 </div><p>
cannam@21 992 <a class="anchor" name="0137d93d7019bacc31104836fb4d352e"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getPreferredStepSize" ref="0137d93d7019bacc31104836fb4d352e" args="() const " -->
cannam@21 993 <div class="memitem">
cannam@21 994 <div class="memproto">
cannam@21 995 <table class="memname">
cannam@21 996 <tr>
cannam@21 997 <td class="memname">size_t Vamp::HostExt::PluginWrapper::getPreferredStepSize </td>
cannam@21 998 <td>(</td>
cannam@21 999 <td class="paramname"> </td>
cannam@21 1000 <td>&nbsp;)&nbsp;</td>
cannam@21 1001 <td> const<code> [virtual, inherited]</code></td>
cannam@21 1002 </tr>
cannam@21 1003 </table>
cannam@21 1004 </div>
cannam@21 1005 <div class="memdoc">
cannam@21 1006
cannam@21 1007 <p>
cannam@21 1008 Get the preferred step size (window increment -- the distance in sample frames between the start frames of consecutive blocks passed to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function) for the plugin.
cannam@21 1009 <p>
cannam@21 1010 This should be called before <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a1f8290d8e9a315695584dcb3ad137" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a>.<p>
cannam@21 1011 A plugin may return 0 if it has no particular interest in the step size. In this case, the host should make the step size equal to the block size if the plugin is accepting input in the time domain. If the plugin is accepting input in the frequency domain, the host may use any step size. The final step size will be set in the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a1f8290d8e9a315695584dcb3ad137" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a> call.
cannam@21 1012 <p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#514c716c22f81c055f19b56c3f882567">Vamp::Plugin</a>.</p>
cannam@21 1013
cannam@21 1014 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#2e66d009df69c951001e5d2786973d60">Vamp::HostExt::PluginBufferingAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#d979af9f1cbf2eeb16f4eaedb4a4f565">Vamp::HostExt::PluginInputDomainAdapter</a>.</p>
cannam@21 1015
cannam@21 1016 </div>
cannam@21 1017 </div><p>
cannam@21 1018 <a class="anchor" name="2c62a656313a819650656643a867ad01"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getPreferredBlockSize" ref="2c62a656313a819650656643a867ad01" args="() const " -->
cannam@21 1019 <div class="memitem">
cannam@21 1020 <div class="memproto">
cannam@21 1021 <table class="memname">
cannam@21 1022 <tr>
cannam@21 1023 <td class="memname">size_t Vamp::HostExt::PluginWrapper::getPreferredBlockSize </td>
cannam@21 1024 <td>(</td>
cannam@21 1025 <td class="paramname"> </td>
cannam@21 1026 <td>&nbsp;)&nbsp;</td>
cannam@21 1027 <td> const<code> [virtual, inherited]</code></td>
cannam@21 1028 </tr>
cannam@21 1029 </table>
cannam@21 1030 </div>
cannam@21 1031 <div class="memdoc">
cannam@21 1032
cannam@21 1033 <p>
cannam@21 1034 Get the preferred block size (window size -- the number of sample frames passed in each block to the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> function).
cannam@21 1035 <p>
cannam@21 1036 This should be called before <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a1f8290d8e9a315695584dcb3ad137" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a>.<p>
cannam@21 1037 A plugin that can handle any block size may return 0. The final block size will be set in the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a1f8290d8e9a315695584dcb3ad137" title="Initialise a plugin to prepare it for use with the given number of input channels...">initialise()</a> call.
cannam@21 1038 <p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#a529adf83f87a603954eb31407602aac">Vamp::Plugin</a>.</p>
cannam@21 1039
cannam@21 1040 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#21e45180b19873f9ab69fe7a4e184a03">Vamp::HostExt::PluginBufferingAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#4cf40d09d02022b1962ff17bb0324ea5">Vamp::HostExt::PluginInputDomainAdapter</a>.</p>
cannam@21 1041
cannam@21 1042 </div>
cannam@21 1043 </div><p>
cannam@21 1044 <a class="anchor" name="2b28f1cf37d46a514f1e1411a6037bf8"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getMinChannelCount" ref="2b28f1cf37d46a514f1e1411a6037bf8" args="() const " -->
cannam@21 1045 <div class="memitem">
cannam@21 1046 <div class="memproto">
cannam@21 1047 <table class="memname">
cannam@21 1048 <tr>
cannam@21 1049 <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMinChannelCount </td>
cannam@21 1050 <td>(</td>
cannam@21 1051 <td class="paramname"> </td>
cannam@21 1052 <td>&nbsp;)&nbsp;</td>
cannam@21 1053 <td> const<code> [virtual, inherited]</code></td>
cannam@21 1054 </tr>
cannam@21 1055 </table>
cannam@21 1056 </div>
cannam@21 1057 <div class="memdoc">
cannam@21 1058
cannam@21 1059 <p>
cannam@21 1060 Get the minimum supported number of input channels.
cannam@21 1061 <p>
cannam@21 1062
cannam@21 1063 <p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#267b42e866df3cf0d190893e8096f525">Vamp::Plugin</a>.</p>
cannam@21 1064
cannam@21 1065 </div>
cannam@21 1066 </div><p>
cannam@21 1067 <a class="anchor" name="985eb21f1827bfbc3950d6871b107a58"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getMaxChannelCount" ref="985eb21f1827bfbc3950d6871b107a58" args="() const " -->
cannam@21 1068 <div class="memitem">
cannam@21 1069 <div class="memproto">
cannam@21 1070 <table class="memname">
cannam@21 1071 <tr>
cannam@21 1072 <td class="memname">size_t Vamp::HostExt::PluginWrapper::getMaxChannelCount </td>
cannam@21 1073 <td>(</td>
cannam@21 1074 <td class="paramname"> </td>
cannam@21 1075 <td>&nbsp;)&nbsp;</td>
cannam@21 1076 <td> const<code> [virtual, inherited]</code></td>
cannam@21 1077 </tr>
cannam@21 1078 </table>
cannam@21 1079 </div>
cannam@21 1080 <div class="memdoc">
cannam@21 1081
cannam@21 1082 <p>
cannam@21 1083 Get the maximum supported number of input channels.
cannam@21 1084 <p>
cannam@21 1085
cannam@21 1086 <p>Reimplemented from <a class="el" href="classVamp_1_1Plugin.html#2c5ab12b6fa4847cb244bd1e9cb3ae5e">Vamp::Plugin</a>.</p>
cannam@21 1087
cannam@21 1088 </div>
cannam@21 1089 </div><p>
cannam@21 1090 <a class="anchor" name="5a9411305f713b4c9827844b89acd270"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getOutputDescriptors" ref="5a9411305f713b4c9827844b89acd270" args="() const " -->
cannam@21 1091 <div class="memitem">
cannam@21 1092 <div class="memproto">
cannam@21 1093 <table class="memname">
cannam@21 1094 <tr>
cannam@21 1095 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html#30f531b8fb69fac41a24e3d2a6a08ed9">OutputList</a> Vamp::HostExt::PluginWrapper::getOutputDescriptors </td>
cannam@21 1096 <td>(</td>
cannam@21 1097 <td class="paramname"> </td>
cannam@21 1098 <td>&nbsp;)&nbsp;</td>
cannam@21 1099 <td> const<code> [virtual, inherited]</code></td>
cannam@21 1100 </tr>
cannam@21 1101 </table>
cannam@21 1102 </div>
cannam@21 1103 <div class="memdoc">
cannam@21 1104
cannam@21 1105 <p>
cannam@21 1106 Get the outputs of this plugin.
cannam@21 1107 <p>
cannam@21 1108 An output's index in this list is used as its numeric index when looking it up in the FeatureSet returned from the <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#6bd72d6dfb3047524dbe8ae3294527cf" title="Process a single block of input data.">process()</a> call.
cannam@21 1109 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#d064d5d132b5c9bd7064f429c3309e35">Vamp::Plugin</a>.</p>
cannam@21 1110
cannam@21 1111 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#f8cc914897a284433de220f1153f3845">Vamp::HostExt::PluginBufferingAdapter</a>.</p>
cannam@21 1112
cannam@21 1113 </div>
cannam@21 1114 </div><p>
cannam@21 1115 <a class="anchor" name="e9d79bed7237d55a73018a6b982a55b3"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getWrapper" ref="e9d79bed7237d55a73018a6b982a55b3" args="()" -->
cannam@21 1116 <div class="memitem">
cannam@21 1117 <div class="memproto">
cannam@21 1118 <div class="memtemplate">
cannam@21 1119 template&lt;typename WrapperType&gt; </div>
cannam@21 1120 <table class="memname">
cannam@21 1121 <tr>
cannam@21 1122 <td class="memname">WrapperType* Vamp::HostExt::PluginWrapper::getWrapper </td>
cannam@21 1123 <td>(</td>
cannam@21 1124 <td class="paramname"> </td>
cannam@21 1125 <td>&nbsp;)&nbsp;</td>
cannam@21 1126 <td><code> [inline, inherited]</code></td>
cannam@21 1127 </tr>
cannam@21 1128 </table>
cannam@21 1129 </div>
cannam@21 1130 <div class="memdoc">
cannam@21 1131
cannam@21 1132 <p>
cannam@21 1133 Return a pointer to the plugin wrapper of type WrapperType surrounding this wrapper's plugin, if present.
cannam@21 1134 <p>
cannam@21 1135 This is useful in situations where a plugin is wrapped by multiple different wrappers (one inside another) and the host wants to call some wrapper-specific function on one of the layers without having to care about the order in which they are wrapped. For example, the plugin returned by <a class="el" href="classVamp_1_1HostExt_1_1PluginLoader.html#964689eb9688cd7e58e8c82ebb0d305f" title="Load a Vamp plugin, given its identifying key.">PluginLoader::loadPlugin</a> may have more than one wrapper; if the host wanted to query or fine-tune some property of one of them, it would be hard to do so without knowing the order of the wrappers. This function therefore gives direct access to the wrapper of a particular type.
cannam@21 1136 <p>Definition at line <a class="el" href="PluginWrapper_8h-source.html#l00116">116</a> of file <a class="el" href="PluginWrapper_8h-source.html">PluginWrapper.h</a>.</p>
cannam@21 1137
cannam@21 1138 <p>References <a class="el" href="PluginWrapper_8h-source.html#l00116">Vamp::HostExt::PluginWrapper::getWrapper()</a>.</p>
cannam@21 1139
cannam@21 1140 <p>Referenced by <a class="el" href="PluginWrapper_8h-source.html#l00116">Vamp::HostExt::PluginWrapper::getWrapper()</a>, and <a class="el" href="vamp-simple-host_8cpp-source.html#l00265">runPlugin()</a>.</p>
cannam@21 1141
cannam@21 1142 </div>
cannam@21 1143 </div><p>
cannam@21 1144 <a class="anchor" name="be13b3997a69fbcc09e2213faa352f91"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getType" ref="be13b3997a69fbcc09e2213faa352f91" args="() const " -->
cannam@21 1145 <div class="memitem">
cannam@21 1146 <div class="memproto">
cannam@21 1147 <table class="memname">
cannam@21 1148 <tr>
cannam@21 1149 <td class="memname">virtual std::string Vamp::Plugin::getType </td>
cannam@21 1150 <td>(</td>
cannam@21 1151 <td class="paramname"> </td>
cannam@21 1152 <td>&nbsp;)&nbsp;</td>
cannam@21 1153 <td> const<code> [inline, virtual, inherited]</code></td>
cannam@21 1154 </tr>
cannam@21 1155 </table>
cannam@21 1156 </div>
cannam@21 1157 <div class="memdoc">
cannam@21 1158
cannam@21 1159 <p>
cannam@21 1160 Used to distinguish between <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction...">Vamp::Plugin</a> and other potential sibling subclasses of <a class="el" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc.">PluginBase</a>.
cannam@21 1161 <p>
cannam@21 1162 Do not reimplement this function in your subclass.
cannam@21 1163 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p>
cannam@21 1164
cannam@21 1165 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00425">425</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
cannam@21 1166
cannam@21 1167 </div>
cannam@21 1168 </div><p>
cannam@21 1169 <hr><h2>Member Data Documentation</h2>
cannam@21 1170 <a class="anchor" name="f131140817d9f131650af98b6b8d7a94"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::m_impl" ref="f131140817d9f131650af98b6b8d7a94" args="" -->
cannam@21 1171 <div class="memitem">
cannam@21 1172 <div class="memproto">
cannam@21 1173 <table class="memname">
cannam@21 1174 <tr>
cannam@21 1175 <td class="memname">Impl* <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f131140817d9f131650af98b6b8d7a94">Vamp::HostExt::PluginSummarisingAdapter::m_impl</a><code> [protected]</code> </td>
cannam@21 1176 </tr>
cannam@21 1177 </table>
cannam@21 1178 </div>
cannam@21 1179 <div class="memdoc">
cannam@21 1180
cannam@21 1181 <p>
cannam@21 1182
cannam@21 1183 <p>Definition at line <a class="el" href="PluginSummarisingAdapter_8h-source.html#l00185">185</a> of file <a class="el" href="PluginSummarisingAdapter_8h-source.html">PluginSummarisingAdapter.h</a>.</p>
cannam@21 1184
cannam@21 1185 </div>
cannam@21 1186 </div><p>
cannam@21 1187 <a class="anchor" name="b4e40ecd98b445e1a2aa9e7baa280ea2"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::m_plugin" ref="b4e40ecd98b445e1a2aa9e7baa280ea2" args="" -->
cannam@21 1188 <div class="memitem">
cannam@21 1189 <div class="memproto">
cannam@21 1190 <table class="memname">
cannam@21 1191 <tr>
cannam@21 1192 <td class="memname"><a class="el" href="classVamp_1_1Plugin.html">Plugin</a>* <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#b4e40ecd98b445e1a2aa9e7baa280ea2">Vamp::HostExt::PluginWrapper::m_plugin</a><code> [protected, inherited]</code> </td>
cannam@21 1193 </tr>
cannam@21 1194 </table>
cannam@21 1195 </div>
cannam@21 1196 <div class="memdoc">
cannam@21 1197
cannam@21 1198 <p>
cannam@21 1199
cannam@21 1200 <p>Definition at line <a class="el" href="PluginWrapper_8h-source.html#l00126">126</a> of file <a class="el" href="PluginWrapper_8h-source.html">PluginWrapper.h</a>.</p>
cannam@21 1201
cannam@21 1202 </div>
cannam@21 1203 </div><p>
cannam@21 1204 <a class="anchor" name="59b9dd82a4f4eb946cd0474cc81abc23"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::m_inputSampleRate" ref="59b9dd82a4f4eb946cd0474cc81abc23" args="" -->
cannam@21 1205 <div class="memitem">
cannam@21 1206 <div class="memproto">
cannam@21 1207 <table class="memname">
cannam@21 1208 <tr>
cannam@21 1209 <td class="memname">float <a class="el" href="classVamp_1_1Plugin.html#59b9dd82a4f4eb946cd0474cc81abc23">Vamp::Plugin::m_inputSampleRate</a><code> [protected, inherited]</code> </td>
cannam@21 1210 </tr>
cannam@21 1211 </table>
cannam@21 1212 </div>
cannam@21 1213 <div class="memdoc">
cannam@21 1214
cannam@21 1215 <p>
cannam@21 1216
cannam@21 1217 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00431">431</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
cannam@21 1218
cannam@21 1219 <p>Referenced by <a class="el" href="ZeroCrossing_8cpp-source.html#l00111">ZeroCrossing::getOutputDescriptors()</a>, <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00196">PercussionOnsetDetector::getOutputDescriptors()</a>, <a class="el" href="AmplitudeFollower_8cpp-source.html#l00105">AmplitudeFollower::initialise()</a>, <a class="el" href="ZeroCrossing_8cpp-source.html#l00142">ZeroCrossing::process()</a>, <a class="el" href="SpectralCentroid_8cpp-source.html#l00141">SpectralCentroid::process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00226">PercussionOnsetDetector::process()</a>.</p>
cannam@21 1220
cannam@21 1221 </div>
cannam@21 1222 </div><p>
cannam@21 1223 <hr>The documentation for this class was generated from the following file:<ul>
cannam@21 1224 <li><a class="el" href="PluginSummarisingAdapter_8h-source.html">PluginSummarisingAdapter.h</a></ul>
cannam@21 1225 </div>
cannam@21 1226 <hr size="1"><address style="text-align: right;"><small>Generated on Mon Dec 8 14:37:21 2008 for VampPluginSDK by&nbsp;
cannam@21 1227 <a href="http://www.doxygen.org/index.html">
cannam@21 1228 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
cannam@21 1229 </body>
cannam@21 1230 </html>