annotate plugins/OnsetDetect.h @ 27:3256bfa04ed8

* split out tempo/beat/onset plugin into tempo/beat and onset
author Chris Cannam <c.cannam@qmul.ac.uk>
date Mon, 21 May 2007 13:09:12 +0000
parents
children 56fe3bd9de6e
rev   line source
c@27 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
c@27 2
c@27 3 /*
c@27 4 QM Vamp Plugin Set
c@27 5
c@27 6 Centre for Digital Music, Queen Mary, University of London.
c@27 7 All rights reserved.
c@27 8 */
c@27 9
c@27 10 #ifndef _ONSET_DETECT_PLUGIN_H_
c@27 11 #define _ONSET_DETECT_PLUGIN_H_
c@27 12
c@27 13 #include <vamp-sdk/Plugin.h>
c@27 14
c@27 15 class OnsetDetectorData;
c@27 16
c@27 17 class OnsetDetector : public Vamp::Plugin
c@27 18 {
c@27 19 public:
c@27 20 OnsetDetector(float inputSampleRate);
c@27 21 virtual ~OnsetDetector();
c@27 22
c@27 23 bool initialise(size_t channels, size_t stepSize, size_t blockSize);
c@27 24 void reset();
c@27 25
c@27 26 InputDomain getInputDomain() const { return FrequencyDomain; }
c@27 27
c@27 28 std::string getIdentifier() const;
c@27 29 std::string getName() const;
c@27 30 std::string getDescription() const;
c@27 31 std::string getMaker() const;
c@27 32 int getPluginVersion() const;
c@27 33 std::string getCopyright() const;
c@27 34
c@27 35 ParameterList getParameterDescriptors() const;
c@27 36 float getParameter(std::string) const;
c@27 37 void setParameter(std::string, float);
c@27 38
c@27 39 size_t getPreferredStepSize() const;
c@27 40 size_t getPreferredBlockSize() const;
c@27 41
c@27 42 OutputList getOutputDescriptors() const;
c@27 43
c@27 44 FeatureSet process(const float *const *inputBuffers,
c@27 45 Vamp::RealTime timestamp);
c@27 46
c@27 47 FeatureSet getRemainingFeatures();
c@27 48
c@27 49 protected:
c@27 50 OnsetDetectorData *m_d;
c@27 51 int m_dfType;
c@27 52 float m_sensitivity;
c@27 53 static float m_stepSecs;
c@27 54 };
c@27 55
c@27 56
c@27 57 #endif