summaryrefslogtreecommitdiff
path: root/libs/ardour/session.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-07-19 22:35:43 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-07-19 22:35:43 +0000
commite43d91949be2fedf09eaf61cb5b9e4778a505dc0 (patch)
treec8e73694329fa2345245d50536adba0eff9449db /libs/ardour/session.cc
parentdd440c22c17b0ccbb3db330779fd81e76035e1a6 (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.cc67
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