Mercurial > hg > tony
comparison 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 |
comparison
equal
deleted
inserted
replaced
132:2abff42be385 | 133:c3b53a10c920 |
---|---|
33 #include <QSettings> | 33 #include <QSettings> |
34 | 34 |
35 Analyser::Analyser() : | 35 Analyser::Analyser() : |
36 m_document(0), | 36 m_document(0), |
37 m_fileModel(0), | 37 m_fileModel(0), |
38 m_paneStack(0), | |
38 m_pane(0) | 39 m_pane(0) |
39 { | 40 { |
40 QSettings settings; | 41 QSettings settings; |
41 settings.beginGroup("LayerDefaults"); | 42 settings.beginGroup("LayerDefaults"); |
42 settings.setValue | 43 settings.setValue |
61 Analyser::newFileLoaded(Document *doc, WaveFileModel *model, | 62 Analyser::newFileLoaded(Document *doc, WaveFileModel *model, |
62 PaneStack *paneStack, Pane *pane) | 63 PaneStack *paneStack, Pane *pane) |
63 { | 64 { |
64 m_document = doc; | 65 m_document = doc; |
65 m_fileModel = model; | 66 m_fileModel = model; |
67 m_paneStack = paneStack; | |
66 m_pane = pane; | 68 m_pane = pane; |
67 | 69 |
68 QString base = "vamp:pyin:pyin:"; | 70 QString base = "vamp:pyin:pyin:"; |
69 QString f0out = "smoothedpitchtrack"; | 71 QString f0out = "smoothedpitchtrack"; |
70 QString noteout = "notes"; | 72 QString noteout = "notes"; |
129 | 131 |
130 TimeValueLayer *pitchLayer = | 132 TimeValueLayer *pitchLayer = |
131 qobject_cast<TimeValueLayer *>(m_layers[PitchTrack]); | 133 qobject_cast<TimeValueLayer *>(m_layers[PitchTrack]); |
132 if (pitchLayer) { | 134 if (pitchLayer) { |
133 pitchLayer->setBaseColour(cdb->getColourIndex(tr("Black"))); | 135 pitchLayer->setBaseColour(cdb->getColourIndex(tr("Black"))); |
134 paneStack->setCurrentLayer(m_pane, pitchLayer); | |
135 PlayParameters *params = pitchLayer->getPlayParameters(); | 136 PlayParameters *params = pitchLayer->getPlayParameters(); |
136 if (params) params->setPlayPan(-1); | 137 if (params) params->setPlayPan(-1); |
137 } | 138 } |
138 | 139 |
139 FlexiNoteLayer *flexiNoteLayer = | 140 FlexiNoteLayer *flexiNoteLayer = |
140 qobject_cast<FlexiNoteLayer *>(m_layers[Notes]); | 141 qobject_cast<FlexiNoteLayer *>(m_layers[Notes]); |
141 if (flexiNoteLayer) { | 142 if (flexiNoteLayer) { |
142 flexiNoteLayer->setBaseColour(cdb->getColourIndex(tr("Bright Blue"))); | 143 flexiNoteLayer->setBaseColour(cdb->getColourIndex(tr("Bright Blue"))); |
143 paneStack->setCurrentLayer(m_pane, flexiNoteLayer); | |
144 PlayParameters *params = flexiNoteLayer->getPlayParameters(); | 144 PlayParameters *params = flexiNoteLayer->getPlayParameters(); |
145 if (params) params->setPlayPan(0); | 145 if (params) params->setPlayPan(0); |
146 } | 146 } |
147 } | 147 } |
148 | 148 |
202 void | 202 void |
203 Analyser::setVisible(Component c, bool v) | 203 Analyser::setVisible(Component c, bool v) |
204 { | 204 { |
205 if (m_layers[c]) { | 205 if (m_layers[c]) { |
206 m_layers[c]->setLayerDormant(m_pane, !v); | 206 m_layers[c]->setLayerDormant(m_pane, !v); |
207 | |
208 if (v && (c == Notes)) { | |
209 m_paneStack->setCurrentLayer(m_pane, m_layers[c]); | |
210 } | |
211 | |
207 m_pane->layerParametersChanged(); | 212 m_pane->layerParametersChanged(); |
208 saveState(c); | 213 saveState(c); |
209 } | 214 } |
210 } | 215 } |
211 | 216 |