Mercurial > hg > tony
comparison src/Analyser.cpp @ 184:ea15fa75ae6f
Ctrl+Return now switches the alternate pitch candidates on and off; Ctrl+Up/Down selects among them
author | Chris Cannam |
---|---|
date | Sun, 23 Feb 2014 17:59:23 +0000 |
parents | bdee9e6f135b |
children | dedd09297a3e |
comparison
equal
deleted
inserted
replaced
183:bdee9e6f135b | 184:ea15fa75ae6f |
---|---|
73 m_pane = pane; | 73 m_pane = pane; |
74 | 74 |
75 m_reAnalysingSelection = Selection(); | 75 m_reAnalysingSelection = Selection(); |
76 m_reAnalysisCandidates.clear(); | 76 m_reAnalysisCandidates.clear(); |
77 m_currentCandidate = -1; | 77 m_currentCandidate = -1; |
78 m_candidatesVisible = false; | |
78 | 79 |
79 // Note that we need at least one main-model layer (time ruler, | 80 // Note that we need at least one main-model layer (time ruler, |
80 // waveform or what have you). It could be hidden if we don't want | 81 // waveform or what have you). It could be hidden if we don't want |
81 // to see it but it must exist. | 82 // to see it but it must exist. |
82 | 83 |
294 m_document->createDerivedLayersAsync(transforms, m_fileModel, this); | 295 m_document->createDerivedLayersAsync(transforms, m_fileModel, this); |
295 | 296 |
296 return ""; | 297 return ""; |
297 } | 298 } |
298 | 299 |
300 bool | |
301 Analyser::arePitchCandidatesShown() const | |
302 { | |
303 return m_candidatesVisible; | |
304 } | |
305 | |
306 void | |
307 Analyser::showPitchCandidates(bool shown) | |
308 { | |
309 if (m_candidatesVisible == shown) return; | |
310 | |
311 foreach (Layer *layer, m_reAnalysisCandidates) { | |
312 if (shown) { | |
313 m_document->addLayerToView(m_pane, layer); | |
314 } else { | |
315 m_document->removeLayerFromView(m_pane, layer); | |
316 } | |
317 } | |
318 | |
319 m_candidatesVisible = shown; | |
320 } | |
321 | |
299 void | 322 void |
300 Analyser::layersCreated(vector<Layer *> primary, | 323 Analyser::layersCreated(vector<Layer *> primary, |
301 vector<Layer *> additional) | 324 vector<Layer *> additional) |
302 { | 325 { |
303 //!!! how do we know these came from the right selection? user | 326 //!!! how do we know these came from the right selection? user |
318 if (params) { | 341 if (params) { |
319 params->setPlayAudible(false); | 342 params->setPlayAudible(false); |
320 } | 343 } |
321 t->setBaseColour | 344 t->setBaseColour |
322 (ColourDatabase::getInstance()->getColourIndex(tr("Bright Orange"))); | 345 (ColourDatabase::getInstance()->getColourIndex(tr("Bright Orange"))); |
323 m_document->addLayerToView(m_pane, t); | 346 if (m_candidatesVisible) { |
347 m_document->addLayerToView(m_pane, t); | |
348 } | |
324 m_reAnalysisCandidates.push_back(t); | 349 m_reAnalysisCandidates.push_back(t); |
325 } | 350 } |
326 } | 351 } |
327 } | 352 } |
328 | 353 |
391 layer->paste(m_pane, shifted, 0, false); | 416 layer->paste(m_pane, shifted, 0, false); |
392 } | 417 } |
393 } | 418 } |
394 | 419 |
395 void | 420 void |
396 Analyser::clearPitches(Selection sel) | 421 Analyser::deletePitches(Selection sel) |
397 { | 422 { |
398 Layer *pitchTrack = m_layers[PitchTrack]; | 423 Layer *pitchTrack = m_layers[PitchTrack]; |
399 if (!pitchTrack) return; | 424 if (!pitchTrack) return; |
400 | 425 |
401 pitchTrack->deleteSelection(sel); | 426 pitchTrack->deleteSelection(sel); |