add len ovens to the authors list
[ardour.git] / gtk2_ardour / about.cc
index b656c29ad8175fde37d430a630095338fe0c6e93..eb98398f26961f868ee59ade37e23897163115ed 100644 (file)
 #include <ctime>
 #include <cstdlib>
 
+#include "pbd/error.h"
 #include "pbd/file_utils.h"
+#include "pbd/openuri.h"
 
+#include "ardour/profile.h"
 #include "ardour/revision.h"
-#include "ardour/version.h"
 #include "ardour/filesystem_paths.h"
 
-#include "utils.h"
-#include "version.h"
-
 #include "about.h"
 #include "configinfo.h"
 #include "rgb_macros.h"
-#include "ardour_ui.h"
 
-#include "i18n.h"
+#include "pbd/i18n.h"
+
+#ifdef WAF_BUILD
+#include "gtk2ardour-version.h"
+#endif
 
 using namespace Gtk;
 using namespace Gdk;
@@ -46,6 +48,10 @@ using namespace std;
 using namespace ARDOUR;
 using namespace PBD;
 
+#ifndef CODENAME
+#define CODENAME ""
+#endif
+
 #ifdef WITH_PAYMENT_OPTIONS
 
 /* XPM */
@@ -118,6 +124,7 @@ static const gchar * paypal_xpm[] = {
 #endif
 
 static const char* authors[] = {
+       N_("Fons Adriaensen"),
        N_("Brian Ahr"),
        N_("John Anderson"),
        N_("Marcus Andersson"),
@@ -125,17 +132,21 @@ static const char* authors[] = {
        N_("Hans Baier"),
        N_("Ben Bell"),
        N_("Sakari Bergen"),
+       N_("Christian Borss"),
        N_("Chris Cannam"),
+       N_("Jeremy Carter"),
        N_("Jesse Chappell"),
        N_("Thomas Charbonnel"),
        N_("Sam Chessman"),
        N_("André Colomb"),
        N_("Paul Davis"),
        N_("Gerard van Dongen"),
+       N_("John Emmas"),
        N_("Colin Fletcher"),
        N_("Dave Flick"),
        N_("Hans Fugal"),
        N_("Robin Gareus"),
+       N_("Nil Geisweiller"),
        N_("Christopher George"),
        N_("Chris Goddard"),
        N_("J. Abelardo Gutierrez"),
@@ -151,6 +162,7 @@ static const char* authors[] = {
        N_("Armand Klenk"),
        N_("Julien de Kozak"),
        N_("Matt Krai"),
+       N_("Georg Krause"),
        N_("Nick Lanham"),
        N_("Colin Law"),
        N_("Joshua Leach"),
@@ -158,9 +170,16 @@ static const char* authors[] = {
        N_("Nick Mainsbridge"),
        N_("Tim Mayberry"),
        N_("Doug Mclain"),
+       N_("Todd Naugle"),
+       N_("André Nusser"),
+       N_("Bent Bisballe Nyeng"),
        N_("Jack O'Quin"),
+       N_("Len Ovens"),
+       N_("Pavel Potocek"),
        N_("Nimal Ratnayake"),
+       N_("Julien Rivaud"),
        N_("David Robillard"),
+       N_("Julien Roger"),
        N_("Taybin Rutkin"),
        N_("Andreas Ruge"),
        N_("Sampo Savolainen"),
@@ -169,11 +188,14 @@ static const char* authors[] = {
        N_("Lincoln Spiteri"),
        N_("Mike Start"),
        N_("Mark Stewart"),
+       N_("Nathan Stewart"),
        N_("Roland Stigge"),
        N_("Petter Sundlöf"),
        N_("Mike Täht"),
        N_("Roy Vegard"),
        N_("Thorsten Wilms"),
+       N_("Damien Zammit"),
+       N_("Grygorii Zharun"),
        0
 };
 
@@ -264,7 +286,7 @@ patent must be licensed for everyone's free use or not licensed at all.\n\
   The precise terms and conditions for copying, distribution and\n\
 modification follow.\n\
 \f\n\
-                   GNU GENERAL PUBLIC LICENSE\n\
+""                 GNU GENERAL PUBLIC LICENSE\n\
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\
 \n\
   0. This License applies to any program or other work which contains\n\
@@ -546,7 +568,9 @@ proprietary programs.  If your program is a subroutine library, you may\n\
 consider it more useful to permit linking proprietary applications with the\n\
 library.  If this is what you want to do, use the GNU Library General\n\
 Public License instead of this License.\n\
-");
+"); /* Note that at the start of (approximately) line 265, the above license
+       text has been split into two concatenated tokens (to satisfy compilation
+       under MSVC). Hopefully this won't affect gcc */
 
 About::About ()
        : config_info (0)
@@ -562,7 +586,7 @@ About::About ()
 
        Searchpath spath(ardour_data_search_path());
 
-       if (find_file_in_search_path (spath, "splash.png", splash_file)) {
+       if (find_file (spath, "splash.png", splash_file)) {
                set_logo (Gdk::Pixbuf::create_from_file (splash_file));
        } else {
                error << "Could not find splash file" << endmsg;
@@ -575,15 +599,40 @@ About::About ()
                t += ' ';
        }
 
+#if defined __x86_64__ || defined _M_X64
+       const std::string cpu_arch = _("Intel 64-bit");
+#elif defined __i386__  || defined _M_IX86
+       const std::string cpu_arch = _("Intel 32-bit");
+#elif defined __ppc__ && defined  __LP64__
+       const std::string cpu_arch = _("PowerPC 64-bit");
+#elif defined __ppc__
+       const std::string cpu_arch = _("PowerPC 32-bit");
+#elif defined  __LP64__
+       const std::string cpu_arch = _("64-bit");
+#else
+       const std::string cpu_arch = _("32-bit"); // ARM, ALPHA,..
+#endif
+       std::string codename = CODENAME;
+       if (ARDOUR::Profile->get_mixbus() || ARDOUR::Profile->get_trx()) {
+               codename = "";
+       }
+
+#ifndef NDEBUG
+       const std::string suffix = _(" - debug");
+#else
+       const std::string suffix = "";
+#endif
+
        set_translator_credits (t);
-       set_copyright (_("Copyright (C) 1999-2013 Paul Davis\n"));
+       set_copyright (_("Copyright (C) 1999-2016 Paul Davis\n"));
        set_license (gpl);
        set_name (X_("Ardour"));
        set_website (X_("http://ardour.org/"));
        set_website_label (_("http://ardour.org/"));
-       set_version ((string_compose(_("%1\n(built from revision %2)"),
+       set_version ((string_compose(_("%1%2\n(rev %3)\n%4%5"),
                                     VERSIONSTRING,
-                                    revision)));
+                                    codename,
+                                    revision, cpu_arch, suffix)));
 
        Gtk::Button* config_button = manage (new Button (_("Config")));
 
@@ -595,6 +644,7 @@ About::About ()
        if (btn) {
                btn->signal_clicked().connect(sigc::mem_fun(static_cast<Gtk::Window*>(this), &Gtk::Window::hide));
        }
+       set_url_hook (sigc::ptr_fun(&About::launch_homepage));
 }
 
 About::~About ()
@@ -613,3 +663,8 @@ About::show_config_info ()
        config_info->hide ();
 }
 
+void
+About::launch_homepage (AboutDialog& /* about */, const Glib::ustring& website_url)
+{
+       PBD::open_uri (website_url);
+}