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