Amend 883ee9c2, setup required invisible processor
authorRobin Gareus <robin@gareus.org>
Fri, 15 Mar 2019 14:54:07 +0000 (15:54 +0100)
committerRobin Gareus <robin@gareus.org>
Fri, 15 Mar 2019 14:54:07 +0000 (15:54 +0100)
This fixes a potential silent master-bus when re-loading a session
("mains_out" may be skipped).

libs/ardour/route.cc

index 50e06720524f294d83ba67049ad17b819df262fb..beb5bbffc26a3d36d5fac4d3d8aa7263db66ee4b 100644 (file)
@@ -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 ();
                }