annotate plugins/BeatDetect.h @ 0:3f318eae66a2

* Queen Mary plugin collection for the Vamp plugin API
author Chris Cannam <c.cannam@qmul.ac.uk>
date Wed, 05 Apr 2006 17:34:40 +0000
parents
children 991d0fe8bb27
rev   line source
c@0 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
c@0 2
c@0 3 /*
c@0 4 QM Vamp Plugin Set
c@0 5
c@0 6 Centre for Digital Music, Queen Mary, University of London.
c@0 7 All rights reserved.
c@0 8 */
c@0 9
c@0 10 //!!! This guard inadequate, must be unique to plugin if plugin is to
c@0 11 //be compilable in with app as well as being, well, a plugin
c@0 12 #ifndef _BEAT_DETECT_PLUGIN_H_
c@0 13 #define _BEAT_DETECT_PLUGIN_H_
c@0 14
c@0 15 #include "vamp-sdk/Plugin.h"
c@0 16
c@0 17 class BeatDetectorData;
c@0 18
c@0 19 class BeatDetector : public Vamp::Plugin
c@0 20 {
c@0 21 public:
c@0 22 BeatDetector(float inputSampleRate);
c@0 23 virtual ~BeatDetector();
c@0 24
c@0 25 bool initialise(size_t channels, size_t stepSize, size_t blockSize);
c@0 26 void reset();
c@0 27
c@0 28 InputDomain getInputDomain() const { return TimeDomain; }
c@0 29
c@0 30 std::string getName() const;
c@0 31 std::string getDescription() const;
c@0 32 std::string getMaker() const;
c@0 33 int getPluginVersion() const;
c@0 34 std::string getCopyright() const;
c@0 35
c@0 36 ParameterList getParameterDescriptors() const;
c@0 37 float getParameter(std::string) const;
c@0 38 void setParameter(std::string, float);
c@0 39
c@0 40 size_t getPreferredStepSize() const;
c@0 41 size_t getPreferredBlockSize() const;
c@0 42
c@0 43 OutputList getOutputDescriptors() const;
c@0 44
c@0 45 FeatureSet process(float **inputBuffers, Vamp::RealTime timestamp);
c@0 46
c@0 47 FeatureSet getRemainingFeatures();
c@0 48
c@0 49 protected:
c@0 50 BeatDetectorData *m_d;
c@0 51 int m_dfType;
c@0 52 static float m_stepSecs;
c@0 53 };
c@0 54
c@0 55
c@0 56 #endif