comparison layer/TimeInstantLayer.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 ca57f70b0e48
children 202d1dca67d2
comparison
equal deleted inserted replaced
24:6b794a2af3d9 25:dcdb21b62dbb
26 public: 26 public:
27 TimeInstantLayer(View *w); 27 TimeInstantLayer(View *w);
28 28
29 virtual void paint(QPainter &paint, QRect rect) const; 29 virtual void paint(QPainter &paint, QRect rect) const;
30 30
31 virtual QRect getFeatureDescriptionRect(QPainter &, QPoint) const; 31 virtual QString getFeatureDescription(QPoint &) const;
32 virtual void paintLocalFeatureDescription(QPainter &, QRect, QPoint) const;
33 32
34 virtual int getNearestFeatureFrame(int frame, 33 virtual int getNearestFeatureFrame(int frame,
35 size_t &resolution, 34 size_t &resolution,
36 bool snapRight = true) const; 35 bool snapRight = true) const;
37 36