comparison layer/SpectrogramLayer.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 1deb5f87a18c
children 202d1dca67d2
comparison
equal deleted inserted replaced
24:6b794a2af3d9 25:dcdb21b62dbb
49 virtual void paint(QPainter &paint, QRect rect) const; 49 virtual void paint(QPainter &paint, QRect rect) const;
50 50
51 virtual int getVerticalScaleWidth(QPainter &) const; 51 virtual int getVerticalScaleWidth(QPainter &) const;
52 virtual void paintVerticalScale(QPainter &paint, QRect rect) const; 52 virtual void paintVerticalScale(QPainter &paint, QRect rect) const;
53 53
54 virtual QRect getFeatureDescriptionRect(QPainter &, QPoint) const; 54 virtual QString getFeatureDescription(QPoint &) const;
55 virtual void paintLocalFeatureDescription(QPainter &, QRect, QPoint) const;
56 55
57 virtual int getNearestFeatureFrame(int frame, 56 virtual int getNearestFeatureFrame(int frame,
58 size_t &resolution, 57 size_t &resolution,
59 bool snapRight = true) const; 58 bool snapRight = true) const;
60 59