comparison base/View.cpp @ 20:742e6882e187

* 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 a7ed14263fe4
children 5da86cc182bd
comparison
equal deleted inserted replaced
19:a7ed14263fe4 20:742e6882e187
513 if (m_playPointerFrame == f) return; 513 if (m_playPointerFrame == f) return;
514 bool visible = (getXForFrame(m_playPointerFrame) != getXForFrame(f)); 514 bool visible = (getXForFrame(m_playPointerFrame) != getXForFrame(f));
515 size_t oldPlayPointerFrame = m_playPointerFrame; 515 size_t oldPlayPointerFrame = m_playPointerFrame;
516 m_playPointerFrame = f; 516 m_playPointerFrame = f;
517 if (!visible) return; 517 if (!visible) return;
518
519 if (QApplication::keyboardModifiers() != Qt::NoModifier) {
520 std::cerr << "View::viewManagerPlaybackFrameChanged: modifiers == "
521 << QApplication::keyboardModifiers()
522 << std::endl;
523 }
518 524
519 switch (m_followPlay) { 525 switch (m_followPlay) {
520 526
521 case PlaybackScrollContinuous: 527 case PlaybackScrollContinuous:
522 if (QApplication::mouseButtons() == Qt::NoButton && 528 if (QApplication::mouseButtons() == Qt::NoButton &&