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