annotate dsp/keydetection/GetKeyMode.h @ 189:e4a57215ddee

Fix compiler warnings with -Wall -Wextra
author Chris Cannam
date Mon, 28 Sep 2015 12:33:17 +0100
parents 715f779d0b4f
children e7e36ecd7ad2
rev   line source
cannam@7 1 /*
Chris@153 2 Copyright (c) 2005 Centre for Digital Music ( C4DM )
Chris@153 3 Queen Mary Univesrity of London
Chris@153 4
Chris@153 5 This program is free software; you can redistribute it and/or
Chris@153 6 modify it under the terms of the GNU General Public License as
Chris@153 7 published by the Free Software Foundation; either version 2 of the
Chris@153 8 License, or (at your option) any later version. See the file
Chris@153 9 COPYING included with this distribution for more information.
cannam@7 10 */
cannam@7 11
cannam@40 12 #ifndef GETKEYMODE_H
cannam@7 13 #define GETKEYMODE_H
cannam@7 14
cannam@7 15
cannam@7 16 #include "dsp/rateconversion/Decimator.h"
cannam@7 17 #include "dsp/chromagram/Chromagram.h"
cannam@7 18
cannam@7 19
cannam@7 20 class GetKeyMode
cannam@7 21 {
cannam@7 22 public:
cannam@9 23 GetKeyMode( int sampleRate, float tuningFrequency,
cannam@9 24 double hpcpAverage, double medianAverage );
cannam@7 25
cannam@7 26 virtual ~GetKeyMode();
cannam@7 27
cannam@7 28 int process( double* PCMData );
cannam@7 29
cannam@7 30 double krumCorr( double* pData1, double* pData2, unsigned int length );
cannam@7 31
cannam@7 32 unsigned int getBlockSize() { return m_ChromaFrameSize*m_DecimationFactor; }
cannam@7 33 unsigned int getHopSize() { return m_ChromaHopSize*m_DecimationFactor; }
cannam@7 34
cannam@7 35 double* getChroma() { return m_ChrPointer; }
cannam@7 36 unsigned int getChromaSize() { return m_BPO; }
cannam@7 37
cannam@7 38 double* getMeanHPCP() { return m_MeanHPCP; }
cannam@7 39
cannam@40 40 double *getKeyStrengths() { return m_keyStrengths; }
cannam@40 41
cannam@43 42 bool isModeMinor( int key );
cannam@7 43
cannam@7 44 protected:
cannam@7 45
cannam@7 46 double m_hpcpAverage;
cannam@7 47 double m_medianAverage;
cannam@7 48 unsigned int m_DecimationFactor;
cannam@7 49
cannam@7 50 //Decimator (fixed)
cannam@7 51 Decimator* m_Decimator;
cannam@7 52
cannam@7 53 //chroma configuration
cannam@9 54 ChromaConfig m_ChromaConfig;
cannam@7 55
cannam@7 56 //Chromagram object
cannam@7 57 Chromagram* m_Chroma;
cannam@7 58
cannam@7 59 //Chromagram output pointer
cannam@7 60 double* m_ChrPointer;
cannam@7 61
cannam@7 62 //Framesize
cannam@7 63 unsigned int m_ChromaFrameSize;
cannam@7 64 //Hop
cannam@7 65 unsigned int m_ChromaHopSize;
cannam@7 66 //Bins per octave
cannam@7 67 unsigned int m_BPO;
cannam@7 68
cannam@7 69
cannam@7 70 unsigned int m_ChromaBuffersize;
cannam@7 71 unsigned int m_MedianWinsize;
cannam@7 72
cannam@7 73 unsigned int m_bufferindex;
cannam@7 74 unsigned int m_ChromaBufferFilling;
cannam@7 75 unsigned int m_MedianBufferFilling;
cannam@7 76
cannam@7 77
cannam@7 78 double* m_DecimatedBuffer;
cannam@7 79 double* m_ChromaBuffer;
cannam@7 80 double* m_MeanHPCP;
cannam@7 81
cannam@7 82 double* m_MajCorr;
cannam@7 83 double* m_MinCorr;
cannam@7 84 double* m_Keys;
cannam@7 85 int* m_MedianFilterBuffer;
cannam@7 86 int* m_SortedBuffer;
cannam@40 87
cannam@40 88 double *m_keyStrengths;
cannam@7 89 };
cannam@7 90
cannam@7 91 #endif // !defined GETKEYMODE_H