annotate VampYin.h @ 2:3a588ec86a82

These don't need to be mutable (not that it makes much difference)
author Chris Cannam
date Thu, 28 Nov 2013 13:08:12 +0000
parents 99bac62ee2da
children 5945b8905d1f
rev   line source
matthiasm@0 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
matthiasm@0 2 /*
matthiasm@0 3 This file is Copyright (c) 2012 Matthias Mauch
matthiasm@0 4
matthiasm@0 5 */
matthiasm@0 6
matthiasm@0 7 #ifndef _VAMPYIN_H_
matthiasm@0 8 #define _VAMPYIN_H_
matthiasm@0 9
matthiasm@0 10 #include <vamp-sdk/Plugin.h>
matthiasm@0 11
matthiasm@0 12 #include "Yin.h"
matthiasm@0 13
matthiasm@0 14 class VampYin : public Vamp::Plugin
matthiasm@0 15 {
matthiasm@0 16 public:
matthiasm@0 17 VampYin(float inputSampleRate);
matthiasm@0 18 virtual ~VampYin();
matthiasm@0 19
matthiasm@0 20 std::string getIdentifier() const;
matthiasm@0 21 std::string getName() const;
matthiasm@0 22 std::string getDescription() const;
matthiasm@0 23 std::string getMaker() const;
matthiasm@0 24 int getPluginVersion() const;
matthiasm@0 25 std::string getCopyright() const;
matthiasm@0 26
matthiasm@0 27 InputDomain getInputDomain() const;
matthiasm@0 28 size_t getPreferredBlockSize() const;
matthiasm@0 29 size_t getPreferredStepSize() const;
matthiasm@0 30 size_t getMinChannelCount() const;
matthiasm@0 31 size_t getMaxChannelCount() const;
matthiasm@0 32
matthiasm@0 33 ParameterList getParameterDescriptors() const;
matthiasm@0 34 float getParameter(std::string identifier) const;
matthiasm@0 35 void setParameter(std::string identifier, float value);
matthiasm@0 36
matthiasm@0 37 ProgramList getPrograms() const;
matthiasm@0 38 std::string getCurrentProgram() const;
matthiasm@0 39 void selectProgram(std::string name);
matthiasm@0 40
matthiasm@0 41 OutputList getOutputDescriptors() const;
matthiasm@0 42
matthiasm@0 43 bool initialise(size_t channels, size_t stepSize, size_t blockSize);
matthiasm@0 44 void reset();
matthiasm@0 45
matthiasm@0 46 FeatureSet process(const float *const *inputBuffers,
matthiasm@0 47 Vamp::RealTime timestamp);
matthiasm@0 48
matthiasm@0 49 FeatureSet getRemainingFeatures();
matthiasm@0 50
matthiasm@0 51 protected:
matthiasm@0 52 size_t m_channels;
matthiasm@0 53 size_t m_stepSize;
matthiasm@0 54 size_t m_blockSize;
matthiasm@0 55 float m_fmin;
matthiasm@0 56 float m_fmax;
matthiasm@0 57 Yin m_yin;
matthiasm@0 58
matthiasm@0 59 mutable int m_outNoF0;
matthiasm@0 60 mutable int m_outNoPeriodicity;
matthiasm@0 61 mutable int m_outNoRms;
matthiasm@0 62 mutable int m_outNoSalience;
Chris@2 63
Chris@2 64 float m_yinParameter;
Chris@2 65 float m_outputUnvoiced;
matthiasm@0 66 };
matthiasm@0 67
matthiasm@0 68 #endif