comparison code-doc/classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html @ 35:0976232e353b website

* Update for 2.1 release; add wiki link
author cannam
date Fri, 25 Sep 2009 15:40:18 +0000
parents cc0be37dc9d3
children 8260c0f4e05b
comparison
equal deleted inserted replaced
34:4b4db9230e94 35:0976232e353b
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 <title>VampPluginSDK: Vamp::HostExt::PluginSummarisingAdapter Class Reference</title> 3 <title>VampPluginSDK: Vamp::HostExt::PluginSummarisingAdapter Class Reference</title>
4 <link href="tabs.css" rel="stylesheet" type="text/css">
4 <link href="doxygen.css" rel="stylesheet" type="text/css"> 5 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body> 6 </head><body>
7 <!-- Generated by Doxygen 1.5.6 --> 7 <!-- Generated by Doxygen 1.5.8 -->
8 <div class="navigation" id="top"> 8 <div class="navigation" id="top">
9 <div class="tabs"> 9 <div class="tabs">
10 <ul> 10 <ul>
11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li> 11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
12 <li><a href="namespaces.html"><span>Namespaces</span></a></li> 12 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
24 </div> 24 </div>
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> 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>
26 </div> 26 </div>
27 </div> 27 </div>
28 <div class="contents"> 28 <div class="contents">
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> 29 <h1>Vamp::HostExt::PluginSummarisingAdapter Class Reference</h1><!-- doxytag: class="Vamp::HostExt::PluginSummarisingAdapter" --><!-- doxytag: inherits="Vamp::HostExt::PluginWrapper" --><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.
30 <a href="#_details">More...</a>
31 <p>
32 <code>#include &lt;<a class="el" href="PluginSummarisingAdapter_8h-source.html">vamp-hostsdk/PluginSummarisingAdapter.h</a>&gt;</code>
30 <p> 33 <p>
31 <div class="dynheader"> 34 <div class="dynheader">
32 Inheritance diagram for Vamp::HostExt::PluginSummarisingAdapter:</div> 35 Inheritance diagram for Vamp::HostExt::PluginSummarisingAdapter:</div>
33 <div class="dynsection"> 36 <div class="dynsection">
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> 37 <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>
35 <map name="Vamp_1_1HostExt_1_1PluginSummarisingAdapter__inherit__map"> 38 <map name="Vamp_1_1HostExt_1_1PluginSummarisingAdapter__inherit__map">
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> 39 <area shape="rect" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins." alt="" coords="40,156,229,180"><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="88,81,181,105"><area shape="rect" href="classVamp_1_1PluginBase.html" title="A base class for plugins with optional configurable parameters, programs, etc." alt="" coords="75,7,195,31"></map>
37 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div> 40 <center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
38 41
39 <p> 42 <p>
40 <a href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> 43 <a href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
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.
42 <p>
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>
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>
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>
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>
47
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>
49 <table border="0" cellpadding="0" cellspacing="0">
50 <tr><td></td></tr> 44 <tr><td></td></tr>
51 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> 45 <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
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> 46 <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>
53 &nbsp;&nbsp;<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705320b8a4cd0c3d492aeb17f7fc4ed930c">Minimum</a> = 0, 47 &nbsp;&nbsp;<a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705320b8a4cd0c3d492aeb17f7fc4ed930c">Minimum</a> = 0,
54 <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705defff4e5073aa298a96d99b92025b7f9">Maximum</a> = 1, 48 <a class="el" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html#f504f810448961fc489e9b6572471705defff4e5073aa298a96d99b92025b7f9">Maximum</a> = 1,
70 }</td></tr> 64 }</td></tr>
71 65
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> 66 <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>
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> 67 <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>
74 68
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>,
76 <a class="el" href="classVamp_1_1Plugin.html#39cb7649d6dcc20e4cb1640cd55907bca30e7877ab33f76acbdca28607e6ab53">FrequencyDomain</a>
77 }</td></tr>
78
79 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br>
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>
81
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>
83
84 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::map&lt; int, <br>
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>
86
87 <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector<br>
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>
89
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>
91
92 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> 69 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
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> 70 <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>
94 71
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> 72 <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>
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> 73 <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>
97 74
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> 75 <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>
99 76
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> 77 <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>
78 <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#3402381d145d507bd26d1a67e3616911">reset</a> ()</td></tr>
79
80 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset the plugin after use, to prepare it for another clean run. <a href="#3402381d145d507bd26d1a67e3616911"></a><br></td></tr>
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> 81 <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>
102 82
103 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process a single block of input data. <a href="#3314b456a4780601c021dac25b478846"></a><br></td></tr> 83 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process a single block of input data. <a href="#3314b456a4780601c021dac25b478846"></a><br></td></tr>
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> 84 <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>
105 85
111 91
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> 92 <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>
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> 93 <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>
114 94
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> 95 <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>
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>
117
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>
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> 96 <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>
120 97
121 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the plugin's required input domain. <a href="#e203faf8384c9e1fddc381409aa8a214"></a><br></td></tr> 98 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the plugin's required input domain. <a href="#e203faf8384c9e1fddc381409aa8a214"></a><br></td></tr>
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> 99 <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>
123 100
171 148
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> 149 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the maximum supported number of input channels. <a href="#985eb21f1827bfbc3950d6871b107a58"></a><br></td></tr>
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> 150 <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>
174 151
175 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the outputs of this plugin. <a href="#5a9411305f713b4c9827844b89acd270"></a><br></td></tr> 152 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the outputs of this plugin. <a href="#5a9411305f713b4c9827844b89acd270"></a><br></td></tr>
176 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename WrapperType&gt; </td></tr> 153 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename WrapperType &gt; </td></tr>
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> 154 <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>
178 155
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> 156 <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>
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> 157 <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>
181 158
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> 163 <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>
187 164
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> 165 <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>
189 166
190 </table> 167 </table>
168 <hr><a name="_details"></a><h2>Detailed Description</h2>
169 <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.
170 <p>
171 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>
172 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>
173 <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>
174 <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>
175
176 <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>
191 <hr><h2>Member Typedef Documentation</h2> 177 <hr><h2>Member Typedef Documentation</h2>
192 <a class="anchor" name="74e7f93c745802a2409185b63922466b"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::SegmentBoundaries" ref="74e7f93c745802a2409185b63922466b" args="" --> 178 <a class="anchor" name="74e7f93c745802a2409185b63922466b"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::SegmentBoundaries" ref="74e7f93c745802a2409185b63922466b" args="" -->
193 <div class="memitem"> 179 <div class="memitem">
194 <div class="memproto"> 180 <div class="memproto">
195 <table class="memname"> 181 <table class="memname">
200 </div> 186 </div>
201 <div class="memdoc"> 187 <div class="memdoc">
202 188
203 <p> 189 <p>
204 190
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> 191 <p>Definition at line <a class="el" href="PluginSummarisingAdapter_8h-source.html#l00104">104</a> of file <a class="el" href="PluginSummarisingAdapter_8h-source.html">PluginSummarisingAdapter.h</a>.</p>
206 192
207 </div> 193 </div>
208 </div><p> 194 </div><p>
209 <a class="anchor" name="30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::OutputList" ref="30f531b8fb69fac41a24e3d2a6a08ed9" args="" --> 195 <a class="anchor" name="30f531b8fb69fac41a24e3d2a6a08ed9"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::OutputList" ref="30f531b8fb69fac41a24e3d2a6a08ed9" args="" -->
210 <div class="memitem"> 196 <div class="memitem">
217 </div> 203 </div>
218 <div class="memdoc"> 204 <div class="memdoc">
219 205
220 <p> 206 <p>
221 207
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> 208 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00327">327</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
223 209
224 </div> 210 </div>
225 </div><p> 211 </div><p>
226 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" --> 212 <a class="anchor" name="0730bc72c87fa02eb8d2854b233f7be1"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::FeatureList" ref="0730bc72c87fa02eb8d2854b233f7be1" args="" -->
227 <div class="memitem"> 213 <div class="memitem">
234 </div> 220 </div>
235 <div class="memdoc"> 221 <div class="memdoc">
236 222
237 <p> 223 <p>
238 224
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> 225 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00385">385</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
240 226
241 </div> 227 </div>
242 </div><p> 228 </div><p>
243 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" --> 229 <a class="anchor" name="448fb57dc245d47923ec9eeaf9856c5f"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::FeatureSet" ref="448fb57dc245d47923ec9eeaf9856c5f" args="" -->
244 <div class="memitem"> 230 <div class="memitem">
251 </div> 237 </div>
252 <div class="memdoc"> 238 <div class="memdoc">
253 239
254 <p> 240 <p>
255 241
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> 242 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00387">387</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
257 243
258 </div> 244 </div>
259 </div><p> 245 </div><p>
260 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" --> 246 <a class="anchor" name="3b6bb4bbd86affe1ca9deceea1aad4f8"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::ParameterList" ref="3b6bb4bbd86affe1ca9deceea1aad4f8" args="" -->
261 <div class="memitem"> 247 <div class="memitem">
327 <tr><td valign="top"><em><a class="anchor" name="f504f810448961fc489e9b6572471705eed3a16d665eb789053b82fdd386ee7c"></a><!-- doxytag: member="UnknownSummaryType" ref="f504f810448961fc489e9b6572471705eed3a16d665eb789053b82fdd386ee7c" args="" -->UnknownSummaryType</em>&nbsp;</td><td> 313 <tr><td valign="top"><em><a class="anchor" name="f504f810448961fc489e9b6572471705eed3a16d665eb789053b82fdd386ee7c"></a><!-- doxytag: member="UnknownSummaryType" ref="f504f810448961fc489e9b6572471705eed3a16d665eb789053b82fdd386ee7c" args="" -->UnknownSummaryType</em>&nbsp;</td><td>
328 </td></tr> 314 </td></tr>
329 </table> 315 </table>
330 </dl> 316 </dl>
331 317
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> 318 <p>Definition at line <a class="el" href="PluginSummarisingAdapter_8h-source.html#l00121">121</a> of file <a class="el" href="PluginSummarisingAdapter_8h-source.html">PluginSummarisingAdapter.h</a>.</p>
333 319
334 </div> 320 </div>
335 </div><p> 321 </div><p>
336 <a class="anchor" name="294e9eed9c541dcedbaa4f2dfda1ac76"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::AveragingMethod" ref="294e9eed9c541dcedbaa4f2dfda1ac76" args="" --> 322 <a class="anchor" name="294e9eed9c541dcedbaa4f2dfda1ac76"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::AveragingMethod" ref="294e9eed9c541dcedbaa4f2dfda1ac76" args="" -->
337 <div class="memitem"> 323 <div class="memitem">
356 <tr><td valign="top"><em><a class="anchor" name="294e9eed9c541dcedbaa4f2dfda1ac766af6316c12e29bdbdff90c5fec764baa"></a><!-- doxytag: member="ContinuousTimeAverage" ref="294e9eed9c541dcedbaa4f2dfda1ac766af6316c12e29bdbdff90c5fec764baa" args="" -->ContinuousTimeAverage</em>&nbsp;</td><td> 342 <tr><td valign="top"><em><a class="anchor" name="294e9eed9c541dcedbaa4f2dfda1ac766af6316c12e29bdbdff90c5fec764baa"></a><!-- doxytag: member="ContinuousTimeAverage" ref="294e9eed9c541dcedbaa4f2dfda1ac766af6316c12e29bdbdff90c5fec764baa" args="" -->ContinuousTimeAverage</em>&nbsp;</td><td>
357 </td></tr> 343 </td></tr>
358 </table> 344 </table>
359 </dl> 345 </dl>
360 346
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> 347 <p>Definition at line <a class="el" href="PluginSummarisingAdapter_8h-source.html#l00157">157</a> of file <a class="el" href="PluginSummarisingAdapter_8h-source.html">PluginSummarisingAdapter.h</a>.</p>
362 348
363 </div> 349 </div>
364 </div><p> 350 </div><p>
365 <a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::InputDomain" ref="39cb7649d6dcc20e4cb1640cd55907bc" args="" --> 351 <a class="anchor" name="39cb7649d6dcc20e4cb1640cd55907bc"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::InputDomain" ref="39cb7649d6dcc20e4cb1640cd55907bc" args="" -->
366 <div class="memitem"> 352 <div class="memitem">
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). 451 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).
466 <p> 452 <p>
467 The input sample rate should have been already specified at construction time.<p> 453 The input sample rate should have been already specified at construction time.<p>
468 Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported. 454 Return true for successful initialisation, false if the number of input channels, step size and/or block size cannot be supported.
469 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>.</p> 455 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5a1f8290d8e9a315695584dcb3ad137">Vamp::HostExt::PluginWrapper</a>.</p>
456
457 </div>
458 </div><p>
459 <a class="anchor" name="3402381d145d507bd26d1a67e3616911"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::reset" ref="3402381d145d507bd26d1a67e3616911" args="()" -->
460 <div class="memitem">
461 <div class="memproto">
462 <table class="memname">
463 <tr>
464 <td class="memname">void Vamp::HostExt::PluginSummarisingAdapter::reset </td>
465 <td>(</td>
466 <td class="paramname"> </td>
467 <td>&nbsp;)&nbsp;</td>
468 <td><code> [virtual]</code></td>
469 </tr>
470 </table>
471 </div>
472 <div class="memdoc">
473
474 <p>
475 Reset the plugin after use, to prepare it for another clean run.
476 <p>
477 Not called for the first initialisation (i.e. initialise must also do a reset).
478 <p>Reimplemented from <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#d19cc0614ba41cdc26ef3394c5146fe6">Vamp::HostExt::PluginWrapper</a>.</p>
470 479
471 </div> 480 </div>
472 </div><p> 481 </div><p>
473 <a class="anchor" name="3314b456a4780601c021dac25b478846"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::process" ref="3314b456a4780601c021dac25b478846" args="(const float *const *inputBuffers, RealTime timestamp)" --> 482 <a class="anchor" name="3314b456a4780601c021dac25b478846"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::process" ref="3314b456a4780601c021dac25b478846" args="(const float *const *inputBuffers, RealTime timestamp)" -->
474 <div class="memitem"> 483 <div class="memitem">
617 Return summaries of the features that were returned on all of the plugin's outputs, using the given SummaryType and AveragingMethod. 626 Return summaries of the features that were returned on all of the plugin's outputs, using the given SummaryType and AveragingMethod.
618 <p> 627 <p>
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. 628 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.
620 </div> 629 </div>
621 </div><p> 630 </div><p>
622 <a class="anchor" name="d19cc0614ba41cdc26ef3394c5146fe6"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::reset" ref="d19cc0614ba41cdc26ef3394c5146fe6" args="()" -->
623 <div class="memitem">
624 <div class="memproto">
625 <table class="memname">
626 <tr>
627 <td class="memname">void Vamp::HostExt::PluginWrapper::reset </td>
628 <td>(</td>
629 <td class="paramname"> </td>
630 <td>&nbsp;)&nbsp;</td>
631 <td><code> [virtual, inherited]</code></td>
632 </tr>
633 </table>
634 </div>
635 <div class="memdoc">
636
637 <p>
638 Reset the plugin after use, to prepare it for another clean run.
639 <p>
640 Not called for the first initialisation (i.e. initialise must also do a reset).
641 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#ad67dc9d0052417511070c4ebcfbf24f">Vamp::Plugin</a>.</p>
642
643 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#131fd9fe8a1795d7370d8a721176868a">Vamp::HostExt::PluginBufferingAdapter</a>.</p>
644
645 </div>
646 </div><p>
647 <a class="anchor" name="e203faf8384c9e1fddc381409aa8a214"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getInputDomain" ref="e203faf8384c9e1fddc381409aa8a214" args="() const " --> 631 <a class="anchor" name="e203faf8384c9e1fddc381409aa8a214"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getInputDomain" ref="e203faf8384c9e1fddc381409aa8a214" args="() const " -->
648 <div class="memitem"> 632 <div class="memitem">
649 <div class="memproto"> 633 <div class="memproto">
650 <table class="memname"> 634 <table class="memname">
651 <tr> 635 <tr>
660 <div class="memdoc"> 644 <div class="memdoc">
661 645
662 <p> 646 <p>
663 Get the plugin's required input domain. 647 Get the plugin's required input domain.
664 <p> 648 <p>
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. 649 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.<p>
650 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 input data for the FFT will be rotated so as to place the origin in the centre of the block. The plugin does not get to choose the window type -- the host will either let the user do so, or will use a Hanning window.
666 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p> 651 <p>Implements <a class="el" href="classVamp_1_1Plugin.html#e1d317a9702cbeda65ddf0ec500c1ff6">Vamp::Plugin</a>.</p>
667 652
668 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>.</p> 653 <p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html#47ff1ed72889f323da63f8abc9ea581a">Vamp::HostExt::PluginInputDomainAdapter</a>.</p>
669 654
670 </div> 655 </div>
1114 </div><p> 1099 </div><p>
1115 <a class="anchor" name="e9d79bed7237d55a73018a6b982a55b3"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getWrapper" ref="e9d79bed7237d55a73018a6b982a55b3" args="()" --> 1100 <a class="anchor" name="e9d79bed7237d55a73018a6b982a55b3"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::getWrapper" ref="e9d79bed7237d55a73018a6b982a55b3" args="()" -->
1116 <div class="memitem"> 1101 <div class="memitem">
1117 <div class="memproto"> 1102 <div class="memproto">
1118 <div class="memtemplate"> 1103 <div class="memtemplate">
1119 template&lt;typename WrapperType&gt; </div> 1104 template&lt;typename WrapperType &gt; </div>
1120 <table class="memname"> 1105 <table class="memname">
1121 <tr> 1106 <tr>
1122 <td class="memname">WrapperType* Vamp::HostExt::PluginWrapper::getWrapper </td> 1107 <td class="memname">WrapperType* Vamp::HostExt::PluginWrapper::getWrapper </td>
1123 <td>(</td> 1108 <td>(</td>
1124 <td class="paramname"> </td> 1109 <td class="paramname"> </td>
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>. 1145 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>.
1161 <p> 1146 <p>
1162 Do not reimplement this function in your subclass. 1147 Do not reimplement this function in your subclass.
1163 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p> 1148 <p>Implements <a class="el" href="classVamp_1_1PluginBase.html#2da03e9ced8dc7e4382205e6dc05dbff">Vamp::PluginBase</a>.</p>
1164 1149
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> 1150 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00430">430</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
1166 1151
1167 </div> 1152 </div>
1168 </div><p> 1153 </div><p>
1169 <hr><h2>Member Data Documentation</h2> 1154 <hr><h2>Member Data Documentation</h2>
1170 <a class="anchor" name="f131140817d9f131650af98b6b8d7a94"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::m_impl" ref="f131140817d9f131650af98b6b8d7a94" args="" --> 1155 <a class="anchor" name="f131140817d9f131650af98b6b8d7a94"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::m_impl" ref="f131140817d9f131650af98b6b8d7a94" args="" -->
1178 </div> 1163 </div>
1179 <div class="memdoc"> 1164 <div class="memdoc">
1180 1165
1181 <p> 1166 <p>
1182 1167
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> 1168 <p>Definition at line <a class="el" href="PluginSummarisingAdapter_8h-source.html#l00187">187</a> of file <a class="el" href="PluginSummarisingAdapter_8h-source.html">PluginSummarisingAdapter.h</a>.</p>
1184 1169
1185 </div> 1170 </div>
1186 </div><p> 1171 </div><p>
1187 <a class="anchor" name="b4e40ecd98b445e1a2aa9e7baa280ea2"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::m_plugin" ref="b4e40ecd98b445e1a2aa9e7baa280ea2" args="" --> 1172 <a class="anchor" name="b4e40ecd98b445e1a2aa9e7baa280ea2"></a><!-- doxytag: member="Vamp::HostExt::PluginSummarisingAdapter::m_plugin" ref="b4e40ecd98b445e1a2aa9e7baa280ea2" args="" -->
1188 <div class="memitem"> 1173 <div class="memitem">
1212 </div> 1197 </div>
1213 <div class="memdoc"> 1198 <div class="memdoc">
1214 1199
1215 <p> 1200 <p>
1216 1201
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> 1202 <p>Definition at line <a class="el" href="vamp-sdk_2Plugin_8h-source.html#l00436">436</a> of file <a class="el" href="vamp-sdk_2Plugin_8h-source.html">vamp-sdk/Plugin.h</a>.</p>
1218 1203
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> 1204 <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#l00146">SpectralCentroid::process()</a>, and <a class="el" href="PercussionOnsetDetector_8cpp-source.html#l00226">PercussionOnsetDetector::process()</a>.</p>
1220 1205
1221 </div> 1206 </div>
1222 </div><p> 1207 </div><p>
1223 <hr>The documentation for this class was generated from the following file:<ul> 1208 <hr>The documentation for this class was generated from the following file:<ul>
1224 <li><a class="el" href="PluginSummarisingAdapter_8h-source.html">PluginSummarisingAdapter.h</a></ul> 1209 <li><a class="el" href="PluginSummarisingAdapter_8h-source.html">PluginSummarisingAdapter.h</a></ul>
1225 </div> 1210 </div>
1226 <hr size="1"><address style="text-align: right;"><small>Generated on Mon Dec 8 14:37:21 2008 for VampPluginSDK by&nbsp; 1211 <hr size="1"><address style="text-align: right;"><small>Generated on Thu Sep 24 13:40:14 2009 for VampPluginSDK by&nbsp;
1227 <a href="http://www.doxygen.org/index.html"> 1212 <a href="http://www.doxygen.org/index.html">
1228 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> 1213 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
1229 </body> 1214 </body>
1230 </html> 1215 </html>