Fix route ordering (mixer TV lacks master-bus)
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.
This commit is contained in:
parent
d2b823b3c5
commit
91cee14ca6
@ -765,13 +765,20 @@ Mixer_UI::sync_presentation_info_from_treeview ()
|
|||||||
SortByNewDisplayOrder cmp;
|
SortByNewDisplayOrder cmp;
|
||||||
sort (sorted.begin(), sorted.end(), cmp);
|
sort (sorted.begin(), sorted.end(), cmp);
|
||||||
for (OrderingKeys::iterator sr = sorted.begin(); sr != sorted.end(); ++sr, ++n) {
|
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) {
|
if (sr->old_display_order != n) {
|
||||||
change = true;
|
change = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (change) {
|
if (change) {
|
||||||
n = 0;
|
n = 0;
|
||||||
for (OrderingKeys::iterator sr = sorted.begin(); sr != sorted.end(); ++sr, ++n) {
|
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) {
|
if (sr->stripable->presentation_info().order() != n) {
|
||||||
sr->stripable->set_presentation_order (n);
|
sr->stripable->set_presentation_order (n);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user