adamstark@61
|
1
|
adamstark@61
|
2 // This is a skeleton file for use in creating your own plugin
|
adamstark@61
|
3 // libraries. Replace MyPlugin and myPlugin throughout with the name
|
adamstark@61
|
4 // of your first plugin class, and fill in the gaps as appropriate.
|
adamstark@61
|
5
|
adamstark@61
|
6
|
adamstark@61
|
7 // Remember to use a different guard symbol in each header!
|
adamstark@61
|
8 #ifndef _BTRACK_VAMP_H_
|
adamstark@61
|
9 #define _BTRACK_VAMP_H_
|
adamstark@61
|
10
|
adamstark@61
|
11 #include <vamp-sdk/Plugin.h>
|
adamstark@61
|
12 #include "../../src/BTrack.h"
|
adamstark@61
|
13
|
adamstark@61
|
14 using std::string;
|
adamstark@61
|
15
|
adamstark@61
|
16
|
adamstark@61
|
17 class BTrackVamp : public Vamp::Plugin
|
adamstark@61
|
18 {
|
adamstark@61
|
19 public:
|
adamstark@61
|
20 BTrackVamp(float inputSampleRate);
|
adamstark@61
|
21 virtual ~BTrackVamp();
|
adamstark@61
|
22
|
adamstark@61
|
23 string getIdentifier() const;
|
adamstark@61
|
24 string getName() const;
|
adamstark@61
|
25 string getDescription() const;
|
adamstark@61
|
26 string getMaker() const;
|
adamstark@61
|
27 int getPluginVersion() const;
|
adamstark@61
|
28 string getCopyright() const;
|
adamstark@61
|
29
|
adamstark@61
|
30 InputDomain getInputDomain() const;
|
adamstark@61
|
31 size_t getPreferredBlockSize() const;
|
adamstark@61
|
32 size_t getPreferredStepSize() const;
|
adamstark@61
|
33 size_t getMinChannelCount() const;
|
adamstark@61
|
34 size_t getMaxChannelCount() const;
|
adamstark@61
|
35
|
adamstark@61
|
36 ParameterList getParameterDescriptors() const;
|
adamstark@61
|
37 float getParameter(string identifier) const;
|
adamstark@61
|
38 void setParameter(string identifier, float value);
|
adamstark@61
|
39
|
adamstark@61
|
40 ProgramList getPrograms() const;
|
adamstark@61
|
41 string getCurrentProgram() const;
|
adamstark@61
|
42 void selectProgram(string name);
|
adamstark@61
|
43
|
adamstark@61
|
44 OutputList getOutputDescriptors() const;
|
adamstark@61
|
45
|
adamstark@61
|
46 bool initialise(size_t channels, size_t stepSize, size_t blockSize);
|
adamstark@61
|
47 void reset();
|
adamstark@61
|
48
|
adamstark@61
|
49 FeatureSet process(const float *const *inputBuffers,
|
adamstark@61
|
50 Vamp::RealTime timestamp);
|
adamstark@61
|
51
|
adamstark@61
|
52 FeatureSet getRemainingFeatures();
|
adamstark@61
|
53
|
adamstark@61
|
54 protected:
|
adamstark@61
|
55 // plugin-specific data and methods go here
|
adamstark@61
|
56
|
adamstark@61
|
57 BTrack b;
|
adamstark@61
|
58
|
adamstark@61
|
59 int m_stepSize;
|
adamstark@61
|
60 int m_blockSize;
|
adamstark@61
|
61 };
|
adamstark@61
|
62
|
adamstark@61
|
63
|
adamstark@61
|
64
|
adamstark@61
|
65 #endif
|