Skip master bus' order-key when re-ordering routes in the mixer.
This also fixes a related issue:
When a new track is added, Session::RouteAdded will call be handled by
Editor::add_routes AND Mixer_UI::add_routes, leading to calls to both:
- EditorRoutes::sync_presentation_info_from_treeview()
- Mixer_UI::sync_presentation_info_from_treeview ()
which potentially set different order-keys.
SortByNewDisplayOrder cmp;
sort (sorted.begin(), sorted.end(), cmp);
for (OrderingKeys::iterator sr = sorted.begin(); sr != sorted.end(); ++sr, ++n) {
+ if (_session->master_out() && (_session->master_out()->presentation_info().order() == n)) {
+ ++n;
+ }
if (sr->old_display_order != n) {
change = true;
+ break;
}
}
if (change) {
n = 0;
for (OrderingKeys::iterator sr = sorted.begin(); sr != sorted.end(); ++sr, ++n) {
+ if (_session->master_out() && (_session->master_out()->presentation_info().order() == n)) {
+ ++n;
+ }
if (sr->stripable->presentation_info().order() != n) {
sr->stripable->set_presentation_order (n);
}