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