annotate NNLSChroma.h @ 6:a5302cf1cdb3 matthiasm-plugin

added nnls header file
author matthiasm
date Tue, 01 Jun 2010 12:03:37 +0000
parents 8360483a026e
children 84db8ce38fd3
rev   line source
matthiasm@0 1
matthiasm@0 2 // Remember to use a different guard symbol in each header!
matthiasm@0 3 #ifndef _NNLS_CHROMA_
matthiasm@0 4 #define _NNLS_CHROMA_
matthiasm@0 5
matthiasm@0 6 #include <vamp-sdk/Plugin.h>
matthiasm@0 7 #include <list>
matthiasm@0 8 // #include "FFT.h"
matthiasm@0 9 using namespace std;
matthiasm@0 10
matthiasm@0 11 using std::string;
matthiasm@0 12
matthiasm@0 13 class ChordTranscriberData;
matthiasm@0 14
matthiasm@0 15
matthiasm@0 16
matthiasm@0 17 class NNLSChroma : public Vamp::Plugin
matthiasm@0 18 {
matthiasm@0 19 public:
matthiasm@0 20 NNLSChroma(float inputSampleRate);
matthiasm@0 21 virtual ~NNLSChroma();
matthiasm@0 22
matthiasm@0 23 string getIdentifier() const;
matthiasm@0 24 string getName() const;
matthiasm@0 25 string getDescription() const;
matthiasm@0 26 string getMaker() const;
matthiasm@0 27 int getPluginVersion() const;
matthiasm@0 28 string getCopyright() const;
matthiasm@0 29
matthiasm@0 30 InputDomain getInputDomain() const;
matthiasm@0 31 size_t getPreferredBlockSize() const;
matthiasm@0 32 size_t getPreferredStepSize() const;
matthiasm@0 33 size_t getMinChannelCount() const;
matthiasm@0 34 size_t getMaxChannelCount() const;
matthiasm@0 35
matthiasm@0 36 ParameterList getParameterDescriptors() const;
matthiasm@0 37 float getParameter(string identifier) const;
matthiasm@0 38 void setParameter(string identifier, float value);
matthiasm@0 39
matthiasm@0 40 ProgramList getPrograms() const;
matthiasm@0 41 string getCurrentProgram() const;
matthiasm@0 42 void selectProgram(string name);
matthiasm@0 43
matthiasm@0 44 OutputList getOutputDescriptors() const;
matthiasm@0 45
matthiasm@0 46 bool initialise(size_t channels, size_t stepSize, size_t blockSize);
matthiasm@0 47 void reset();
matthiasm@0 48
matthiasm@0 49 FeatureSet process(const float *const *inputBuffers,
matthiasm@0 50 Vamp::RealTime timestamp);
matthiasm@0 51
matthiasm@0 52 FeatureSet getRemainingFeatures();
matthiasm@0 53
matthiasm@0 54 protected:
matthiasm@0 55 // plugin-specific data and methods go here
matthiasm@0 56 int frameCount;
matthiasm@0 57 FeatureList m_fl;
matthiasm@0 58 size_t m_blockSize;
matthiasm@0 59 size_t m_stepSize;
matthiasm@0 60 int m_lengthOfNoteIndex;
matthiasm@0 61 float m_meanTuning0;
matthiasm@0 62 float m_meanTuning1;
matthiasm@0 63 float m_meanTuning2;
matthiasm@0 64 float m_localTuning0;
matthiasm@0 65 float m_localTuning1;
matthiasm@0 66 float m_localTuning2;
matthiasm@0 67 float m_paling;
matthiasm@3 68 float m_preset;
matthiasm@0 69 vector<float> m_localTuning;
matthiasm@0 70 vector<float> m_kernelValue;
matthiasm@0 71 vector<int> m_kernelFftIndex;
matthiasm@0 72 vector<int> m_kernelNoteIndex;
matthiasm@3 73 float *m_dict;
matthiasm@0 74 bool m_tuneLocal;
matthiasm@0 75 int m_dictID;
matthiasm@3 76 // list< vector< float > > *logfreqSpecList;
matthiasm@0 77 };
matthiasm@0 78
matthiasm@0 79
matthiasm@0 80
matthiasm@0 81 #endif