PluginSummarisingAdapter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef _VAMP_PLUGIN_SUMMARISING_ADAPTER_H_
00038 #define _VAMP_PLUGIN_SUMMARISING_ADAPTER_H_
00039
00040 #include "hostguard.h"
00041 #include "PluginWrapper.h"
00042
00043 #include <set>
00044
00045 _VAMP_SDK_HOSTSPACE_BEGIN(PluginSummarisingAdapter.h)
00046
00047 namespace Vamp {
00048
00049 namespace HostExt {
00050
00086 class PluginSummarisingAdapter : public PluginWrapper
00087 {
00088 public:
00094 PluginSummarisingAdapter(Plugin *plugin);
00095 virtual ~PluginSummarisingAdapter();
00096
00097 bool initialise(size_t channels, size_t stepSize, size_t blockSize);
00098
00099 void reset();
00100
00101 FeatureSet process(const float *const *inputBuffers, RealTime timestamp);
00102 FeatureSet getRemainingFeatures();
00103
00104 typedef std::set<RealTime> SegmentBoundaries;
00105
00119 void setSummarySegmentBoundaries(const SegmentBoundaries &);
00120
00121 enum SummaryType {
00122 Minimum = 0,
00123 Maximum = 1,
00124 Mean = 2,
00125 Median = 3,
00126 Mode = 4,
00127 Sum = 5,
00128 Variance = 6,
00129 StandardDeviation = 7,
00130 Count = 8,
00131
00132 UnknownSummaryType = 999
00133 };
00134
00157 enum AveragingMethod {
00158 SampleAverage = 0,
00159 ContinuousTimeAverage = 1
00160 };
00161
00170 FeatureList getSummaryForOutput(int output,
00171 SummaryType type,
00172 AveragingMethod method = SampleAverage);
00173
00183 FeatureSet getSummaryForAllOutputs(SummaryType type,
00184 AveragingMethod method = SampleAverage);
00185
00186 protected:
00187 class Impl;
00188 Impl *m_impl;
00189 };
00190
00191 }
00192
00193 }
00194
00195 _VAMP_SDK_HOSTSPACE_END(PluginSummarisingAdapter.h)
00196
00197 #endif