diff 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
line wrap: on
line diff
--- a/framework/MainWindowBase.cpp	Fri Mar 12 15:34:18 2010 +0000
+++ b/framework/MainWindowBase.cpp	Tue Jun 15 10:39:06 2010 +0000
@@ -531,7 +531,13 @@
     View::ModelSet sources;
     for (View::ModelSet::iterator mi = soloModels.begin();
          mi != soloModels.end(); ++mi) {
-        if (*mi && (*mi)->getSourceModel()) {
+        // If a model in this pane is derived from something else,
+        // then we want to play that model as well -- if the model
+        // that's derived from it is not something that is itself
+        // individually playable (e.g. a waveform)
+        if (*mi &&
+            !dynamic_cast<RangeSummarisableTimeValueModel *>(*mi) &&
+            (*mi)->getSourceModel()) {
             sources.insert((*mi)->getSourceModel());
         }
     }