bbc-vamp-plugins  1.0
Peaks.h
1 
18 #ifndef _PEAKS_H_
19 #define _PEAKS_H_
20 
21 #include <cmath>
22 #include <vector>
23 #include <vamp-sdk/Plugin.h>
24 
25 using std::string;
26 using std::vector;
27 
28 class Peaks : public Vamp::Plugin
29 {
30 public:
32  Peaks(float inputSampleRate);
33  virtual ~Peaks();
34  string getIdentifier() const;
35  string getName() const;
36  string getDescription() const;
37  string getMaker() const;
38  int getPluginVersion() const;
39  string getCopyright() const;
40  InputDomain getInputDomain() const;
41  size_t getPreferredBlockSize() const;
42  size_t getPreferredStepSize() const;
43  size_t getMinChannelCount() const;
44  size_t getMaxChannelCount() const;
45  ParameterList getParameterDescriptors() const;
46  float getParameter(string identifier) const;
47  void setParameter(string identifier,
48  float value);
49  ProgramList getPrograms() const;
50  string getCurrentProgram() const;
51  void selectProgram(string name);
52  OutputList getOutputDescriptors() const;
53  bool initialise(size_t channels,
54  size_t stepSize,
55  size_t blockSize);
56  void reset();
57  FeatureSet process(const float *const *inputBuffers,
58  Vamp::RealTime timestamp);
59  FeatureSet getRemainingFeatures();
61 
62 protected:
64  int m_blockSize, m_stepSize;
66 };
67 
68 
69 
70 #endif
Definition: Peaks.h:28