changeset 200:13fc8473002c

Fix #882 (double-clicking "non-note" location calculates pitch candidates for whole rest of the piece)
author Chris Cannam
date Wed, 05 Mar 2014 13:37:17 +0000
parents 0ba33d6c0a71
children ef7eb3599524
files src/Analyser.cpp
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/Analyser.cpp	Wed Mar 05 13:20:26 2014 +0000
+++ b/src/Analyser.cpp	Wed Mar 05 13:37:17 2014 +0000
@@ -254,7 +254,7 @@
 QString
 Analyser::reAnalyseSelection(Selection sel, FrequencyRange range)
 {
-    if (sel == m_reAnalysingSelection) return "";
+    if (sel == m_reAnalysingSelection || sel.isEmpty()) return "";
 
     discardPitchCandidates();
 
@@ -306,6 +306,13 @@
         duration = end - start;
     }
 
+    cerr << "Analyser::reAnalyseSelection: start " << start << " end " << end << " original selection start " << sel.getStartFrame() << " end " << sel.getEndFrame() << " duration " << duration << endl;
+
+    if (duration <= RealTime::zeroTime) {
+        cerr << "Analyser::reAnalyseSelection: duration <= 0, not analysing" << endl;
+        return "";
+    }
+    
     t.setStartTime(start);
     t.setDuration(duration);