comparison framework/MainWindowBase.cpp @ 190:68a0a2625a66

* Ensure solo works correctly when switching to a waveform that was generated via an effects transform from another waveform that's in a different pane (previously, switching to the generated version would leave both playing)
author Chris Cannam
date Tue, 15 Jun 2010 10:39:06 +0000
parents 32c13c46abd6
children 302dae1f6016
comparison
equal deleted inserted replaced
189:017206f2e4c5 190:68a0a2625a66
529 View::ModelSet soloModels = p->getModels(); 529 View::ModelSet soloModels = p->getModels();
530 530
531 View::ModelSet sources; 531 View::ModelSet sources;
532 for (View::ModelSet::iterator mi = soloModels.begin(); 532 for (View::ModelSet::iterator mi = soloModels.begin();
533 mi != soloModels.end(); ++mi) { 533 mi != soloModels.end(); ++mi) {
534 if (*mi && (*mi)->getSourceModel()) { 534 // If a model in this pane is derived from something else,
535 // then we want to play that model as well -- if the model
536 // that's derived from it is not something that is itself
537 // individually playable (e.g. a waveform)
538 if (*mi &&
539 !dynamic_cast<RangeSummarisableTimeValueModel *>(*mi) &&
540 (*mi)->getSourceModel()) {
535 sources.insert((*mi)->getSourceModel()); 541 sources.insert((*mi)->getSourceModel());
536 } 542 }
537 } 543 }
538 for (View::ModelSet::iterator mi = sources.begin(); 544 for (View::ModelSet::iterator mi = sources.begin();
539 mi != sources.end(); ++mi) { 545 mi != sources.end(); ++mi) {