Mercurial > hg > qm-dsp
annotate dsp/tonal/TCSgram.h @ 495:1bea13b8f951
Style fixes in constant-Q: avoid unsigned, reuse our Window class, fix
comments
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Fri, 31 May 2019 18:25:31 +0100 |
parents | 701233f8ed41 |
children |
rev | line source |
---|---|
c@225 | 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ |
c@225 | 2 |
c@225 | 3 /* |
c@225 | 4 QM DSP Library |
c@225 | 5 |
c@225 | 6 Centre for Digital Music, Queen Mary, University of London. |
c@225 | 7 This file copyright 2006 Martin Gasser. |
c@309 | 8 |
c@309 | 9 This program is free software; you can redistribute it and/or |
c@309 | 10 modify it under the terms of the GNU General Public License as |
c@309 | 11 published by the Free Software Foundation; either version 2 of the |
c@309 | 12 License, or (at your option) any later version. See the file |
c@309 | 13 COPYING included with this distribution for more information. |
c@225 | 14 */ |
c@225 | 15 |
cannam@489 | 16 #ifndef QM_DSP_TCSGRAM_H |
cannam@489 | 17 #define QM_DSP_TCSGRAM_H |
c@225 | 18 |
c@225 | 19 #include <vector> |
c@225 | 20 #include <valarray> |
c@225 | 21 #include <utility> |
c@225 | 22 |
c@225 | 23 #include "TonalEstimator.h" |
c@225 | 24 |
c@225 | 25 typedef std::vector<std::pair<long, TCSVector> > vectorlist_t; |
c@225 | 26 |
c@225 | 27 class TCSGram |
c@225 | 28 { |
cannam@482 | 29 public: |
cannam@482 | 30 TCSGram(); |
cannam@482 | 31 ~TCSGram(); |
cannam@482 | 32 void getTCSVector(int, TCSVector&) const; |
cannam@482 | 33 void addTCSVector(const TCSVector&); |
cannam@482 | 34 long getTime(size_t) const; |
cannam@482 | 35 long getDuration() const; |
cannam@482 | 36 void printDebug(); |
cannam@482 | 37 int getSize() const { return m_VectorList.size(); } |
cannam@482 | 38 void reserve(size_t uSize) { m_VectorList.reserve(uSize); } |
cannam@482 | 39 void clear() { m_VectorList.clear(); } |
cannam@482 | 40 void setFrameDuration(const double dFrameDurationMS) { |
cannam@482 | 41 m_dFrameDurationMS = dFrameDurationMS; |
cannam@482 | 42 } |
cannam@482 | 43 void setNumBins(const unsigned int uNumBins) { |
cannam@482 | 44 m_uNumBins = uNumBins; |
cannam@482 | 45 } |
cannam@482 | 46 void normalize(); |
c@225 | 47 protected: |
cannam@482 | 48 vectorlist_t m_VectorList; |
cannam@482 | 49 unsigned int m_uNumBins; |
cannam@482 | 50 double m_dFrameDurationMS; |
c@225 | 51 }; |
c@225 | 52 |
c@225 | 53 #endif |