diff --git a/gtk2_ardour/editor_route_list.cc b/gtk2_ardour/editor_route_list.cc index 44806f0263..ba17495e60 100644 --- a/gtk2_ardour/editor_route_list.cc +++ b/gtk2_ardour/editor_route_list.cc @@ -211,7 +211,7 @@ Editor::sync_order_keys () for (ri = rows.begin(); ri != rows.end(); ++ri) { TimeAxisView* tv = (*ri)[route_display_columns.tv]; boost::shared_ptr route = (*ri)[route_display_columns.route]; - neworder[route->order_key (X_("signal"))] = tv->old_order_key (); + neworder[route->order_key (X_("editor"))] = tv->old_order_key (); } ignore_route_list_reorder = true; diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 8648574600..7f7717e00f 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -335,6 +335,17 @@ Mixer_UI::remove_strip (MixerStrip* strip) } } +const char* +Mixer_UI::get_order_key() +{ + if (Config->get_sync_all_route_ordering()) { + return X_("editor"); + } else { + return X_("signal"); + } +} + + void Mixer_UI::sync_order_keys () { @@ -353,7 +364,7 @@ Mixer_UI::sync_order_keys () for (ri = rows.begin(); ri != rows.end(); ++ri) { boost::shared_ptr route = (*ri)[track_columns.route]; MixerStrip* strip = (*ri)[track_columns.strip]; - neworder[route->order_key (X_("signal"))] = strip->old_order_key (); + neworder[route->order_key (get_order_key())] = strip->old_order_key (); } ignore_route_reorder = true; @@ -653,7 +664,7 @@ Mixer_UI::redisplay_track_list () strip->set_marked_for_display (true); if (!ignore_route_reorder) { - strip->route()->set_order_key (N_("signal"), order); + strip->route()->set_order_key (get_order_key(), order); } strip->set_old_order_key (order); @@ -700,7 +711,7 @@ Mixer_UI::redisplay_track_list () struct SignalOrderRouteSorter { bool operator() (boost::shared_ptr a, boost::shared_ptr b) { /* use of ">" forces the correct sort order */ - return a->order_key ("signal") < b->order_key ("signal"); + return a->order_key (Mixer_UI::get_order_key()) < b->order_key (Mixer_UI::get_order_key()); } }; diff --git a/gtk2_ardour/mixer_ui.h b/gtk2_ardour/mixer_ui.h index 6f5c382876..14884bfeed 100644 --- a/gtk2_ardour/mixer_ui.h +++ b/gtk2_ardour/mixer_ui.h @@ -78,6 +78,8 @@ class Mixer_UI : public Gtk::Window RouteRedirectSelection& selection() { return _selection; } + static const char* get_order_key(); + private: ARDOUR::Session *session;