Mercurial > hg > svcore
diff data/fft/FFTDataServer.h @ 408:115f60df1e4d
* Speed up spectrogram painting by releasing mutex in FFTDataServer
while calculating data prior to writing it, and by adding whole-column
value query methods to FFT objects
* Add paint cache to Thumbwheel -- repaints of this widget were slowing
down the whole spectrogram repaint
* More uses of MutexLocker (named and with debug) and more profile
points
* Make startup much quicker some of the time, with OSC server in place
author | Chris Cannam |
---|---|
date | Thu, 08 May 2008 14:46:22 +0000 |
parents | 824ee993ca8d |
children | 3cc4b7cd2aa5 |
line wrap: on
line diff
--- a/data/fft/FFTDataServer.h Tue Apr 29 15:34:17 2008 +0000 +++ b/data/fft/FFTDataServer.h Thu May 08 14:46:22 2008 +0000 @@ -81,6 +81,10 @@ void getValuesAt(size_t x, size_t y, float &real, float &imaginary); bool isColumnReady(size_t x); + bool getMagnitudesAt(size_t x, float *values, size_t minbin = 0, size_t count = 0, size_t step = 1); + bool getNormalizedMagnitudesAt(size_t x, float *values, size_t minbin = 0, size_t count = 0, size_t step = 1); + bool getPhasesAt(size_t x, float *values, size_t minbin = 0, size_t count = 0, size_t step = 1); + void suspend(); void suspendWrites(); void resume(); // also happens automatically if new data needed @@ -194,7 +198,7 @@ FillThread *m_fillThread; void deleteProcessingData(); - void fillColumn(size_t x); + void fillColumn(size_t x, bool lockHeld); QString generateFileBasename() const; static QString generateFileBasename(const DenseTimeValueModel *model,