Mercurial > hg > tony
changeset 239:d40c6cdb30a4
Make pitch-track editing operations update the notes as well, automatically
author | Chris Cannam |
---|---|
date | Thu, 27 Mar 2014 18:02:12 +0000 |
parents | fce61899aeea |
children | 6ac45eb0f4c7 |
files | .hgsubstate src/Analyser.cpp src/MainWindow.cpp src/MainWindow.h |
diffstat | 4 files changed, 26 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgsubstate Thu Mar 27 16:30:26 2014 +0000 +++ b/.hgsubstate Thu Mar 27 18:02:12 2014 +0000 @@ -4,4 +4,4 @@ 27d4e7152c954bf3c4387319db088fb3cd02436b sv-dependency-builds 3144af512ea3447e6cf1775f02b5b54b5a5ddeb5 svapp 0c8218b2d84a172049d966c82c2064f5aa59c503 svcore -bc049f1f080e2042c7967841c2fb717bc4e46e24 svgui +84e4cf88965959a34e8675138d6bef66ad5ec261 svgui
--- a/src/Analyser.cpp Thu Mar 27 16:30:26 2014 +0000 +++ b/src/Analyser.cpp Thu Mar 27 18:02:12 2014 +0000 @@ -417,6 +417,7 @@ } t->setBaseColour (ColourDatabase::getInstance()->getColourIndex(tr("Bright Orange"))); + t->setPresentationName("candidate"); m_document->addLayerToView(m_pane, t); m_reAnalysisCandidates.push_back(t); }
--- a/src/MainWindow.cpp Thu Mar 27 16:30:26 2014 +0000 +++ b/src/MainWindow.cpp Thu Mar 27 18:02:12 2014 +0000 @@ -1896,6 +1896,10 @@ MainWindowBase::clearSelection(); CommandHistory::getInstance()->endCompoundOperation(); + + if (!selections.empty()) { + auxSnapNotes(*selections.begin()); + } } void @@ -1978,6 +1982,8 @@ } CommandHistory::getInstance()->endCompoundOperation(); + + snapNotesToPitches(); } void @@ -1995,6 +2001,8 @@ } CommandHistory::getInstance()->endCompoundOperation(); + + snapNotesToPitches(); } void @@ -2027,6 +2035,7 @@ CommandHistory::getInstance()->endCompoundOperation(); + snapNotesToPitches(); } } else { octaveShift(true); @@ -2050,6 +2059,8 @@ } CommandHistory::getInstance()->endCompoundOperation(); + + snapNotesToPitches(); } } else { octaveShift(false); @@ -2059,10 +2070,6 @@ void MainWindow::snapNotesToPitches() { - FlexiNoteLayer *layer = - qobject_cast<FlexiNoteLayer *>(m_analyser->getLayer(Analyser::Notes)); - if (!layer) return; - MultiSelection::SelectionList selections = m_viewManager->getSelections(); if (!selections.empty()) { @@ -2072,7 +2079,7 @@ for (MultiSelection::SelectionList::iterator k = selections.begin(); k != selections.end(); ++k) { - layer->snapSelectedNotesToPitchTrack(m_analyser->getPane(), *k); + auxSnapNotes(*k); } CommandHistory::getInstance()->endCompoundOperation(); @@ -2080,6 +2087,16 @@ } void +MainWindow::auxSnapNotes(Selection s) +{ + FlexiNoteLayer *layer = + qobject_cast<FlexiNoteLayer *>(m_analyser->getLayer(Analyser::Notes)); + if (!layer) return; + + layer->snapSelectedNotesToPitchTrack(m_analyser->getPane(), s); +} + +void MainWindow::splitNotesAtSelection() { FlexiNoteLayer *layer =