annotate skeleton/MyPlugin.h @ 354:e85513153c71

Initialise rate to 0. Otherwise there's a danger plugins will change the SampleType (e.g. to VariableSampleRate) but not set the rate because they don't think they need it (when in fact it needs to be set to 0)
author Chris Cannam
date Thu, 28 Mar 2013 15:49:17 +0000
parents 6c9f10b8a53a
children 6c38ae0a25e5
rev   line source
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