Mercurial > hg > tony
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;