Mercurial > hg > svcore
diff data/model/FFTModel.h @ 1837:1b688ab5f1b3
Unify various vectors to our base floatvec_t type; store columns in fft model cache at their desired height so we can return a reference (speeding up the peak-frequency spectrogram in particular)
author | Chris Cannam |
---|---|
date | Thu, 09 Apr 2020 11:22:55 +0100 |
parents | 21c792334c2e |
children |
line wrap: on
line diff
--- a/data/model/FFTModel.h Mon Apr 06 13:55:44 2020 +0100 +++ b/data/model/FFTModel.h Thu Apr 09 11:22:55 2020 +0100 @@ -193,28 +193,26 @@ return { startFrame, endFrame }; } - typedef std::vector<float, breakfastquay::StlAllocator<float>> fvec; - typedef std::vector<std::complex<float>, - breakfastquay::StlAllocator<std::complex<float>>> cvec; - - cvec getFFTColumn(int column) const; - fvec getSourceSamples(int column) const; - fvec getSourceData(std::pair<sv_frame_t, sv_frame_t>) const; - fvec getSourceDataUncached(std::pair<sv_frame_t, sv_frame_t>) const; + const complexvec_t &getFFTColumn(int column) const; + floatvec_t getSourceSamples(int column) const; + floatvec_t getSourceData(std::pair<sv_frame_t, sv_frame_t>) const; + floatvec_t getSourceDataUncached(std::pair<sv_frame_t, sv_frame_t>) const; struct SavedSourceData { std::pair<sv_frame_t, sv_frame_t> range; - fvec data; + floatvec_t data; }; mutable SavedSourceData m_savedData; struct SavedColumn { int n; - cvec col; + complexvec_t col; }; mutable std::vector<SavedColumn> m_cached; mutable size_t m_cacheWriteIndex; size_t m_cacheSize; + + void clearCaches(); }; #endif