#include <vamp-sdk/Plugin.h>
#include <aubio/aubio.h>
+#include "Types.h"
+
class Tempo : public Vamp::Plugin
{
public:
InputDomain getInputDomain() const { return TimeDomain; }
+ std::string getIdentifier() const;
std::string getName() const;
std::string getDescription() const;
std::string getMaker() const;
protected:
fvec_t *m_ibuf;
- cvec_t *m_fftgrain;
- fvec_t *m_onset;
- aubio_pvoc_t *m_pv;
- aubio_pickpeak_t *m_peakpick;
- aubio_onsetdetection_t *m_onsetdet;
- aubio_onsetdetection_type m_onsettype;
- aubio_beattracking_t *m_beattracking;
- fvec_t *m_dfframe;
- fvec_t *m_btout;
- uint_t m_winlen;
- sint_t m_btstep;
- sint_t m_btcounter;
+ fvec_t *m_beat;
+ smpl_t m_bpm;
+ OnsetType m_onsettype;
+ aubio_tempo_t *m_tempo;
float m_threshold;
float m_silence;
size_t m_stepSize;
size_t m_blockSize;
- size_t m_channelCount;
Vamp::RealTime m_delay;
Vamp::RealTime m_lastBeat;
};