OSC: master/monitor forced to sort at end
authorLen Ovens <len@ovenwerks.net>
Wed, 22 Jun 2016 21:50:13 +0000 (14:50 -0700)
committerLen Ovens <len@ovenwerks.net>
Wed, 22 Jun 2016 21:50:13 +0000 (14:50 -0700)
libs/surfaces/osc/osc.cc

index 7aa19a45059ac868934210d0a7e6b7e4c7aa9faf..31953756c0e8e8744cb37cee7409f043308bac70 100644 (file)
@@ -2581,12 +2581,6 @@ OSC::get_sorted_stripables(std::bitset<32> types)
                        if (types[4] && (s->presentation_info().flags() & PresentationInfo::VCA)) {
                                sorted.push_back (s);
                        } else
-                       if (types[5] && (s->presentation_info().flags() & PresentationInfo::MasterOut)) {
-                               sorted.push_back (s);
-                       } else
-                       if (types[6] && (s->presentation_info().flags() & PresentationInfo::MonitorOut)) {
-                               sorted.push_back (s);
-                       } else
                        if (types[8] && (s->presentation_info().flags() & PresentationInfo::Selected)) {
                                sorted.push_back (s);
                        } else
@@ -2596,6 +2590,13 @@ OSC::get_sorted_stripables(std::bitset<32> types)
                }
        }
        sort (sorted.begin(), sorted.end(), StripableByPresentationOrder());
+       // Master/Monitor might be anywhere... we put them at the end - Sorry ;)
+       if (types[5]) {
+               sorted.push_back (session->master_out());
+       }
+       if (types[6]) {
+               sorted.push_back (session->monitor_out());
+       }
        return sorted;
 }