c@97: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ c@97: c@97: /* c@97: QM Vamp Plugin Set c@97: c@97: Centre for Digital Music, Queen Mary, University of London. c@97: This file copyright 2009 Thomas Wilmering. c@135: c@135: This program is free software; you can redistribute it and/or c@135: modify it under the terms of the GNU General Public License as c@135: published by the Free Software Foundation; either version 2 of the c@135: License, or (at your option) any later version. See the file c@135: COPYING included with this distribution for more information. c@97: */ c@97: c@97: #ifndef _DWT_PLUGIN_H_ c@97: #define _DWT_PLUGIN_H_ c@97: c@97: #include c@97: c@97: #include c@97: c@97: using std::vector; c@97: c@97: class DWT : public Vamp::Plugin c@97: { c@97: public: c@97: DWT(float inputSampleRate); c@97: virtual ~DWT(); c@97: c@97: bool initialise(size_t channels, size_t stepSize, size_t blockSize); c@97: void reset(); c@97: c@97: InputDomain getInputDomain() const { return TimeDomain; } c@97: c@97: std::string getIdentifier() const; c@97: std::string getName() const; c@97: std::string getDescription() const; c@97: std::string getMaker() const; c@97: int getPluginVersion() const; c@97: std::string getCopyright() const; c@129: size_t getPreferredBlockSize() const; c@97: size_t getPreferredStepSize() const; c@97: c@97: OutputList getOutputDescriptors() const; c@97: c@97: ParameterList getParameterDescriptors() const; c@97: float getParameter(std::string paramid) const; c@97: void setParameter(std::string paramid, float newval); c@97: c@97: FeatureSet process(const float *const *inputBuffers, c@97: Vamp::RealTime timestamp); c@97: c@97: FeatureSet getRemainingFeatures(); c@97: c@97: protected: c@97: size_t m_stepSize; c@97: size_t m_blockSize; c@97: c@97: int m_scales; c@97: int m_flength; c@97: Wavelet::Type m_wavelet; c@97: float m_threshold; c@97: float m_absolute; c@97: c@97: vector m_lpd; c@97: vector m_hpd; c@97: c@97: vector< vector > m_samplePass; c@97: }; c@97: c@97: c@97: #endif