diff src/Analyser.cpp @ 184:ea15fa75ae6f

Ctrl+Return now switches the alternate pitch candidates on and off; Ctrl+Up/Down selects among them
author Chris Cannam
date Sun, 23 Feb 2014 17:59:23 +0000
parents bdee9e6f135b
children dedd09297a3e
line wrap: on
line diff
--- a/src/Analyser.cpp	Thu Feb 20 12:00:16 2014 +0000
+++ b/src/Analyser.cpp	Sun Feb 23 17:59:23 2014 +0000
@@ -75,6 +75,7 @@
     m_reAnalysingSelection = Selection();
     m_reAnalysisCandidates.clear();
     m_currentCandidate = -1;
+    m_candidatesVisible = false;
 
     // Note that we need at least one main-model layer (time ruler,
     // waveform or what have you). It could be hidden if we don't want
@@ -296,6 +297,28 @@
     return "";
 }
 
+bool
+Analyser::arePitchCandidatesShown() const
+{
+    return m_candidatesVisible;
+}
+
+void
+Analyser::showPitchCandidates(bool shown) 
+{
+    if (m_candidatesVisible == shown) return;
+
+    foreach (Layer *layer, m_reAnalysisCandidates) {
+        if (shown) {
+            m_document->addLayerToView(m_pane, layer);
+        } else {
+            m_document->removeLayerFromView(m_pane, layer);
+        }
+    }
+
+    m_candidatesVisible = shown;
+}
+
 void
 Analyser::layersCreated(vector<Layer *> primary,
                         vector<Layer *> additional)
@@ -320,7 +343,9 @@
             }
             t->setBaseColour
                 (ColourDatabase::getInstance()->getColourIndex(tr("Bright Orange")));
-            m_document->addLayerToView(m_pane, t);
+            if (m_candidatesVisible) {
+                m_document->addLayerToView(m_pane, t);
+            }
             m_reAnalysisCandidates.push_back(t);
         }
     }
@@ -393,7 +418,7 @@
 }
 
 void
-Analyser::clearPitches(Selection sel)
+Analyser::deletePitches(Selection sel)
 {
     Layer *pitchTrack = m_layers[PitchTrack];
     if (!pitchTrack) return;