#define _ONSET_PLUGIN_H_
#include <vamp-sdk/Plugin.h>
-#include <aubio/aubio.h>
+#include <aubio.h>
+
+#include "Types.h"
class Onset : public Vamp::Plugin
{
InputDomain getInputDomain() const { return TimeDomain; }
+ std::string getIdentifier() const;
std::string getName() const;
std::string getDescription() const;
std::string getMaker() const;
OutputList getOutputDescriptors() const;
- FeatureSet process(float **inputBuffers, Vamp::RealTime timestamp);
+ FeatureSet process(const float *const *inputBuffers,
+ Vamp::RealTime timestamp);
FeatureSet getRemainingFeatures();
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_onset_t *m_onsetdet;
+ OnsetType m_onsettype;
float m_threshold;
float m_silence;
+ float m_minioi;
size_t m_stepSize;
size_t m_blockSize;
- size_t m_channelCount;
+ Vamp::RealTime m_delay;
+ Vamp::RealTime m_lastOnset;
};