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