diff options
Diffstat (limited to 'libs/ardour/globals.cc')
-rw-r--r-- | libs/ardour/globals.cc | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc index fb5be2d4ac..a806b693b4 100644 --- a/libs/ardour/globals.cc +++ b/libs/ardour/globals.cc @@ -113,6 +113,7 @@ #include "ardour/runtime_functions.h" #include "ardour/session_event.h" #include "ardour/source_factory.h" +#include "ardour/transport_master_manager.h" #ifdef LV2_SUPPORT #include "ardour/uri_map.h" #endif @@ -595,17 +596,30 @@ void ARDOUR::init_post_engine () { XMLNode* node; + if ((node = Config->control_protocol_state()) != 0) { ControlProtocolManager::instance().set_state (*node, Stateful::loading_state_version); } + if ((node = Config->transport_master_state()) != 0) { + if (TransportMasterManager::instance().set_state (*node, Stateful::loading_state_version)) { + error << _("Cannot restore transport master manager") << endmsg; + /* XXX now what? */ + } + } else { + if (TransportMasterManager::instance().init ()) { + error << _("Cannot initialize transport master manager") << endmsg; + /* XXX now what? */ + } + } + /* find plugins */ ARDOUR::PluginManager::instance().refresh (!Config->get_discover_vst_on_start()); } void -ARDOUR::cleanup () + ARDOUR::cleanup () { if (!libardour_initialized) { return; |