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