#include <vamp-sdk/Plugin.h>
#include <aubio/aubio.h>
+#include "Types.h"
+
class Pitch : 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;
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;
- aubio_pitchdetection_t *m_pitchdet;
- aubio_pitchdetection_type m_pitchtype;
- aubio_pitchdetection_mode m_pitchmode;
+ fvec_t *m_obuf;
+ aubio_pitch_t *m_pitchdet;
+ PitchType m_pitchtype;
+ float m_minfreq;
+ float m_maxfreq;
+ float m_silence;
+ bool m_wrapRange;
+
size_t m_stepSize;
size_t m_blockSize;
- size_t m_channelCount;
};