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