X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmain.cc;h=f43d1bd4f471cb3f11a3d2d78778f15bbc254254;hb=5e7d9d30e28e8022661497244ccd43a1f5a836c6;hp=998337ed0994b3a8b499bf3a9dd8fea0b7599950;hpb=247d0493bf91ad7d9be39813353f77d95d9452a2;p=ardour.git diff --git a/gtk2_ardour/main.cc b/gtk2_ardour/main.cc index 998337ed09..f43d1bd4f4 100644 --- a/gtk2_ardour/main.cc +++ b/gtk2_ardour/main.cc @@ -74,7 +74,7 @@ TextReceiver text_receiver ("ardour"); extern int curvetest (string); static ARDOUR_UI *ui = 0; -static const char* localedir = LOCALEDIR; +static string localedir (LOCALEDIR); void gui_jack_error () @@ -216,9 +216,9 @@ static void command_line_parse_error (int *argc, char** argv[]) { // an MSVC app, let the user know we encountered a parsing error. Gtk::Main app(argc, argv); // Calls 'gtk_init()' - Gtk::MessageDialog dlgReportParseError (_("\n Ardour could not understand your command line "), + Gtk::MessageDialog dlgReportParseError (string_compose (_("\n %1 could not understand your command line "), PROGRAM_NAME), false, MESSAGE_ERROR, BUTTONS_CLOSE, true); - dlgReportParseError.set_title (_("An error was encountered while launching Ardour")); + dlgReportParseError.set_title (string_compose (_("An error was encountered while launching %1"), PROGRAM_NAME)); dlgReportParseError.run (); } @@ -251,7 +251,9 @@ int ardour_main (int argc, char *argv[]) int main (int argc, char *argv[]) #endif { - fixup_bundle_environment (argc, argv, &localedir); + ARDOUR::check_for_old_configuration_files(); + + fixup_bundle_environment (argc, argv, localedir); load_custom_fonts(); /* needs to happen before any gtk and pango init calls */ @@ -275,7 +277,7 @@ int main (int argc, char *argv[]) #ifdef ENABLE_NLS cerr << "bind txt domain [" << PACKAGE << "] to " << localedir << endl; - (void) bindtextdomain (PACKAGE, localedir); + (void) bindtextdomain (PACKAGE, localedir.c_str()); /* our i18n translations are all in UTF-8, so make sure that even if the user locale doesn't specify UTF-8, we use that when handling them. @@ -318,7 +320,7 @@ int main (int argc, char *argv[]) } if (no_splash) { - cerr << _("Copyright (C) 1999-2012 Paul Davis") << endl + cerr << _("Copyright (C) 1999-2015 Paul Davis") << endl << _("Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel Baker, Robin Gareus") << endl << endl << string_compose (_("%1 comes with ABSOLUTELY NO WARRANTY"), PROGRAM_NAME) << endl @@ -328,7 +330,7 @@ int main (int argc, char *argv[]) << endl; } - if (!ARDOUR::init (ARDOUR_COMMAND_LINE::use_vst, ARDOUR_COMMAND_LINE::try_hw_optimization, localedir)) { + if (!ARDOUR::init (ARDOUR_COMMAND_LINE::use_vst, ARDOUR_COMMAND_LINE::try_hw_optimization, localedir.c_str())) { error << string_compose (_("could not initialize %1."), PROGRAM_NAME) << endmsg; exit (1); } @@ -343,8 +345,15 @@ int main (int argc, char *argv[]) } #endif + UIConfiguration* ui_config = new UIConfiguration; + + if (ui_config->pre_gui_init ()) { + error << _("Could not complete pre-GUI initialization") << endmsg; + exit (1); + } + try { - ui = new ARDOUR_UI (&argc, &argv, localedir); + ui = new ARDOUR_UI (&argc, &argv, localedir.c_str(), ui_config); } catch (failed_constructor& err) { error << string_compose (_("could not create %1 GUI"), PROGRAM_NAME) << endmsg; exit (1);