13
0

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:
Robin Gareus 2017-02-17 00:44:02 +01:00
parent d2b823b3c5
commit 91cee14ca6

View File

@ -765,13 +765,20 @@ Mixer_UI::sync_presentation_info_from_treeview ()
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);
}