diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-04-15 15:00:35 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-04-15 15:00:35 +0100 |
| commit | a00ebbc68438e84076c65e99d0e70403afb4407d (patch) | |
| tree | 6ee2f535eeb6b592c740e117d1f8f8657d6bcce8 /src/tools | |
| parent | 665bc942f86bd7a8aeb2b38f3e9c2cb6662e6edc (diff) | |
| parent | 606b3f759238aa6c0d12de064b301bf36b428220 (diff) | |
Merge master.
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/dvdomatic.cc | 67 | ||||
| -rw-r--r-- | src/tools/po/es_ES.po | 128 | ||||
| -rw-r--r-- | src/tools/po/fr_FR.po | 125 | ||||
| -rw-r--r-- | src/tools/po/it_IT.po | 124 | ||||
| -rw-r--r-- | src/tools/po/sv_SE.po | 127 | ||||
| -rw-r--r-- | src/tools/servomatic_cli.cc | 9 | ||||
| -rw-r--r-- | src/tools/servomatic_gui.cc | 37 | ||||
| -rw-r--r-- | src/tools/servomatictest.cc | 6 | ||||
| -rw-r--r-- | src/tools/wscript | 3 |
9 files changed, 602 insertions, 24 deletions
diff --git a/src/tools/dvdomatic.cc b/src/tools/dvdomatic.cc index f5d9bdf18..212d4848e 100644 --- a/src/tools/dvdomatic.cc +++ b/src/tools/dvdomatic.cc @@ -71,7 +71,7 @@ public: { _dialog = new wxMessageDialog ( 0, - std_to_wx (String::compose ("Save changes to film \"%1\" before closing?", film->name())), + wxString::Format (_("Save changes to film \"%s\" before closing?"), std_to_wx (film->name ()).data()), _("Film changed"), wxYES_NO | wxYES_DEFAULT | wxICON_QUESTION ); @@ -284,7 +284,7 @@ private: void file_changed (string f) { stringstream s; - s << _("DVD-o-matic"); + s << wx_to_std (_("DVD-o-matic")); if (!f.empty ()) { s << " - " << f; } @@ -300,7 +300,7 @@ private: if (r == wxID_OK) { if (boost::filesystem::exists (d->get_path())) { - error_dialog (this, wxString::Format (_("The directory %s already exists."), d->get_path().c_str())); + error_dialog (this, std_to_wx (String::compose (wx_to_std (_("The directory %1 already exists.")), d->get_path().c_str()))); return; } @@ -317,8 +317,16 @@ private: void file_open (wxCommandEvent &) { wxDirDialog* c = new wxDirDialog (this, _("Select film to open"), wxStandardPaths::Get().GetDocumentsDir(), wxDEFAULT_DIALOG_STYLE | wxDD_DIR_MUST_EXIST); - int const r = c->ShowModal (); - + int r; + while (1) { + r = c->ShowModal (); + if (r == wxID_OK && c->GetPath() == wxStandardPaths::Get().GetDocumentsDir()) { + error_dialog (this, _("You did not select a folder. Make sure that you select a folder before clicking Open.")); + } else { + break; + } + } + if (r == wxID_OK) { maybe_save_then_delete_film (); try { @@ -328,7 +336,7 @@ private: } catch (std::exception& e) { wxString p = c->GetPath (); wxCharBuffer b = p.ToUTF8 (); - error_dialog (this, wxString::Format (_("Could not open film at %s (%s)"), p.data(), e.what())); + error_dialog (this, wxString::Format (_("Could not open film at %s (%s)"), p.data(), std_to_wx (e.what()).data())); } } @@ -407,12 +415,23 @@ private: } info.SetDescription (_("Free, open-source DCP generation from almost anything.")); info.SetCopyright (_("(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen")); + wxArrayString authors; authors.Add (wxT ("Carl Hetherington")); authors.Add (wxT ("Terrence Meiczinger")); authors.Add (wxT ("Paul Davis")); authors.Add (wxT ("Ole Laursen")); info.SetDevelopers (authors); + + wxArrayString translators; + translators.Add (wxT ("Olivier Perriere")); + translators.Add (wxT ("Lilian Lefranc")); + translators.Add (wxT ("Thierry Journet")); + translators.Add (wxT ("Massimiliano Broggi")); + translators.Add (wxT ("Manuel AC")); + translators.Add (wxT ("Adam Klotblixt")); + info.SetTranslators (translators); + info.SetWebSite (wxT ("http://carlh.net/software/dvdomatic")); wxAboutBox (info); } @@ -438,13 +457,20 @@ void setup_i18n () { int language = wxLANGUAGE_DEFAULT; + + if (Config::instance()->language()) { + wxLanguageInfo const * li = wxLocale::FindLanguageInfo (std_to_wx (Config::instance()->language().get())); + if (li) { + language = li->Language; + } + } if (wxLocale::IsAvailable (language)) { locale = new wxLocale (language, wxLOCALE_LOAD_DEFAULT); -#ifdef __WXGTK__ - locale->AddCatalogLookupPathPrefix (wxT (LOCALE_PREFIX "/locale")); -#endif +#ifdef DVDOMATIC_WINDOWS + locale->AddCatalogLookupPathPrefix (std_to_wx (mo_path().string())); +#endif locale->AddCatalog (wxT ("libdvdomatic-wx")); locale->AddCatalog (wxT ("dvdomatic")); @@ -455,6 +481,10 @@ setup_i18n () language = wxLANGUAGE_ENGLISH; } } + + if (locale) { + dvdomatic_setup_i18n (wx_to_std (locale->GetCanonicalName ())); + } } class App : public wxApp @@ -468,12 +498,27 @@ class App : public wxApp #ifdef DVDOMATIC_POSIX unsetenv ("UBUNTU_MENUPROXY"); #endif - + wxInitAllImageHandlers (); + + /* Enable i18n; this will create a Config object + to look for a force-configured language. This Config + object will be wrong, however, because dvdomatic_setup + hasn't yet been called and there aren't any scalers, filters etc. + set up yet. + */ setup_i18n (); - + + /* Set things up, including scalers / filters etc. + which will now be internationalised correctly. + */ dvdomatic_setup (); + /* Force the configuration to be re-loaded correctly next + time it is needed. + */ + Config::drop (); + if (!film_to_load.empty() && boost::filesystem::is_directory (film_to_load)) { try { film.reset (new Film (film_to_load)); diff --git a/src/tools/po/es_ES.po b/src/tools/po/es_ES.po new file mode 100644 index 000000000..abfbfef6d --- /dev/null +++ b/src/tools/po/es_ES.po @@ -0,0 +1,128 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: DVDOMATIC\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-04-09 11:14+0100\n" +"PO-Revision-Date: 2013-03-23 21:08-0500\n" +"Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n" +"Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n" +"Language: es-ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" + +#: src/tools/dvdomatic.cc:177 +msgid "&Analyse audio" +msgstr "&Analizar audio" + +#: src/tools/dvdomatic.cc:183 +msgid "&Edit" +msgstr "&Editar" + +#: src/tools/dvdomatic.cc:182 +msgid "&File" +msgstr "&Archivo" + +#: src/tools/dvdomatic.cc:185 +msgid "&Help" +msgstr "&Ayuda" + +#: src/tools/dvdomatic.cc:184 +msgid "&Jobs" +msgstr "&Tareas" + +#: src/tools/dvdomatic.cc:173 +msgid "&Make DCP" +msgstr "&Crear DCP" + +#: src/tools/dvdomatic.cc:161 +msgid "&Open..." +msgstr "&Abrir..." + +#: src/tools/dvdomatic.cc:170 +msgid "&Preferences..." +msgstr "&Preferencias..." + +#: src/tools/dvdomatic.cc:165 +msgid "&Properties..." +msgstr "&Propiedades..." + +#: src/tools/dvdomatic.cc:167 +msgid "&Quit" +msgstr "&Salir" + +#: src/tools/dvdomatic.cc:163 +msgid "&Save" +msgstr "&Guardar" + +#: src/tools/dvdomatic.cc:174 +msgid "&Send DCP to TMS" +msgstr "&Enviar DCP al TMS" + +#: src/tools/dvdomatic.cc:417 +msgid "" +"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" +msgstr "" +"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" + +#: src/tools/dvdomatic.cc:180 +msgid "About" +msgstr "Acerca de" + +#: src/tools/dvdomatic.cc:527 +#, fuzzy +msgid "Could not load film %1 (%2)" +msgstr "No se pudo cargar la película %s (%s)" + +#: src/tools/dvdomatic.cc:339 +#, c-format +msgid "Could not open film at %s (%s)" +msgstr "No se pudo cargar la película en %s (%s)" + +#: src/tools/dvdomatic.cc:287 src/tools/dvdomatic.cc:410 +#: src/tools/dvdomatic.cc:531 +msgid "DVD-o-matic" +msgstr "DVD-o-matic" + +#: src/tools/dvdomatic.cc:75 +msgid "Film changed" +msgstr "Película cambiada" + +#: src/tools/dvdomatic.cc:416 +msgid "Free, open-source DCP generation from almost anything." +msgstr "" +"Generación de DCP a partir de casi cualquier fuente, libre y de código " +"abierto." + +#: src/tools/dvdomatic.cc:160 +msgid "New..." +msgstr "Nuevo..." + +#: src/tools/dvdomatic.cc:175 +msgid "S&how DCP" +msgstr "&Mostrar DCP" + +#: src/tools/dvdomatic.cc:74 +msgid "Save changes to film \"%s\" before closing?" +msgstr "" + +#: src/tools/dvdomatic.cc:319 +msgid "Select film to open" +msgstr "Selecciona la película a abrir" + +#: src/tools/dvdomatic.cc:303 +#, fuzzy +msgid "The directory %1 already exists." +msgstr "La carpeta %s ya existe." + +#: src/tools/dvdomatic.cc:324 +msgid "" +"You did not select a folder. Make sure that you select a folder before " +"clicking Open." +msgstr "" diff --git a/src/tools/po/fr_FR.po b/src/tools/po/fr_FR.po new file mode 100644 index 000000000..b40c86877 --- /dev/null +++ b/src/tools/po/fr_FR.po @@ -0,0 +1,125 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: DVD-o-matic FRENCH\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-04-09 11:14+0100\n" +"PO-Revision-Date: 2013-03-13 22:33+0100\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/tools/dvdomatic.cc:177 +msgid "&Analyse audio" +msgstr "&Analyser le son" + +#: src/tools/dvdomatic.cc:183 +msgid "&Edit" +msgstr "&Edition" + +#: src/tools/dvdomatic.cc:182 +msgid "&File" +msgstr "&Fichier" + +#: src/tools/dvdomatic.cc:185 +msgid "&Help" +msgstr "&Aide" + +#: src/tools/dvdomatic.cc:184 +msgid "&Jobs" +msgstr "&Travaux" + +#: src/tools/dvdomatic.cc:173 +msgid "&Make DCP" +msgstr "&Créer le DCP" + +#: src/tools/dvdomatic.cc:161 +msgid "&Open..." +msgstr "&Ouvrir..." + +#: src/tools/dvdomatic.cc:170 +msgid "&Preferences..." +msgstr "&Préférences..." + +#: src/tools/dvdomatic.cc:165 +msgid "&Properties..." +msgstr "&Propriétés..." + +#: src/tools/dvdomatic.cc:167 +msgid "&Quit" +msgstr "&Quitter" + +#: src/tools/dvdomatic.cc:163 +msgid "&Save" +msgstr "&Enregistrer" + +#: src/tools/dvdomatic.cc:174 +msgid "&Send DCP to TMS" +msgstr "&Envoyer le DCP dans le TMS" + +#: src/tools/dvdomatic.cc:417 +msgid "" +"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" +msgstr "" +"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" + +#: src/tools/dvdomatic.cc:180 +msgid "About" +msgstr "A Propos" + +#: src/tools/dvdomatic.cc:527 +#, fuzzy +msgid "Could not load film %1 (%2)" +msgstr "Impossible de charger le film %s (%s)" + +#: src/tools/dvdomatic.cc:339 +#, c-format +msgid "Could not open film at %s (%s)" +msgstr "Impossible d'ouvrir le film à %s (%s)" + +#: src/tools/dvdomatic.cc:287 src/tools/dvdomatic.cc:410 +#: src/tools/dvdomatic.cc:531 +msgid "DVD-o-matic" +msgstr "DVD-o-matic" + +#: src/tools/dvdomatic.cc:75 +msgid "Film changed" +msgstr "Film changé" + +#: src/tools/dvdomatic.cc:416 +msgid "Free, open-source DCP generation from almost anything." +msgstr "Création de DCP libre et open-source à partir de presque tout." + +#: src/tools/dvdomatic.cc:160 +msgid "New..." +msgstr "Nouveau..." + +#: src/tools/dvdomatic.cc:175 +msgid "S&how DCP" +msgstr "Voir le DCP" + +#: src/tools/dvdomatic.cc:74 +msgid "Save changes to film \"%s\" before closing?" +msgstr "" + +#: src/tools/dvdomatic.cc:319 +msgid "Select film to open" +msgstr "Sélectionner le film à ouvrir" + +#: src/tools/dvdomatic.cc:303 +#, fuzzy +msgid "The directory %1 already exists." +msgstr "Le dossier %s existe déjà." + +#: src/tools/dvdomatic.cc:324 +msgid "" +"You did not select a folder. Make sure that you select a folder before " +"clicking Open." +msgstr "" diff --git a/src/tools/po/it_IT.po b/src/tools/po/it_IT.po new file mode 100644 index 000000000..38cbec157 --- /dev/null +++ b/src/tools/po/it_IT.po @@ -0,0 +1,124 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: IT VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-04-09 11:14+0100\n" +"PO-Revision-Date: 2013-04-03 13:00+0100\n" +"Last-Translator: Maci <macibro@gmail.com>\n" +"Language-Team: \n" +"Language: Italiano\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" + +#: src/tools/dvdomatic.cc:177 +msgid "&Analyse audio" +msgstr "&Analizza audio" + +#: src/tools/dvdomatic.cc:183 +msgid "&Edit" +msgstr "&Modifica" + +#: src/tools/dvdomatic.cc:182 +msgid "&File" +msgstr "&File" + +#: src/tools/dvdomatic.cc:185 +msgid "&Help" +msgstr "&Aiuto" + +#: src/tools/dvdomatic.cc:184 +msgid "&Jobs" +msgstr "&Lavori" + +#: src/tools/dvdomatic.cc:173 +msgid "&Make DCP" +msgstr "&Crea DCP" + +#: src/tools/dvdomatic.cc:161 +msgid "&Open..." +msgstr "&Apri..." + +#: src/tools/dvdomatic.cc:170 +msgid "&Preferences..." +msgstr "&Preferenze..." + +#: src/tools/dvdomatic.cc:165 +msgid "&Properties..." +msgstr "&Proprieta'..." + +#: src/tools/dvdomatic.cc:167 +msgid "&Quit" +msgstr "&Esci" + +#: src/tools/dvdomatic.cc:163 +msgid "&Save" +msgstr "&Salva" + +#: src/tools/dvdomatic.cc:174 +msgid "&Send DCP to TMS" +msgstr "&Invia DCP a TMS" + +#: src/tools/dvdomatic.cc:417 +msgid "" +"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" +msgstr "" +"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" + +#: src/tools/dvdomatic.cc:180 +msgid "About" +msgstr "Informazioni" + +#: src/tools/dvdomatic.cc:527 +msgid "Could not load film %1 (%2)" +msgstr "Non posso caricare il film %s (%s)" + +#: src/tools/dvdomatic.cc:339 +#, c-format +msgid "Could not open film at %s (%s)" +msgstr "Non posso aprire il film in %s (%s)" + +#: src/tools/dvdomatic.cc:287 src/tools/dvdomatic.cc:410 +#: src/tools/dvdomatic.cc:531 +msgid "DVD-o-matic" +msgstr "DVD-o-matic" + +#: src/tools/dvdomatic.cc:75 +msgid "Film changed" +msgstr "Film modificato" + +#: src/tools/dvdomatic.cc:416 +msgid "Free, open-source DCP generation from almost anything." +msgstr "Genera DCP da quasi tutto, free e open-source." + +#: src/tools/dvdomatic.cc:160 +msgid "New..." +msgstr "Nuovo" + +#: src/tools/dvdomatic.cc:175 +msgid "S&how DCP" +msgstr "&Mostra DCP" + +#: src/tools/dvdomatic.cc:74 +msgid "Save changes to film \"%s\" before closing?" +msgstr "Salvare i cambiamenti del film \"%s\" prima di chiudere?" + +#: src/tools/dvdomatic.cc:319 +msgid "Select film to open" +msgstr "Seleziona il film da aprire" + +#: src/tools/dvdomatic.cc:303 +msgid "The directory %1 already exists." +msgstr "La directory %s esiste gia'." + +#: src/tools/dvdomatic.cc:324 +msgid "" +"You did not select a folder. Make sure that you select a folder before " +"clicking Open." +msgstr "" diff --git a/src/tools/po/sv_SE.po b/src/tools/po/sv_SE.po new file mode 100644 index 000000000..28566d876 --- /dev/null +++ b/src/tools/po/sv_SE.po @@ -0,0 +1,127 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: DVD-o-matic\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-04-09 11:14+0100\n" +"PO-Revision-Date: 2013-04-09 10:12+0100\n" +"Last-Translator: Adam Klotblixt <adam.klotblixt@gmail.com>\n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" + +#: src/tools/dvdomatic.cc:177 +msgid "&Analyse audio" +msgstr "&Analysera audio" + +#: src/tools/dvdomatic.cc:183 +msgid "&Edit" +msgstr "&Redigera" + +#: src/tools/dvdomatic.cc:182 +msgid "&File" +msgstr "&Fil" + +#: src/tools/dvdomatic.cc:185 +msgid "&Help" +msgstr "&Hjälp" + +#: src/tools/dvdomatic.cc:184 +msgid "&Jobs" +msgstr "&Jobb" + +#: src/tools/dvdomatic.cc:173 +msgid "&Make DCP" +msgstr "&Skapa DCP" + +#: src/tools/dvdomatic.cc:161 +msgid "&Open..." +msgstr "&Öppna" + +#: src/tools/dvdomatic.cc:170 +msgid "&Preferences..." +msgstr "&Inställningar" + +#: src/tools/dvdomatic.cc:165 +msgid "&Properties..." +msgstr "&Egenskaper" + +#: src/tools/dvdomatic.cc:167 +msgid "&Quit" +msgstr "&Avsluta" + +#: src/tools/dvdomatic.cc:163 +msgid "&Save" +msgstr "&Spara" + +#: src/tools/dvdomatic.cc:174 +msgid "&Send DCP to TMS" +msgstr "&Skicka DCP till TMS" + +#: src/tools/dvdomatic.cc:417 +msgid "" +"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" +msgstr "" +"(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" + +#: src/tools/dvdomatic.cc:180 +msgid "About" +msgstr "Om" + +#: src/tools/dvdomatic.cc:527 +msgid "Could not load film %1 (%2)" +msgstr "Kunde inte öppna filmen %1 (%2)" + +#: src/tools/dvdomatic.cc:339 +#, c-format +msgid "Could not open film at %s (%s)" +msgstr "Kunde inte öppna filmen vid %s (%s)" + +#: src/tools/dvdomatic.cc:287 src/tools/dvdomatic.cc:410 +#: src/tools/dvdomatic.cc:531 +msgid "DVD-o-matic" +msgstr "DVD-o-matic" + +#: src/tools/dvdomatic.cc:75 +msgid "Film changed" +msgstr "Film ändrad" + +#: src/tools/dvdomatic.cc:416 +msgid "Free, open-source DCP generation from almost anything." +msgstr "" +"Fri, öppen-källkodsprogramvara för DCP-generering från nästan vad som helst." + +#: src/tools/dvdomatic.cc:160 +msgid "New..." +msgstr "Ny..." + +#: src/tools/dvdomatic.cc:175 +msgid "S&how DCP" +msgstr "&Visa DCP" + +#: src/tools/dvdomatic.cc:74 +msgid "Save changes to film \"%1\" before closing?" +msgstr "Spara ändringarna till filmen \"%1\" före avslut?" + +#: src/tools/dvdomatic.cc:319 +msgid "Select film to open" +msgstr "Välj film att öppna" + +#: src/tools/dvdomatic.cc:303 +msgid "The directory %1 already exists." +msgstr "Katalogen %1 finns redan." + +#: src/tools/dvdomatic.cc:324 +msgid "" +"You did not select a folder. Make sure that you select a folder before " +"clicking Open." +msgstr "" +"Du har inte valt en folder. Se till att välja en folder innan du klickar på " +"Öppna." diff --git a/src/tools/servomatic_cli.cc b/src/tools/servomatic_cli.cc index f8e713193..6626d45b9 100644 --- a/src/tools/servomatic_cli.cc +++ b/src/tools/servomatic_cli.cc @@ -42,7 +42,10 @@ #include "log.h" #include "version.h" -using namespace std; +using std::cerr; +using std::string; +using std::cout; +using boost::shared_ptr; static void help (string n) @@ -87,8 +90,8 @@ main (int argc, char* argv[]) } Scaler::setup_scalers (); - FileLog log ("servomatic.log"); - Server server (&log); + shared_ptr<FileLog> log (new FileLog ("servomatic.log")); + Server server (log); server.run (num_threads); return 0; } diff --git a/src/tools/servomatic_gui.cc b/src/tools/servomatic_gui.cc index 610ba8005..5e36660eb 100644 --- a/src/tools/servomatic_gui.cc +++ b/src/tools/servomatic_gui.cc @@ -25,8 +25,11 @@ #include "lib/server.h" #include "lib/config.h" -using namespace std; -using namespace boost; +using std::cout; +using std::string; +using boost::shared_ptr; +using boost::thread; +using boost::bind; enum { ID_status = 1, @@ -52,7 +55,7 @@ private: string _log; }; -static MemoryLog memory_log; +static shared_ptr<MemoryLog> memory_log (new MemoryLog); class StatusDialog : public wxDialog { @@ -77,7 +80,7 @@ public: private: void update (wxTimerEvent &) { - _text->ChangeValue (std_to_wx (memory_log.get ())); + _text->ChangeValue (std_to_wx (memory_log->get ())); _sizer->Layout (); } @@ -91,7 +94,15 @@ class TaskBarIcon : public wxTaskBarIcon public: TaskBarIcon () { +#ifdef __WXMSW__ wxIcon icon (std_to_wx ("taskbar_icon")); +#endif +#ifdef __WXGTK__ + wxInitAllImageHandlers(); + wxBitmap bitmap (wxString::Format (wxT ("%s/taskbar_icon.png"), POSIX_ICON_PREFIX), wxBITMAP_TYPE_PNG); + wxIcon icon; + icon.CopyFromBitmap (bitmap); +#endif SetIcon (icon, std_to_wx ("DVD-o-matic encode server")); Connect (ID_status, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler (TaskBarIcon::status)); @@ -125,27 +136,39 @@ public: App () : wxApp () , _thread (0) + , _icon (0) {} private: bool OnInit () { + if (!wxApp::OnInit ()) { + return false; + } + dvdomatic_setup (); - new TaskBarIcon; - + _icon = new TaskBarIcon; _thread = new thread (bind (&App::main_thread, this)); + return true; } + int OnExit () + { + delete _icon; + return wxApp::OnExit (); + } + void main_thread () { - Server server (&memory_log); + Server server (memory_log); server.run (Config::instance()->num_local_encoding_threads ()); } boost::thread* _thread; + TaskBarIcon* _icon; }; IMPLEMENT_APP (App) diff --git a/src/tools/servomatictest.cc b/src/tools/servomatictest.cc index 91ad02120..f5756c693 100644 --- a/src/tools/servomatictest.cc +++ b/src/tools/servomatictest.cc @@ -43,7 +43,7 @@ using std::pair; using boost::shared_ptr; static ServerDescription* server; -static FileLog log_ ("servomatictest.log"); +static shared_ptr<FileLog> log_ (new FileLog ("servomatictest.log")); static int frame = 0; void @@ -53,14 +53,14 @@ process_video (shared_ptr<Image> image, bool, shared_ptr<Subtitle> sub) new DCPVideoFrame ( image, sub, libdcp::Size (1024, 1024), 0, 0, 0, - Scaler::from_id ("bicubic"), frame, 24, "", 0, 250000000, &log_) + Scaler::from_id ("bicubic"), frame, 24, "", 0, 250000000, log_) ); shared_ptr<DCPVideoFrame> remote ( new DCPVideoFrame ( image, sub, libdcp::Size (1024, 1024), 0, 0, 0, - Scaler::from_id ("bicubic"), frame, 24, "", 0, 250000000, &log_) + Scaler::from_id ("bicubic"), frame, 24, "", 0, 250000000, log_) ); cout << "Frame " << frame << ": "; diff --git a/src/tools/wscript b/src/tools/wscript index 64d5efe56..9f0f52152 100644 --- a/src/tools/wscript +++ b/src/tools/wscript @@ -27,3 +27,6 @@ def build(bld): def pot(bld): i18n.pot(os.path.join('src', 'tools'), 'dvdomatic.cc', 'dvdomatic') + +def pot_merge(bld): + i18n.pot_merge(os.path.join('src', 'tools'), 'dvdomatic') |
