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