# HG changeset patch # User Chris Cannam # Date 1389301085 0 # Node ID c3b53a10c92061da40c212c354e4d2b96551a828 # Parent 2abff42be3859ca036221b08530a55f6571d4385 Make sure flexinote layer is always the current one for editing diff -r 2abff42be385 -r c3b53a10c920 src/Analyser.cpp --- 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(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(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); } diff -r 2abff42be385 -r c3b53a10c920 src/Analyser.h --- a/src/Analyser.h Thu Jan 09 17:20:15 2014 +0000 +++ b/src/Analyser.h Thu Jan 09 20:58:05 2014 +0000 @@ -73,6 +73,7 @@ protected: Document *m_document; WaveFileModel *m_fileModel; + PaneStack *m_paneStack; Pane *m_pane; mutable std::map m_layers;