From d69a0b6e42255bb0399a480dae38c7e1e69de273 Mon Sep 17 00:00:00 2001 From: Nikolay Date: Wed, 15 Apr 2015 14:31:51 +0300 Subject: [PATCH] [Summary] Bug fix #Tracks order is incorrect when first add tracks by doubleclick and then use "addtrack" menu [Feature reviewed] AMishyn [Reviewed] GZharun --- gtk2_ardour/ardour_ui.cc | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 36a4685fc4..b2a1a2f4c9 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -3571,13 +3571,24 @@ ARDOUR_UI::setup_order_hint () order_hint = tav->route()->order_key(); } } + + + /* If no tracks are selected or only master bus is selected do not create a gap in the existing route order keys.*/ + if (editor->get_selection().tracks.empty ()) { + _session->set_order_hint (order_hint); + return; + } else if (editor->get_selection().tracks.size () == 1) { + TimeAxisView* selected_tav = editor->get_selection().tracks.front(); + RouteTimeAxisView* tav = dynamic_cast (selected_tav); + if (tav && tav->route() && tav->route()->is_master () ) { + _session->set_order_hint (order_hint); + return; + } + } - if (!editor->get_selection().tracks.empty()) { - order_hint++; - } - - _session->set_order_hint (order_hint); - + order_hint++; + _session->set_order_hint (order_hint); + /* create a gap in the existing route order keys to accomodate new routes.*/ boost::shared_ptr rd = _session->get_routes();