summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-11-25 10:29:16 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2016-11-25 10:29:42 +0000
commitc5eda4cfe1e7b9ae9abbe2e7b6bd640586a3b9fb (patch)
tree7141aae5abeddbf141a2ff207ebe0cf205c9de28 /libs/ardour/route.cc
parente35ce4c002e0dfb4db76a5108e0028719f469734 (diff)
provisional changes to speed up solo changes to large numbers of routes.
Moves global update of solo state and emission of Session::SoloChanged to a single point after 1 to N solo controls are changed. Also avoid unnecessarily emitted Activated() signal for listen controls, though Process::{activate,deactive}() should probably be redesigned to avoid this in a "deeper" way
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r--libs/ardour/route.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index c12c971caa..b31bfccf75 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -627,6 +627,9 @@ void
Route::set_listen (bool yn)
{
if (_monitor_send) {
+ if (_monitor_send->active() == yn) {
+ return;
+ }
if (yn) {
_monitor_send->activate ();
} else {