annotate plugins/BarBeatTrack.h @ 89:f4a2f5aa743c

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