diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc index bc4c4eaaf0..1e84fe541a 100644 --- a/gtk2_ardour/main.cc +++ b/gtk2_ardour/main.cc @@ -383,7 +383,7 @@ int main (int argc, char *argv[]) << endl; } - if (!ARDOUR::init (ARDOUR_COMMAND_LINE::use_vst, ARDOUR_COMMAND_LINE::try_hw_optimization, localedir.c_str())) { + if (!ARDOUR::init (ARDOUR_COMMAND_LINE::use_vst, ARDOUR_COMMAND_LINE::try_hw_optimization, localedir.c_str(), true)) { error << string_compose (_("could not initialize %1."), PROGRAM_NAME) << endmsg; Gtk::Main main (argc, argv); Gtk::MessageDialog msg (string_compose (_("Could not initialize %1 (likely due to corrupt config files).\n" diff --git a/libs/ardour/ardour/ardour.h b/libs/ardour/ardour/ardour.h index 0ded815ee3..71d7c4d553 100644 --- a/libs/ardour/ardour/ardour.h +++ b/libs/ardour/ardour/ardour.h @@ -62,10 +62,12 @@ namespace ARDOUR { * @param try_optimization true to enable hardware optimized routines * for mixing, finding peak values etc. * @param localedir Directory to look for localisation files + * @param with_gui set to true if running from a GUI (expected to take + * care of certain initialization itself) * * @return true if Ardour library was successfully initialized */ - LIBARDOUR_API bool init (bool with_vst, bool try_optimization, const char* localedir); + LIBARDOUR_API bool init (bool with_vst, bool try_optimization, const char* localedir, bool with_gui = false); LIBARDOUR_API void init_post_engine (uint32_t); LIBARDOUR_API void cleanup (); LIBARDOUR_API bool no_auto_connect (); diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc index 44d9b22748..9c6aa6ba4a 100644 --- a/libs/ardour/globals.cc +++ b/libs/ardour/globals.cc @@ -164,6 +164,7 @@ PBD::Signal3 ARDOUR::CopyConfigurationFiles; std::map ARDOUR::reserved_io_names; static bool have_old_configuration_files = false; +static bool running_from_gui = false; namespace ARDOUR { extern void setup_enum_writer (); @@ -444,12 +445,14 @@ ARDOUR::handle_old_configuration_files (boost::function