Mercurial > hg > nnls-chroma
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 |