X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=libs%2Fardour%2Fglobals.cc;h=eca6d44de2e6bf0ad4681c34b4182a1e31deafed;hb=5fa05b403ca21a6573d07b921dc14f0769dc9fc7;hp=28eb818921d2e62046a33df25e76afc2734978c6;hpb=a82cfd24612d2143f8ed77b39fd459f060e5a5c4;p=ardour.git diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc index 28eb818921..eca6d44de2 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 @@ -353,10 +354,20 @@ copy_configuration_files (string const & old_dir, string const & new_dir, int ol copy_recurse (old_name, new_name); - /* presets */ + /* plugin status */ + g_mkdir_with_parents (Glib::build_filename (new_dir, plugin_metadata_dir_name).c_str(), 0755); - old_name = Glib::build_filename (old_dir, X_("plugin_statuses")); - new_name = Glib::build_filename (new_dir, X_("plugin_statuses")); + old_name = Glib::build_filename (old_dir, X_("plugin_statuses")); /* until 6.0 */ + new_name = Glib::build_filename (new_dir, plugin_metadata_dir_name, X_("plugin_statuses")); + copy_file (old_name, new_name); /* can fail silently */ + + old_name = Glib::build_filename (old_dir, plugin_metadata_dir_name, X_("plugin_statuses")); + copy_file (old_name, new_name); + + /* plugin tags */ + + old_name = Glib::build_filename (old_dir, plugin_metadata_dir_name, X_("plugin_tags")); + new_name = Glib::build_filename (new_dir, plugin_metadata_dir_name, X_("plugin_tags")); copy_file (old_name, new_name); @@ -433,7 +444,7 @@ ARDOUR::init (bool use_windows_vst, bool try_optimization, const char* localedir if (!PBD::init()) return false; -#ifdef ENABLE_NLS +#if ENABLE_NLS (void) bindtextdomain(PACKAGE, localedir); (void) bind_textdomain_codeset (PACKAGE, "UTF-8"); #endif @@ -449,6 +460,7 @@ ARDOUR::init (bool use_windows_vst, bool try_optimization, const char* localedir Playlist::make_property_quarks (); AudioPlaylist::make_property_quarks (); PresentationInfo::make_property_quarks (); + TransportMaster::make_property_quarks (); /* this is a useful ready to use PropertyChange that many things need to check. This avoids having to compose @@ -569,8 +581,12 @@ ARDOUR::init (bool use_windows_vst, bool try_optimization, const char* localedir reserved_io_names[_("Mackie")] = false; reserved_io_names[_("FaderPort Recv")] = false; reserved_io_names[_("FaderPort Send")] = false; + reserved_io_names[_("FaderPort2 Recv")] = false; + reserved_io_names[_("FaderPort2 Send")] = false; reserved_io_names[_("FaderPort8 Recv")] = false; reserved_io_names[_("FaderPort8 Send")] = false; + reserved_io_names[_("FaderPort16 Recv")] = false; + reserved_io_names[_("FaderPort16 Send")] = false; libardour_initialized = true; @@ -581,8 +597,21 @@ void ARDOUR::init_post_engine () { XMLNode* node; + if ((node = Config->control_protocol_state()) != 0) { - ControlProtocolManager::instance().set_state (*node, Stateful::loading_state_version); + ControlProtocolManager::instance().set_state (*node, 0 /* here: global-config state */); + } + + 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().set_default_configuration ()) { + error << _("Cannot initialize transport master manager") << endmsg; + /* XXX now what? */ + } } /* find plugins */ @@ -591,19 +620,19 @@ ARDOUR::init_post_engine () } void -ARDOUR::cleanup () + ARDOUR::cleanup () { if (!libardour_initialized) { return; } + delete &ControlProtocolManager::instance(); ARDOUR::AudioEngine::destroy (); delete Library; #ifdef HAVE_LRDF lrdf_cleanup (); #endif - delete &ControlProtocolManager::instance(); #ifdef WINDOWS_VST_SUPPORT fst_exit (); #endif