comparison layer/WaveformLayer.h @ 25:dcdb21b62dbb

* Refactor sparse models. Previously the 1D and time-value models duplicated a lot of code; now there is a base class (SparseModel) templated on the stored point type, and the subclasses define point types with the necessary characteristics. * Add NoteModel, a new SparseModel subclass. * Reorganise local feature description display. Instead of asking the layer to draw its own, just query it for a textual description and draw that in Pane. Greatly simplifies this part of the layer code. * Add local feature descriptions to colour 3D plot and waveform layers. * Add pitch in MIDI-pitch-and-cents to spectrogram layer. * Give AudioGenerator its own mutex to shorten lock times in CallbackPlaySource. * Minor adjustments to layers menu &c
author Chris Cannam
date Thu, 02 Feb 2006 16:10:19 +0000
parents 0183ebb725ca
children ea6fe8cfcdd5
comparison
equal deleted inserted replaced
24:6b794a2af3d9 25:dcdb21b62dbb
30 ~WaveformLayer(); 30 ~WaveformLayer();
31 31
32 virtual const ZoomConstraint *getZoomConstraint() const { return m_model; } 32 virtual const ZoomConstraint *getZoomConstraint() const { return m_model; }
33 virtual const Model *getModel() const { return m_model; } 33 virtual const Model *getModel() const { return m_model; }
34 virtual void paint(QPainter &paint, QRect rect) const; 34 virtual void paint(QPainter &paint, QRect rect) const;
35
36 virtual QString getFeatureDescription(QPoint &) const;
35 37
36 virtual int getVerticalScaleWidth(QPainter &) const; 38 virtual int getVerticalScaleWidth(QPainter &) const;
37 virtual void paintVerticalScale(QPainter &paint, QRect rect) const; 39 virtual void paintVerticalScale(QPainter &paint, QRect rect) const;
38 40
39 void setModel(const RangeSummarisableTimeValueModel *model); 41 void setModel(const RangeSummarisableTimeValueModel *model);