Mercurial > hg > tony
diff src/Analyser.cpp @ 133:c3b53a10c920
Make sure flexinote layer is always the current one for editing
author | Chris Cannam |
---|---|
date | Thu, 09 Jan 2014 20:58:05 +0000 |
parents | 2abff42be385 |
children | a19c3d0aa4e7 |
line wrap: on
line diff
--- a/src/Analyser.cpp Thu Jan 09 17:20:15 2014 +0000 +++ b/src/Analyser.cpp Thu Jan 09 20:58:05 2014 +0000 @@ -35,6 +35,7 @@ Analyser::Analyser() : m_document(0), m_fileModel(0), + m_paneStack(0), m_pane(0) { QSettings settings; @@ -63,6 +64,7 @@ { m_document = doc; m_fileModel = model; + m_paneStack = paneStack; m_pane = pane; QString base = "vamp:pyin:pyin:"; @@ -131,7 +133,6 @@ qobject_cast<TimeValueLayer *>(m_layers[PitchTrack]); if (pitchLayer) { pitchLayer->setBaseColour(cdb->getColourIndex(tr("Black"))); - paneStack->setCurrentLayer(m_pane, pitchLayer); PlayParameters *params = pitchLayer->getPlayParameters(); if (params) params->setPlayPan(-1); } @@ -140,7 +141,6 @@ qobject_cast<FlexiNoteLayer *>(m_layers[Notes]); if (flexiNoteLayer) { flexiNoteLayer->setBaseColour(cdb->getColourIndex(tr("Bright Blue"))); - paneStack->setCurrentLayer(m_pane, flexiNoteLayer); PlayParameters *params = flexiNoteLayer->getPlayParameters(); if (params) params->setPlayPan(0); } @@ -204,6 +204,11 @@ { if (m_layers[c]) { m_layers[c]->setLayerDormant(m_pane, !v); + + if (v && (c == Notes)) { + m_paneStack->setCurrentLayer(m_pane, m_layers[c]); + } + m_pane->layerParametersChanged(); saveState(c); }