#include "midi++/port.h"
#include "midi++/mmc.h"
+#include "LuaBridge/LuaBridge.h"
+
#include "ardour/analyser.h"
#include "ardour/audio_library.h"
#include "ardour/audio_backend.h"
#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
#include "audiographer/routines.h"
#if defined (__APPLE__)
if (newmax > 0) {
info << string_compose (_("Your system is configured to limit %1 to only %2 open files"), PROGRAM_NAME, newmax) << endmsg;
} else {
- error << string_compose (_("Could not set system open files limit. Current limit is %1 open files"), _getmaxstdio) << endmsg;
+ error << string_compose (_("Could not set system open files limit. Current limit is %1 open files"), _getmaxstdio()) << endmsg;
}
#endif
}
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);
return true;
}
+#ifndef NDEBUG
+ if (getenv("LUA_METATABLES")) {
+ luabridge::Security::setHideMetatables (false);
+ }
+#endif
+
if (!PBD::init()) return false;
-#ifdef ENABLE_NLS
+#if ENABLE_NLS
(void) bindtextdomain(PACKAGE, localedir);
(void) bind_textdomain_codeset (PACKAGE, "UTF-8");
#endif
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
reserved_io_names[_("Monitor")] = true;
reserved_io_names[_("Master")] = true;
+ reserved_io_names["auditioner"] = true; // auditioner.cc Track (s, "auditioner",...)
+
+ /* pure I/O */
+ reserved_io_names[X_("Click")] = false; // session.cc ClickIO (*this, X_("Click")
reserved_io_names[_("Control")] = false;
- reserved_io_names[_("Click")] = false;
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;
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 */
}
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