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