Mercurial > hg > svgui
diff layer/SpectrogramLayer.cpp @ 91:ed01c1261b55
* add a column bitmap to the matrix file object to record which columns
are available (optimisation for refreshing during fft creation)
author | Chris Cannam |
---|---|
date | Mon, 08 May 2006 13:51:16 +0000 |
parents | 7d06e7cf5d5a |
children | 23d1e37bbfb4 |
line wrap: on
line diff
--- a/layer/SpectrogramLayer.cpp Fri May 05 14:10:12 2006 +0000 +++ b/layer/SpectrogramLayer.cpp Mon May 08 13:51:16 2006 +0000 @@ -33,7 +33,7 @@ #include <cassert> #include <cmath> -//#define DEBUG_SPECTROGRAM_REPAINT 1 +#define DEBUG_SPECTROGRAM_REPAINT 1 static double mod(double x, double y) { @@ -1654,6 +1654,8 @@ for (int s = s0i; s <= s1i; ++s) { if (s >= 0 && q >= 0 && s < cw && q < ch) { + if (!m_cache->haveColumnAt(s)) continue; + float value; value = m_cache->getPhaseAt(s, q); @@ -1905,6 +1907,18 @@ s1i = s0i; } } + + bool haveColumn = false; + for (size_t s = s0i; s <= s1i; ++s) { + if (m_cache->haveColumnAt(s)) { + haveColumn = true; + break; + } + } + if (!haveColumn) { + m_mutex.unlock(); + continue; + } for (size_t q = minbin; q < bins; ++q) {