summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-03-15 15:54:07 +0100
committerRobin Gareus <robin@gareus.org>2019-03-15 15:54:07 +0100
commit2f09f72b3d6ffeeafb11fc6096c34ffcbe393d5d (patch)
treec81d6d0c1b73aae8cd0ca6d320569004a1173512 /libs/ardour/route.cc
parentcec5ea102f4384f340a05cb9c398b921f9004111 (diff)
Amend 883ee9c2, setup required invisible processor
This fixes a potential silent master-bus when re-loading a session ("mains_out" may be skipped).
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r--libs/ardour/route.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index 50e0672052..beb5bbffc2 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -2969,6 +2969,15 @@ Route::set_processor_state (const XMLNode& node)
*/
_processors = new_order;
+ /* When a required/existing internal processor is not in the list, it needs to
+ * be added via configure_processors() -> setup_invisible_processors()
+ */
+ if (_monitor_control) {
+ must_configure |= find (_processors.begin(), _processors.end(), _monitor_control) == _processors.end ();
+ }
+ if (_main_outs) {
+ must_configure |= find (_processors.begin(), _processors.end(), _main_outs) == _processors.end ();
+ }
if (_delayline) {
must_configure |= find (_processors.begin(), _processors.end(), _delayline) == _processors.end ();
}