diff view/Pane.cpp @ 301:5636eeacc467

* Merge from sv-match-alignment branch (excluding alignment-specific document). - add aggregate wave model (not yet complete enough to be added as a true model in a layer, but there's potential) - add play solo mode - add alignment model -- unused in plain SV - fix two plugin leaks - add m3u playlist support (opens all files at once, potentially hazardous) - fix retrieval of pre-encoded URLs - add ability to resample audio files on import, so as to match rates with other files previously loaded; add preference for same - add preliminary support in transform code for range and rate of transform input - reorganise preferences dialog, move dark-background option to preferences, add option for temporary directory location
author Chris Cannam
date Fri, 28 Sep 2007 13:56:38 +0000
parents 0824a754a8eb
children 6de6f78b13a1
line wrap: on
line diff
--- a/view/Pane.cpp	Thu Sep 06 15:17:35 2007 +0000
+++ b/view/Pane.cpp	Fri Sep 28 13:56:38 2007 +0000
@@ -806,20 +806,23 @@
     if (r.y() + r.height() < height() - fontHeight - 6) return;
 
     size_t modelRate = waveformModel->getSampleRate();
+    size_t nativeRate = waveformModel->getNativeRate();
     size_t playbackRate = m_manager->getPlaybackSampleRate();
     size_t outputRate = m_manager->getOutputSampleRate();
         
     QString srNote = "";
 
-    // Show (R) for waveform models that will be resampled on
-    // playback, and (X) for waveform models that will be played
-    // at the wrong rate because their rate differs from the
+    // Show (R) for waveform models that have been resampled or will
+    // be resampled on playback, and (X) for waveform models that will
+    // be played at the wrong rate because their rate differs from the
     // current playback rate (which is not necessarily that of the
     // main model).
 
     if (playbackRate != 0) {
         if (modelRate == playbackRate) {
-            if (modelRate != outputRate) srNote = " " + tr("(R)");
+            if (modelRate != outputRate || modelRate != nativeRate) {
+                srNote = " " + tr("(R)");
+            }
         } else {
             srNote = " " + tr("(X)");
         }
@@ -829,7 +832,7 @@
         .arg(RealTime::frame2RealTime(waveformModel->getEndFrame(),
                                       sampleRate)
              .toText(false).c_str())
-        .arg(modelRate)
+        .arg(nativeRate)
         .arg(srNote);
 
     if (r.x() < m_scaleWidth + 5 + paint.fontMetrics().width(desc)) {