Chris@12: Chris@12: // This is a skeleton file for use in creating your own plugin Chris@12: // libraries. Replace MyPlugin and myPlugin throughout with the name Chris@12: // of your first plugin class, and fill in the gaps as appropriate. Chris@12: Chris@12: Chris@12: // Remember to use a different guard symbol in each header! Chris@12: #ifndef _MY_PLUGIN_H_ Chris@12: #define _MY_PLUGIN_H_ Chris@12: Chris@12: #include Chris@12: Chris@12: using std::string; Chris@12: Chris@12: Chris@12: class MyPlugin : public Vamp::Plugin Chris@12: { Chris@12: public: Chris@12: MyPlugin(float inputSampleRate); Chris@12: virtual ~MyPlugin(); Chris@12: Chris@12: string getIdentifier() const; Chris@12: string getName() const; Chris@12: string getDescription() const; Chris@12: string getMaker() const; Chris@12: int getPluginVersion() const; Chris@12: string getCopyright() const; Chris@12: Chris@12: InputDomain getInputDomain() const; Chris@12: size_t getPreferredBlockSize() const; Chris@12: size_t getPreferredStepSize() const; Chris@12: size_t getMinChannelCount() const; Chris@12: size_t getMaxChannelCount() const; Chris@12: Chris@12: ParameterList getParameterDescriptors() const; Chris@12: float getParameter(string identifier) const; Chris@12: void setParameter(string identifier, float value); Chris@12: Chris@12: ProgramList getPrograms() const; Chris@12: string getCurrentProgram() const; Chris@12: void selectProgram(string name); Chris@12: Chris@12: OutputList getOutputDescriptors() const; Chris@12: Chris@12: bool initialise(size_t channels, size_t stepSize, size_t blockSize); Chris@12: void reset(); Chris@12: Chris@12: FeatureSet process(const float *const *inputBuffers, Chris@12: Vamp::RealTime timestamp); Chris@12: Chris@12: FeatureSet getRemainingFeatures(); Chris@12: Chris@12: protected: Chris@12: // plugin-specific data and methods go here Chris@12: }; Chris@12: Chris@12: Chris@12: Chris@12: #endif