diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index ad2f04af61..ae354646b9 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -1161,6 +1161,12 @@ Session::remove_monitor_section () return; } + /* allow deletion when session is unloaded */ + if (!_engine.running() && !(_state_of_the_state & Deletion)) { + error << _("Cannot remove monitor section while the engine is offline.") << endmsg; + return; + } + /* force reversion to Solo-In-Place */ Config->set_solo_control_is_listen_control (false); @@ -1217,6 +1223,11 @@ Session::add_monitor_section () { RouteList rl; + if (!_engine.running()) { + error << _("Cannot create monitor section while the engine is offline.") << endmsg; + return; + } + if (_monitor_out || !_master_out || Profile->get_trx()) { return; }