comparison NNLSChroma.h @ 0:8aa2e8b3a778 matthiasm-plugin

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