# HG changeset patch # User Chris Cannam # Date 1168613358 0 # Node ID fb8ddd00f44010430c724c9042313cdf3d7c71d9 # Parent e2bbb58e6df6095932d84962d1a1d44e668b1a08 * better icon * support range mappers in thumbwheel * supply range mapper for vertical zoom from spectrogram * fix bug in fftmodel for scaled ffts * make the various widgets all respond to double-click for edit, middle-click for reset, ctrl-left-click for reset diff -r e2bbb58e6df6 -r fb8ddd00f440 data/model/FFTModel.h --- a/data/model/FFTModel.h Thu Jan 11 13:29:58 2007 +0000 +++ b/data/model/FFTModel.h Fri Jan 12 14:49:18 2007 +0000 @@ -59,7 +59,13 @@ return m_server->getWidth() >> m_xshift; } virtual size_t getHeight() const { - return m_server->getHeight() >> m_yshift; + // If there is no y-shift, the server's height (based on its + // fftsize/2 + 1) is correct. If there is a shift, then the + // server is using a larger fft size than we want, so we shift + // it right as many times as necessary, but then we need to + // re-add the "+1" part (because ((fftsize*2)/2 + 1) / 2 != + // fftsize/2 + 1). + return (m_server->getHeight() >> m_yshift) + (m_yshift > 0 ? 1 : 0); } virtual float getValueAt(size_t x, size_t y) const { return const_cast(this)->getMagnitudeAt(x, y);