diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-07-19 22:35:43 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-07-19 22:35:43 +0000 |
commit | e43d91949be2fedf09eaf61cb5b9e4778a505dc0 (patch) | |
tree | c8e73694329fa2345245d50536adba0eff9449db /libs/ardour/session.cc | |
parent | dd440c22c17b0ccbb3db330779fd81e76035e1a6 (diff) |
more work on RID and editor/mixer order matching; when a track/bus is hidden in the GUI controlling RID, it gets a extremely large RID to prevent it showing up on a control surface (but ... for now ... is still visible in the other GUI, even if "sync order between mixer + editor" is enabled); change font in editor route list
git-svn-id: svn://localhost/ardour2/branches/3.0@13054 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r-- | libs/ardour/session.cc | 67 |
1 files changed, 10 insertions, 57 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 47f39d96b7..59667b2fce 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -2206,22 +2206,6 @@ Session::add_routes (RouteList& new_routes, bool input_auto_connect, bool output } RouteAdded (new_routes); /* EMIT SIGNAL */ - - /* we added at least one new route, and everyone who needs to has now - * handled this event. This means that route order keys are correctly - * set and we can now ensure that remote control IDs are set. - */ - - switch (Config->get_remote_model()) { - case UserOrdered: - break; - case MixerOrdered: - sync_remote_id_from_order_keys (MixerSort); - break; - case EditorOrdered: - sync_remote_id_from_order_keys (EditorSort); - break; - } } void @@ -4713,7 +4697,7 @@ Session::next_control_id () const } void -Session::sync_order_keys (RouteSortOrderKey sort_key_changed) +Session::notify_remote_id_change () { if (deletion_in_progress()) { return; @@ -4727,6 +4711,14 @@ Session::sync_order_keys (RouteSortOrderKey sort_key_changed) default: break; } +} + +void +Session::sync_order_keys (RouteSortOrderKey sort_key_changed) +{ + if (deletion_in_progress()) { + return; + } /* tell everyone that something has happened to the sort keys and let them sync up with the change(s) @@ -4738,46 +4730,7 @@ Session::sync_order_keys (RouteSortOrderKey sort_key_changed) Route::SyncOrderKeys (sort_key_changed); /* EMIT SIGNAL */ - /* ensure that remote control IDs are in sync with the relevant - order keys. - */ - - sync_remote_id_from_order_keys (sort_key_changed); -} - -void -Session::sync_remote_id_from_order_keys (RouteSortOrderKey sort_key_changed) -{ - /* update remote control IDs if that makes sense */ - - bool do_update = false; - - DEBUG_TRACE (DEBUG::OrderKeys, string_compose ("sync RID to order key %1\n", enum_2_string (sort_key_changed))); - - switch (Config->get_remote_model()) { - case UserOrdered: - break; - case EditorOrdered: - if (sort_key_changed == EditorSort) { - do_update = true; - } - break; - case MixerOrdered: - if (sort_key_changed == MixerSort) { - do_update = true; - } - break; - } - - if (do_update) { - DEBUG_TRACE (DEBUG::OrderKeys, "\tactually update + signal\n"); - boost::shared_ptr<RouteList> r = routes.reader(); - for (RouteList::iterator i = r->begin(); i != r->end(); ++i) { - (*i)->set_remote_control_id_from_order_key (sort_key_changed); - } - - Route::RemoteControlIDChange (); /* EMIT SIGNAL - static */ - } + DEBUG_TRACE (DEBUG::OrderKeys, "\tsync done\n"); } bool |