fix verbose plugin scan
[ardour.git] / gtk2_ardour / main.cc
index 998337ed0994b3a8b499bf3a9dd8fea0b7599950..f43d1bd4f471cb3f11a3d2d78778f15bbc254254 100644 (file)
@@ -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);