comparison layer/SpectrogramLayer.h @ 9:561be41ad083

* Tweaked up spectrogram and added a colourmap rotation option * Fleshed out the SV file reader code -- now we just need to hook it up and watch it fall over
author Chris Cannam
date Mon, 16 Jan 2006 18:04:09 +0000
parents 02aaea1ffaf7
children 2d5005f2b3d9
comparison
equal deleted inserted replaced
8:06bba0b79b1c 9:561be41ad083
116 RedOnBlue, YellowOnBlack, RedOnBlack }; 116 RedOnBlue, YellowOnBlack, RedOnBlack };
117 117
118 void setColourScheme(ColourScheme scheme); 118 void setColourScheme(ColourScheme scheme);
119 ColourScheme getColourScheme() const; 119 ColourScheme getColourScheme() const;
120 120
121 /**
122 * Specify the colourmap rotation for the colour scale.
123 */
124 void setColourRotation(int);
125 int getColourRotation() const;
126
121 virtual VerticalPosition getPreferredFrameCountPosition() const { 127 virtual VerticalPosition getPreferredFrameCountPosition() const {
122 return PositionTop; 128 return PositionTop;
123 } 129 }
124 130
125 virtual int getCompletion() const; 131 virtual int getCompletion() const;
141 int m_channel; 147 int m_channel;
142 size_t m_windowSize; 148 size_t m_windowSize;
143 WindowType m_windowType; 149 WindowType m_windowType;
144 size_t m_windowOverlap; 150 size_t m_windowOverlap;
145 float m_gain; 151 float m_gain;
152 int m_colourRotation;
146 size_t m_maxFrequency; 153 size_t m_maxFrequency;
147 ColourScale m_colourScale; 154 ColourScale m_colourScale;
148 ColourScheme m_colourScheme; 155 ColourScheme m_colourScheme;
149 FrequencyScale m_frequencyScale; 156 FrequencyScale m_frequencyScale;
150 157
182 size_t m_lastFillExtent; 189 size_t m_lastFillExtent;
183 bool m_cachedInitialVisibleArea; 190 bool m_cachedInitialVisibleArea;
184 bool m_exiting; 191 bool m_exiting;
185 192
186 void setCacheColourmap(); 193 void setCacheColourmap();
194 void rotateCacheColourmap(int distance);
187 195
188 bool fillCacheColumn(int column, 196 bool fillCacheColumn(int column,
189 double *inputBuffer, 197 double *inputBuffer,
190 fftw_complex *outputBuffer, 198 fftw_complex *outputBuffer,
191 fftw_plan plan, 199 fftw_plan plan,
200 size_t windowSize,
201 size_t windowIncrement,
192 const Window<double> &windower, 202 const Window<double> &windower,
193 bool lock) 203 bool lock)
194 const; 204 const;
195 205
196 bool getYBinRange(int y, float &freqBinMin, float &freqBinMax) const; 206 bool getYBinRange(int y, float &freqBinMin, float &freqBinMax) const;