VampPluginSDK
2.9
PluginSummarisingAdapter.h
Go to the documentation of this file.
1
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
2
3
/*
4
Vamp
5
6
An API for audio analysis and feature extraction plugins.
7
8
Centre for Digital Music, Queen Mary, University of London.
9
Copyright 2006-2009 Chris Cannam and QMUL.
10
11
Permission is hereby granted, free of charge, to any person
12
obtaining a copy of this software and associated documentation
13
files (the "Software"), to deal in the Software without
14
restriction, including without limitation the rights to use, copy,
15
modify, merge, publish, distribute, sublicense, and/or sell copies
16
of the Software, and to permit persons to whom the Software is
17
furnished to do so, subject to the following conditions:
18
19
The above copyright notice and this permission notice shall be
20
included in all copies or substantial portions of the Software.
21
22
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
25
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR
26
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
27
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29
30
Except as contained in this notice, the names of the Centre for
31
Digital Music; Queen Mary, University of London; and Chris Cannam
32
shall not be used in advertising or otherwise to promote the sale,
33
use or other dealings in this Software without prior written
34
authorization.
35
*/
36
37
#ifndef _VAMP_PLUGIN_SUMMARISING_ADAPTER_H_
38
#define _VAMP_PLUGIN_SUMMARISING_ADAPTER_H_
39
40
#include "
hostguard.h
"
41
#include "
PluginWrapper.h
"
42
43
#include <set>
44
45
_VAMP_SDK_HOSTSPACE_BEGIN
(PluginSummarisingAdapter.h)
46
47
namespace
Vamp
{
48
49
namespace
HostExt {
50
86
class
PluginSummarisingAdapter
:
public
PluginWrapper
87
{
88
public
:
94
PluginSummarisingAdapter
(
Plugin
*plugin);
95
virtual
~
PluginSummarisingAdapter
();
96
97
bool
initialise(
size_t
channels,
size_t
stepSize,
size_t
blockSize);
98
99
void
reset();
100
101
FeatureSet
process(
const
float
*
const
*inputBuffers,
RealTime
timestamp);
102
FeatureSet
getRemainingFeatures();
103
104
typedef
std::set<RealTime>
SegmentBoundaries
;
105
119
void
setSummarySegmentBoundaries(
const
SegmentBoundaries
&);
120
121
enum
SummaryType
{
122
Minimum = 0,
123
Maximum = 1,
124
Mean = 2,
125
Median = 3,
126
Mode = 4,
127
Sum = 5,
128
Variance = 6,
129
StandardDeviation = 7,
130
Count = 8,
131
132
UnknownSummaryType = 999
133
};
134
157
enum
AveragingMethod
{
158
SampleAverage = 0,
159
ContinuousTimeAverage = 1
160
};
161
170
FeatureList getSummaryForOutput(
int
output,
171
SummaryType type,
172
AveragingMethod method = SampleAverage);
173
183
FeatureSet getSummaryForAllOutputs(SummaryType type,
184
AveragingMethod method = SampleAverage);
185
186
protected
:
187
class
Impl;
188
Impl *
m_impl
;
189
};
190
191
}
192
193
}
194
195
_VAMP_SDK_HOSTSPACE_END
(PluginSummarisingAdapter.h)
196
197
#endif
Vamp::HostExt::PluginWrapper
Definition:
PluginWrapper.h:62
Vamp::HostExt::PluginSummarisingAdapter::m_impl
Impl * m_impl
Definition:
PluginSummarisingAdapter.h:187
Vamp::HostExt::PluginSummarisingAdapter::SegmentBoundaries
std::set< RealTime > SegmentBoundaries
Definition:
PluginSummarisingAdapter.h:104
Vamp::HostExt::PluginSummarisingAdapter::AveragingMethod
AveragingMethod
AveragingMethod indicates how the adapter should handle average-based summaries of features whose res...
Definition:
PluginSummarisingAdapter.h:157
_VAMP_SDK_HOSTSPACE_BEGIN
#define _VAMP_SDK_HOSTSPACE_BEGIN(h)
Definition:
hostguard.h:56
Vamp::Plugin
Definition:
vamp-sdk/Plugin.h:124
Vamp::HostExt::PluginSummarisingAdapter::SummaryType
SummaryType
Definition:
PluginSummarisingAdapter.h:121
hostguard.h
_VAMP_SDK_HOSTSPACE_END
#define _VAMP_SDK_HOSTSPACE_END(h)
Definition:
hostguard.h:59
Vamp::RealTime
Definition:
vamp-sdk/RealTime.h:66
Vamp::HostExt::PluginSummarisingAdapter
Definition:
PluginSummarisingAdapter.h:86
Vamp
Definition:
FFT.h:43
PluginWrapper.h
Vamp::Plugin::FeatureSet
std::map< int, FeatureList > FeatureSet
Definition:
vamp-sdk/Plugin.h:395
vamp-hostsdk
PluginSummarisingAdapter.h
Generated by
1.8.17