Merge master.
authorCarl Hetherington <cth@carlh.net>
Tue, 21 May 2013 20:07:35 +0000 (21:07 +0100)
committerCarl Hetherington <cth@carlh.net>
Tue, 21 May 2013 20:07:35 +0000 (21:07 +0100)
21 files changed:
ChangeLog
cscript
src/lib/film.cc
src/lib/format.cc
src/lib/po/es_ES.po
src/lib/po/fr_FR.po
src/lib/po/it_IT.po
src/lib/po/sv_SE.po
src/lib/stack.cpp [new file with mode: 0644]
src/lib/stack.hpp [new file with mode: 0644]
src/lib/util.cc
src/lib/wscript
src/tools/po/es_ES.po
src/tools/po/fr_FR.po
src/tools/po/it_IT.po
src/tools/po/sv_SE.po
src/wx/po/es_ES.po
src/wx/po/fr_FR.po
src/wx/po/it_IT.po
src/wx/po/sv_SE.po
wscript

index e75dd06211e9fd7812fcfe68e1fbedec57a3328a..e269bf550751e917238762d8362fad527e49e035 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2013-05-19  Carl Hetherington  <cth@carlh.net>
+
+       * Version 0.92 released.
+
+2013-05-19  Carl Hetherington  <cth@carlh.net>
+       
+       * Version 0.91 released.
+
+2013-05-19  Carl Hetherington  <cth@carlh.net>
+
+       * Hopefully fix load of decimal values (e.g. frame rates)
+       in non-English locales on Windows.
+
+2013-05-17  Carl Hetherington  <cth@carlh.net>
+
+       * Version 0.90 released.
+
+2013-05-17  Carl Hetherington  <cth@carlh.net>
+
+       * Write backtrace files when Windows
+       version crashes.
+
+       * Try to fix crash on stills with no audio.
+
 2013-05-06  Carl Hetherington  <cth@carlh.net>
 
        * Fix resizing / redraw problems in audio viewer
diff --git a/cscript b/cscript
index b54b7da31ff5124bea48a1e832ff95e1689a6a1b..17f267628c3e1550698d6b174400028e77dda8d4 100644 (file)
--- a/cscript
+++ b/cscript
@@ -29,7 +29,7 @@ def package(env, target, version):
     if target.platform == 'windows':
         shutil.copyfile('build/windows/installer.%s.nsi' % target.bits, 'build/windows/installer2.%s.nsi' % target.bits)
         env.command('sed -i "s~%%resources%%~%s/windows~g" build/windows/installer2.%s.nsi' % (os.getcwd(), target.bits))
-        env.command('sed -i "s~%%deps%%~%s~g" build/windows/installer2.%s.nsi' % (env.windows_prefix(), target.bits))
+        env.command('sed -i "s~%%deps%%~%s~g" build/windows/installer2.%s.nsi' % (env.windows_prefix, target.bits))
         env.command('sed -i "s~%%binaries%%~%s/build~g" build/windows/installer2.%s.nsi' % (os.getcwd(), target.bits))
         env.command('sed -i "s~%%bits%%~32~g" build/windows/installer2.%s.nsi' % target.bits)
         env.command('makensis build/windows/installer2.%s.nsi' % target.bits)
index 37af4cb20c4de0e28e115bf7d05192c93d1938c3..487499e32acd8698ed2ca6f6b87ab0e24e7e558c 100644 (file)
@@ -695,7 +695,6 @@ Film::set_trust_content_headers (bool t)
        }
        
        signal_changed (TRUST_CONTENT_HEADERS);
-
        
        Playlist::ContentList content = _playlist->content ();
        if (!_trust_content_headers && !content.empty()) {
index 688b22f16dc5f049602ab323ac75d76a803b1b30..e2efe9a6ba61f2c8bf840d12851e53c3ad039ff4 100644 (file)
@@ -66,59 +66,63 @@ Format::setup_formats ()
 {
        /// TRANSLATORS: these are film picture aspect ratios; "Academy" means 1.37, "Flat" 1.85 and "Scope" 2.39.
        _formats.push_back (
-               new FixedFormat (1.19, libdcp::Size (1285, 1080), N_("119"), _("1.19"), N_("F")
+               new FixedFormat (1.19, libdcp::Size (1285, 1080), "119", _("1.19"), "F"
                        ));
        
        _formats.push_back (
-               new FixedFormat (4.0 / 3.0, libdcp::Size (1436, 1080), N_("133"), _("4:3"), N_("F")
+               new FixedFormat (4.0 / 3.0, libdcp::Size (1436, 1080), "133", _("4:3"), "F"
                        ));
        
        _formats.push_back (
-               new FixedFormat (1.38, libdcp::Size (1485, 1080), N_("138"), _("1.375"), N_("F")
+               new FixedFormat (1.38, libdcp::Size (1485, 1080), "138", _("1.375"), "F"
                        ));
        
        _formats.push_back (
-               new FixedFormat (4.0 / 3.0, libdcp::Size (1998, 1080), N_("133-in-flat"), _("4:3 within Flat"), N_("F")
+               new FixedFormat (4.0 / 3.0, libdcp::Size (1998, 1080), "133-in-flat", _("4:3 within Flat"), "F"
                        ));
        
        _formats.push_back (
-               new FixedFormat (1.37, libdcp::Size (1480, 1080), N_("137"), _("Academy"), N_("F")
+               new FixedFormat (1.37, libdcp::Size (1480, 1080), "137", _("Academy"), "F"
                        ));
        
        _formats.push_back (
-               new FixedFormat (1.66, libdcp::Size (1793, 1080), N_("166"), _("1.66"), N_("F")
+               new FixedFormat (1.66, libdcp::Size (1793, 1080), "166", _("1.66"), "F"
                        ));
        
        _formats.push_back (
-               new FixedFormat (1.66, libdcp::Size (1998, 1080), N_("166-in-flat"), _("1.66 within Flat"), N_("F")
+               new FixedFormat (1.66, libdcp::Size (1998, 1080), "166-in-flat", _("1.66 within Flat"), "F"
                        ));
        
        _formats.push_back (
-               new FixedFormat (1.78, libdcp::Size (1998, 1080), N_("178-in-flat"), _("16:9 within Flat"), N_("F")
+               new FixedFormat (1.78, libdcp::Size (1998, 1080), "178-in-flat", _("16:9 within Flat"), "F"
                        ));
        
        _formats.push_back (
-               new FixedFormat (1.78, libdcp::Size (1920, 1080), N_("178"), _("16:9"), N_("F")
+               new FixedFormat (1.78, libdcp::Size (1920, 1080), "178", _("16:9"), "F"
                        ));
        
        _formats.push_back (
-               new FixedFormat (1.85, libdcp::Size (1998, 1080), N_("185"), _("Flat"), N_("F")
+               new FixedFormat (1.85, libdcp::Size (1998, 1080), "185", _("Flat"), "F"
                        ));
        
        _formats.push_back (
-               new FixedFormat (1.78, libdcp::Size (2048, 858), N_("178-in-scope"), _("16:9 within Scope"), N_("S")
+               new FixedFormat (1.78, libdcp::Size (2048, 858), "178-in-scope", _("16:9 within Scope"), "S"
                        ));
        
        _formats.push_back (
-               new FixedFormat (2.39, libdcp::Size (2048, 858), N_("239"), _("Scope"), N_("S")
+               new FixedFormat (2.39, libdcp::Size (2048, 858), "239", _("Scope"), "S"
+                       ));
+
+       _formats.push_back (
+               new FixedFormat (1.896, libdcp::Size (2048, 1080), "full-frame", _("Full frame"), "C"
                        ));
                
        _formats.push_back (
-               new VariableFormat (libdcp::Size (1998, 1080), N_("var-185"), _("Flat without stretch"), N_("F")
+               new VariableFormat (libdcp::Size (1998, 1080), "var-185", _("Flat without stretch"), "F"
                        ));
        
        _formats.push_back (
-               new VariableFormat (libdcp::Size (2048, 858), N_("var-239"), _("Scope without stretch"), N_("S")
+               new VariableFormat (libdcp::Size (2048, 858), "var-239", _("Scope without stretch"), "S"
                        ));
 }
 
index 7d2f8511e002314ab866778bcdcd18ccffd2b1a9..58ad48a9c9fd2d411910c38a8da878acf9f06759 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: LIBDCPOMATIC\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
+"POT-Creation-Date: 2013-05-09 09:51+0100\n"
 "PO-Revision-Date: 2013-04-02 19:10-0500\n"
 "Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n"
 "Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n"
@@ -74,7 +74,7 @@ msgstr "Academy"
 msgid "Advertisement"
 msgstr "Publicidad"
 
-#: src/lib/job.cc:72
+#: src/lib/job.cc:73
 msgid "An error occurred whilst handling the file %1."
 msgstr "Ha ocurrido un error con el fichero %1."
 
@@ -94,7 +94,7 @@ msgstr "Bicúbico"
 msgid "Bilinear"
 msgstr "Bilineal"
 
-#: src/lib/job.cc:306
+#: src/lib/job.cc:318
 msgid "Cancelled"
 msgstr ""
 
@@ -107,7 +107,7 @@ msgid "Cannot resample audio as libswresample is not present"
 msgstr ""
 "No se puede redimensionar el sonido porque no se encuentra libswresample"
 
-#: src/lib/util.cc:932
+#: src/lib/util.cc:960
 msgid "Centre"
 msgstr ""
 
@@ -139,16 +139,16 @@ msgstr "No se pudo escribir el fichero remoto (%1)"
 msgid "Cubic interpolating deinterlacer"
 msgstr "Desentrelazado por interpolación cúbica"
 
-#: src/lib/util.cc:1007
+#: src/lib/util.cc:1035
 msgid "DCP and source have the same rate.\n"
 msgstr "La fuente y el DCP tienen la misma velocidad.\n"
 
-#: src/lib/util.cc:1017
+#: src/lib/util.cc:1045
 #, fuzzy
 msgid "DCP will run at %1%% of the source speed.\n"
 msgstr "El DCP se reproducirá al %1%% de la velocidad de la fuente.\n"
 
-#: src/lib/util.cc:1010
+#: src/lib/util.cc:1038
 msgid "DCP will use every other frame of the source.\n"
 msgstr "El DCP usará fotogramas alternos de la fuente.\n"
 
@@ -171,11 +171,11 @@ msgstr "Deringing filter"
 msgid "Dolby CP750"
 msgstr "Dolby CP750"
 
-#: src/lib/util.cc:1012
+#: src/lib/util.cc:1040
 msgid "Each source frame will be doubled in the DCP.\n"
 msgstr "Se doblará cada fotograma de la fuente en el DCP.\n"
 
-#: src/lib/job.cc:304
+#: src/lib/job.cc:316
 msgid "Error (%1)"
 msgstr "Error (%1)"
 
@@ -247,7 +247,7 @@ msgstr "Horizontal deblocking filter"
 msgid "Horizontal deblocking filter A"
 msgstr "Horizontal deblocking filter A"
 
-#: src/lib/job.cc:96 src/lib/job.cc:105
+#: src/lib/job.cc:97 src/lib/job.cc:106
 msgid ""
 "It is not known what caused this error.  The best idea is to report the "
 "problem to the DCP-o-matic mailing list (dcpomatic@carlh.net)"
@@ -263,15 +263,15 @@ msgstr "Kernel deinterlacer"
 msgid "Lanczos"
 msgstr "Lanczos"
 
-#: src/lib/util.cc:930
+#: src/lib/util.cc:958
 msgid "Left"
 msgstr ""
 
-#: src/lib/util.cc:934
+#: src/lib/util.cc:962
 msgid "Left surround"
 msgstr ""
 
-#: src/lib/util.cc:933
+#: src/lib/util.cc:961
 msgid "Lfe (sub)"
 msgstr ""
 
@@ -301,7 +301,7 @@ msgstr "Motion compensating deinterlacer"
 msgid "Noise reduction"
 msgstr "Reducción de ruido"
 
-#: src/lib/job.cc:302
+#: src/lib/job.cc:314
 msgid "OK (ran for %1)"
 msgstr "OK (ejecución %1)"
 
@@ -321,15 +321,15 @@ msgstr "Anuncio de servicio público"
 msgid "Rating"
 msgstr "Clasificación"
 
-#: src/lib/util.cc:500
+#: src/lib/util.cc:513
 msgid "Rec 709"
 msgstr "Rec 709"
 
-#: src/lib/util.cc:931
+#: src/lib/util.cc:959
 msgid "Right"
 msgstr ""
 
-#: src/lib/util.cc:935
+#: src/lib/util.cc:963
 msgid "Right surround"
 msgstr ""
 
@@ -373,7 +373,7 @@ msgstr "Temporal noise reducer"
 msgid "Test"
 msgstr "Test"
 
-#: src/lib/job.cc:78
+#: src/lib/job.cc:79
 msgid ""
 "The drive that the film is stored on is low in disc space.  Free some more "
 "space and try again."
@@ -393,7 +393,7 @@ msgstr "Codificar %1"
 msgid "Transitional"
 msgstr "Transitional"
 
-#: src/lib/job.cc:104
+#: src/lib/job.cc:105
 msgid "Unknown error"
 msgstr "Error desconocido"
 
@@ -429,7 +429,7 @@ msgstr "Yet Another Deinterlacing Filter"
 msgid "cannot contain slashes"
 msgstr "no puede contener barras"
 
-#: src/lib/util.cc:541
+#: src/lib/util.cc:554
 msgid "connect timed out"
 msgstr "tiempo de conexión agotado"
 
@@ -470,7 +470,7 @@ msgstr "no se pudo encontrar decodificador de subtítutlos"
 msgid "could not find video decoder"
 msgstr "no se pudo encontrar decodificador de vídeo"
 
-#: src/lib/sndfile_decoder.cc:72
+#: src/lib/sndfile_decoder.cc:67
 msgid "could not open external audio file for reading"
 msgstr "no se pudo leer el fichero externo  de audio"
 
@@ -505,11 +505,11 @@ msgstr "no se pudo abrir la sesión SSH"
 msgid "could not write to file %1 (%2)"
 msgstr "No se pudo escribir el fichero remoto (%1)"
 
-#: src/lib/sndfile_decoder.cc:94
+#: src/lib/sndfile_decoder.cc:89
 msgid "external audio files have differing lengths"
 msgstr "los ficheros externos de sonido tienen duraciones diferentes"
 
-#: src/lib/sndfile_decoder.cc:76
+#: src/lib/sndfile_decoder.cc:71
 msgid "external audio files must be mono"
 msgstr "los ficheros externos de sonido deben ser mono"
 
@@ -521,23 +521,23 @@ msgstr "formato"
 msgid "frames per second"
 msgstr "fotogramas por segundo"
 
-#: src/lib/util.cc:115
+#: src/lib/util.cc:128
 msgid "hour"
 msgstr "hora"
 
-#: src/lib/util.cc:112 src/lib/util.cc:117
+#: src/lib/util.cc:125 src/lib/util.cc:130
 msgid "hours"
 msgstr "horas"
 
-#: src/lib/util.cc:122
+#: src/lib/util.cc:135
 msgid "minute"
 msgstr "minuto"
 
-#: src/lib/util.cc:124
+#: src/lib/util.cc:137
 msgid "minutes"
 msgstr "minutos"
 
-#: src/lib/util.cc:684
+#: src/lib/util.cc:697
 msgid "missing key %1 in key-value set"
 msgstr "falta la clave %1 en el par clave-valor"
 
@@ -563,15 +563,15 @@ msgstr "todavía no se soportan subtítulos que no son en mapas de bits"
 
 #. / TRANSLATORS: remaining here follows an amount of time that is remaining
 #. / on an operation.
-#: src/lib/job.cc:299
+#: src/lib/job.cc:311
 msgid "remaining"
 msgstr "pendiente"
 
-#: src/lib/util.cc:498
+#: src/lib/util.cc:511
 msgid "sRGB"
 msgstr "sRGB"
 
-#: src/lib/util.cc:127
+#: src/lib/util.cc:140
 msgid "seconds"
 msgstr "segundos"
 
index 7f3da788b2fc99389540b90b14fe107a380ba08f..d69e2f7d5c31d3587e2b2c747426b25f38e5b029 100644 (file)
@@ -7,9 +7,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: DCP-o-matic FRENCH\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
-"PO-Revision-Date: 2013-03-20 00:39+0100\n"
-"Last-Translator: FreeDCP.net <freedcp.net@gmail.com>\n"
+"POT-Creation-Date: 2013-05-09 09:51+0100\n"
+"PO-Revision-Date: 2013-05-10 14:33+0100\n"
+"Last-Translator: \n"
 "Language-Team: \n"
 "Language: \n"
 "MIME-Version: 1.0\n"
@@ -55,7 +55,7 @@ msgstr "Débruitage 3D"
 
 #: src/lib/format.cc:79
 msgid "4:3"
-msgstr ""
+msgstr "4:3"
 
 #: src/lib/format.cc:87
 msgid "4:3 within Flat"
@@ -73,7 +73,7 @@ msgstr "Academy"
 msgid "Advertisement"
 msgstr "Advertisement"
 
-#: src/lib/job.cc:72
+#: src/lib/job.cc:73
 msgid "An error occurred whilst handling the file %1."
 msgstr "Une erreur s'est produite lors du traitement du fichier %1."
 
@@ -93,21 +93,21 @@ msgstr "Bicubique"
 msgid "Bilinear"
 msgstr "Bilinéaire"
 
-#: src/lib/job.cc:306
+#: src/lib/job.cc:318
 msgid "Cancelled"
-msgstr ""
+msgstr "Annulé"
 
 #: src/lib/exceptions.cc:60
 msgid "Cannot handle pixel format %1 during %2"
-msgstr ""
+msgstr "Format du pixel %1 non géré par %2"
 
 #: src/lib/encoder.cc:101
 msgid "Cannot resample audio as libswresample is not present"
 msgstr "Ré-échantillonnage du son impossible : libswresample est absent"
 
-#: src/lib/util.cc:932
+#: src/lib/util.cc:960
 msgid "Centre"
-msgstr ""
+msgstr "Centre"
 
 #: src/lib/scp_dcp_job.cc:109
 msgid "Copy DCP to TMS"
@@ -137,27 +137,37 @@ msgstr "Écriture vers fichier distant (%1) impossible"
 msgid "Cubic interpolating deinterlacer"
 msgstr "Désentrelacement cubique interpolé"
 
-#: src/lib/util.cc:1007
+#: src/lib/util.cc:1035
 msgid "DCP and source have the same rate.\n"
 msgstr "Le DCP et la source ont les mêmes cadences.\n"
 
-#: src/lib/util.cc:1017
+#: src/lib/util.cc:1045
 #, fuzzy
 msgid "DCP will run at %1%% of the source speed.\n"
 msgstr "La cadence du DCP sera %1%% par rapport à la source.\n"
 
-#: src/lib/util.cc:1010
+#: src/lib/util.cc:1038
 msgid "DCP will use every other frame of the source.\n"
 msgstr "Le DCP utilisera une image sur deux de la source.\n"
 
-#: src/lib/filter.cc:68 src/lib/filter.cc:69 src/lib/filter.cc:70
-#: src/lib/filter.cc:71 src/lib/filter.cc:72 src/lib/filter.cc:73
+#: src/lib/filter.cc:68
+#: src/lib/filter.cc:69
+#: src/lib/filter.cc:70
+#: src/lib/filter.cc:71
+#: src/lib/filter.cc:72
+#: src/lib/filter.cc:73
 msgid "De-blocking"
 msgstr "De-bloc"
 
-#: src/lib/filter.cc:75 src/lib/filter.cc:76 src/lib/filter.cc:77
-#: src/lib/filter.cc:78 src/lib/filter.cc:79 src/lib/filter.cc:80
-#: src/lib/filter.cc:81 src/lib/filter.cc:82 src/lib/filter.cc:83
+#: src/lib/filter.cc:75
+#: src/lib/filter.cc:76
+#: src/lib/filter.cc:77
+#: src/lib/filter.cc:78
+#: src/lib/filter.cc:79
+#: src/lib/filter.cc:80
+#: src/lib/filter.cc:81
+#: src/lib/filter.cc:82
+#: src/lib/filter.cc:83
 msgid "De-interlacing"
 msgstr "Désentrelacement"
 
@@ -169,11 +179,11 @@ msgstr "Filtre anti bourdonnement"
 msgid "Dolby CP750"
 msgstr "Dolby CP750"
 
-#: src/lib/util.cc:1012
+#: src/lib/util.cc:1040
 msgid "Each source frame will be doubled in the DCP.\n"
 msgstr "Chaque image source sera dupliquée dans le DCP.\n"
 
-#: src/lib/job.cc:304
+#: src/lib/job.cc:316
 msgid "Error (%1)"
 msgstr "Erreur (%1)"
 
@@ -245,13 +255,10 @@ msgstr "Filtre dé-bloc horizontal"
 msgid "Horizontal deblocking filter A"
 msgstr "Filtre dé-bloc horizontal"
 
-#: src/lib/job.cc:96 src/lib/job.cc:105
-msgid ""
-"It is not known what caused this error.  The best idea is to report the "
-"problem to the DCP-o-matic mailing list (dcpomatic@carlh.net)"
-msgstr ""
-"Erreur indéterminée. Merci de rapporter le problème à la liste DCP-o-matic "
-"(dcpomatic@carlh.net)"
+#: src/lib/job.cc:97
+#: src/lib/job.cc:106
+msgid "It is not known what caused this error.  The best idea is to report the problem to the DCP-o-matic mailing list (dcpomatic@carlh.net)"
+msgstr "Erreur indéterminée. Merci de rapporter le problème à la liste DCP-o-matic (dcpomatic@carlh.net)"
 
 #: src/lib/filter.cc:82
 msgid "Kernel deinterlacer"
@@ -261,15 +268,15 @@ msgstr "Désentrelaceur noyau"
 msgid "Lanczos"
 msgstr "Lanczos"
 
-#: src/lib/util.cc:930
+#: src/lib/util.cc:958
 msgid "Left"
 msgstr "Gauche"
 
-#: src/lib/util.cc:934
+#: src/lib/util.cc:962
 msgid "Left surround"
 msgstr "Arrière gauche"
 
-#: src/lib/util.cc:933
+#: src/lib/util.cc:961
 msgid "Lfe (sub)"
 msgstr "Basses fréquences"
 
@@ -285,8 +292,11 @@ msgstr "Désentrelaceur linéaire interpolé"
 msgid "Median deinterlacer"
 msgstr "Désentrelaceur médian"
 
-#: src/lib/filter.cc:74 src/lib/filter.cc:85 src/lib/filter.cc:86
-#: src/lib/filter.cc:87 src/lib/filter.cc:90
+#: src/lib/filter.cc:74
+#: src/lib/filter.cc:85
+#: src/lib/filter.cc:86
+#: src/lib/filter.cc:87
+#: src/lib/filter.cc:90
 msgid "Misc"
 msgstr "Divers"
 
@@ -294,12 +304,14 @@ msgstr "Divers"
 msgid "Motion compensating deinterlacer"
 msgstr "Désentrelaceur par compensation de mouvement"
 
-#: src/lib/filter.cc:84 src/lib/filter.cc:88 src/lib/filter.cc:89
+#: src/lib/filter.cc:84
+#: src/lib/filter.cc:88
+#: src/lib/filter.cc:89
 #: src/lib/filter.cc:91
 msgid "Noise reduction"
 msgstr "Réduction de bruit"
 
-#: src/lib/job.cc:302
+#: src/lib/job.cc:314
 msgid "OK (ran for %1)"
 msgstr "OK (processus %1)"
 
@@ -319,15 +331,15 @@ msgstr "Public Service Announcement"
 msgid "Rating"
 msgstr "Classification"
 
-#: src/lib/util.cc:500
+#: src/lib/util.cc:513
 msgid "Rec 709"
 msgstr "Rec 709"
 
-#: src/lib/util.cc:931
+#: src/lib/util.cc:959
 msgid "Right"
 msgstr "Droite"
 
-#: src/lib/util.cc:935
+#: src/lib/util.cc:963
 msgid "Right surround"
 msgstr "Arrière droite"
 
@@ -371,13 +383,9 @@ msgstr "Réduction de bruit temporel"
 msgid "Test"
 msgstr "Test"
 
-#: src/lib/job.cc:78
-msgid ""
-"The drive that the film is stored on is low in disc space.  Free some more "
-"space and try again."
-msgstr ""
-"Le disque contenant le film est plein. Libérez de l'espace et essayez à "
-"nouveau."
+#: src/lib/job.cc:79
+msgid "The drive that the film is stored on is low in disc space.  Free some more space and try again."
+msgstr "Le disque contenant le film est plein. Libérez de l'espace et essayez à nouveau."
 
 #: src/lib/dcp_content_type.cc:46
 msgid "Trailer"
@@ -391,7 +399,7 @@ msgstr "Transcodage %1"
 msgid "Transitional"
 msgstr "Transitional"
 
-#: src/lib/job.cc:104
+#: src/lib/job.cc:105
 msgid "Unknown error"
 msgstr "Erreur inconnue"
 
@@ -427,7 +435,7 @@ msgstr "Un autre filtre de désentrelacement"
 msgid "cannot contain slashes"
 msgstr "slash interdit"
 
-#: src/lib/util.cc:541
+#: src/lib/util.cc:554
 msgid "connect timed out"
 msgstr "temps de connexion expiré"
 
@@ -467,7 +475,7 @@ msgstr "décodeur de sous-titre introuvable"
 msgid "could not find video decoder"
 msgstr "décodeur vidéo introuvable"
 
-#: src/lib/sndfile_decoder.cc:72
+#: src/lib/sndfile_decoder.cc:67
 msgid "could not open external audio file for reading"
 msgstr "lecture du fichier audio externe impossible"
 
@@ -481,9 +489,10 @@ msgstr "lecture du fichier impossible"
 
 #: src/lib/exceptions.cc:44
 msgid "could not read from file %1 (%2)"
-msgstr "Création du dossier distant %1 impossible (%2)"
+msgstr "création du dossier distant %1 impossible (%2)"
 
-#: src/lib/encoder.cc:137 src/lib/encoder.cc:314
+#: src/lib/encoder.cc:137
+#: src/lib/encoder.cc:314
 msgid "could not run sample-rate converter"
 msgstr "conversion de la fréquence d'échantillonnage impossible"
 
@@ -499,11 +508,11 @@ msgstr "démarrage de session SSH impossible"
 msgid "could not write to file %1 (%2)"
 msgstr "Écriture vers fichier distant (%1) impossible (%2)"
 
-#: src/lib/sndfile_decoder.cc:94
+#: src/lib/sndfile_decoder.cc:89
 msgid "external audio files have differing lengths"
 msgstr "Les fichiers audio externes ont des durées différentes"
 
-#: src/lib/sndfile_decoder.cc:76
+#: src/lib/sndfile_decoder.cc:71
 msgid "external audio files must be mono"
 msgstr "les fichiers audio externes doivent être en mono"
 
@@ -515,35 +524,37 @@ msgstr "format"
 msgid "frames per second"
 msgstr "images par seconde"
 
-#: src/lib/util.cc:115
+#: src/lib/util.cc:128
 msgid "hour"
 msgstr "heure"
 
-#: src/lib/util.cc:112 src/lib/util.cc:117
+#: src/lib/util.cc:125
+#: src/lib/util.cc:130
 msgid "hours"
 msgstr "heures"
 
-#: src/lib/util.cc:122
+#: src/lib/util.cc:135
 msgid "minute"
 msgstr "minute"
 
-#: src/lib/util.cc:124
+#: src/lib/util.cc:137
 msgid "minutes"
 msgstr "minutes"
 
-#: src/lib/util.cc:684
+#: src/lib/util.cc:697
 msgid "missing key %1 in key-value set"
 msgstr "clé %1 non sélectionnée"
 
 #: src/lib/exceptions.cc:54
 msgid "missing required setting %1"
-msgstr ""
+msgstr "paramètre %1 manquant"
 
 #: src/lib/subtitle.cc:52
 msgid "multi-part subtitles not yet supported"
 msgstr "sous-titres en plusieurs parties non supportés"
 
-#: src/lib/film.cc:296 src/lib/film.cc:341
+#: src/lib/film.cc:296
+#: src/lib/film.cc:341
 msgid "name"
 msgstr "nom"
 
@@ -557,15 +568,15 @@ msgstr "sous-titres non-bitmap non supportés actuellement"
 
 #. / TRANSLATORS: remaining here follows an amount of time that is remaining
 #. / on an operation.
-#: src/lib/job.cc:299
+#: src/lib/job.cc:311
 msgid "remaining"
 msgstr "restant"
 
-#: src/lib/util.cc:498
+#: src/lib/util.cc:511
 msgid "sRGB"
 msgstr "sRGB"
 
-#: src/lib/util.cc:127
+#: src/lib/util.cc:140
 msgid "seconds"
 msgstr "secondes"
 
index bd22412fc67f4b853eaf575549fc721dc3393316..1a46e67be31c9f70d96634ab9bd4d6697aebb9c5 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: IT VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
+"POT-Creation-Date: 2013-05-09 09:51+0100\n"
 "PO-Revision-Date: 2013-04-28 10:26+0100\n"
 "Last-Translator: Maci <macibro@gmail.com>\n"
 "Language-Team: \n"
@@ -73,7 +73,7 @@ msgstr "Academy"
 msgid "Advertisement"
 msgstr "Pubblicità"
 
-#: src/lib/job.cc:72
+#: src/lib/job.cc:73
 msgid "An error occurred whilst handling the file %1."
 msgstr "Errore durante l'elaborazione del file %1."
 
@@ -93,7 +93,7 @@ msgstr "Bicubica"
 msgid "Bilinear"
 msgstr "Bilineare"
 
-#: src/lib/job.cc:306
+#: src/lib/job.cc:318
 msgid "Cancelled"
 msgstr "Cancellato"
 
@@ -105,7 +105,7 @@ msgstr "Non posso gestire il formato di pixel %1 durante %2"
 msgid "Cannot resample audio as libswresample is not present"
 msgstr "Non posso ricampionare l'audio perchè libswresample non è presente"
 
-#: src/lib/util.cc:932
+#: src/lib/util.cc:960
 msgid "Centre"
 msgstr "Centro"
 
@@ -137,15 +137,15 @@ msgstr "Non posso scrivere il file remoto (%1)"
 msgid "Cubic interpolating deinterlacer"
 msgstr "Deinterlacciatore cubico interpolato"
 
-#: src/lib/util.cc:1007
+#: src/lib/util.cc:1035
 msgid "DCP and source have the same rate.\n"
 msgstr "Il DCP e il sorgente hanno la stessa frequenza.\n"
 
-#: src/lib/util.cc:1017
+#: src/lib/util.cc:1045
 msgid "DCP will run at %1%% of the source speed.\n"
 msgstr "Il DCP andrà al %1%% della velocità del sorgente.\n"
 
-#: src/lib/util.cc:1010
+#: src/lib/util.cc:1038
 msgid "DCP will use every other frame of the source.\n"
 msgstr "Il DCP userà ogni altro fotogramma del sorgente.\n"
 
@@ -168,11 +168,11 @@ msgstr "Filtro deringing"
 msgid "Dolby CP750"
 msgstr "Dolby CP750"
 
-#: src/lib/util.cc:1012
+#: src/lib/util.cc:1040
 msgid "Each source frame will be doubled in the DCP.\n"
 msgstr "Ogni fotogramma del sorgente sarà raddoppiato nel DCP.\n"
 
-#: src/lib/job.cc:304
+#: src/lib/job.cc:316
 msgid "Error (%1)"
 msgstr "Errore (%1)"
 
@@ -244,7 +244,7 @@ msgstr "Filtro sblocco orizzontale"
 msgid "Horizontal deblocking filter A"
 msgstr "Filtro A sblocco orizzontale"
 
-#: src/lib/job.cc:96 src/lib/job.cc:105
+#: src/lib/job.cc:97 src/lib/job.cc:106
 msgid ""
 "It is not known what caused this error.  The best idea is to report the "
 "problem to the DCP-o-matic mailing list (dcpomatic@carlh.net)"
@@ -260,15 +260,15 @@ msgstr "Deinterlacciatore Kernel"
 msgid "Lanczos"
 msgstr "Lanczos"
 
-#: src/lib/util.cc:930
+#: src/lib/util.cc:958
 msgid "Left"
 msgstr "Sinistro"
 
-#: src/lib/util.cc:934
+#: src/lib/util.cc:962
 msgid "Left surround"
 msgstr "Surround sinistro"
 
-#: src/lib/util.cc:933
+#: src/lib/util.cc:961
 msgid "Lfe (sub)"
 msgstr "Lfe(sub)"
 
@@ -298,7 +298,7 @@ msgstr "Dinterlacciatore compensativo di movimento"
 msgid "Noise reduction"
 msgstr "Riduzione del rumore"
 
-#: src/lib/job.cc:302
+#: src/lib/job.cc:314
 msgid "OK (ran for %1)"
 msgstr "OK (eseguito in %1)"
 
@@ -318,15 +318,15 @@ msgstr "Annuncio di pubblico servizio"
 msgid "Rating"
 msgstr "Punteggio"
 
-#: src/lib/util.cc:500
+#: src/lib/util.cc:513
 msgid "Rec 709"
 msgstr "Rec 709"
 
-#: src/lib/util.cc:931
+#: src/lib/util.cc:959
 msgid "Right"
 msgstr "Destro"
 
-#: src/lib/util.cc:935
+#: src/lib/util.cc:963
 msgid "Right surround"
 msgstr "Surround destro"
 
@@ -370,7 +370,7 @@ msgstr "Riduttore temporale di rumore"
 msgid "Test"
 msgstr "Prova"
 
-#: src/lib/job.cc:78
+#: src/lib/job.cc:79
 msgid ""
 "The drive that the film is stored on is low in disc space.  Free some more "
 "space and try again."
@@ -390,7 +390,7 @@ msgstr "Transcodifica %1"
 msgid "Transitional"
 msgstr "Di transizione"
 
-#: src/lib/job.cc:104
+#: src/lib/job.cc:105
 msgid "Unknown error"
 msgstr "Errore sconosciuto"
 
@@ -426,7 +426,7 @@ msgstr "Altro filtro di deinterlacciamento"
 msgid "cannot contain slashes"
 msgstr "non può contenere barre"
 
-#: src/lib/util.cc:541
+#: src/lib/util.cc:554
 msgid "connect timed out"
 msgstr "connessione scaduta"
 
@@ -466,7 +466,7 @@ msgstr "non riesco a trovare il decoder dei sottotitoli"
 msgid "could not find video decoder"
 msgstr "non riesco a trovare il decoder video"
 
-#: src/lib/sndfile_decoder.cc:72
+#: src/lib/sndfile_decoder.cc:67
 msgid "could not open external audio file for reading"
 msgstr "non riesco ad aprire il file dell'audio esterno per leggerlo"
 
@@ -498,11 +498,11 @@ msgstr "non posso avviare la sessione SSH"
 msgid "could not write to file %1 (%2)"
 msgstr "non posso scrivere il file (%1)"
 
-#: src/lib/sndfile_decoder.cc:94
+#: src/lib/sndfile_decoder.cc:89
 msgid "external audio files have differing lengths"
 msgstr "i files dell'audio esterno hanno durata diversa"
 
-#: src/lib/sndfile_decoder.cc:76
+#: src/lib/sndfile_decoder.cc:71
 msgid "external audio files must be mono"
 msgstr "i files dell'audio esterno devono essere mono"
 
@@ -514,23 +514,23 @@ msgstr "formato"
 msgid "frames per second"
 msgstr "fotogrammi al secondo"
 
-#: src/lib/util.cc:115
+#: src/lib/util.cc:128
 msgid "hour"
 msgstr "ora"
 
-#: src/lib/util.cc:112 src/lib/util.cc:117
+#: src/lib/util.cc:125 src/lib/util.cc:130
 msgid "hours"
 msgstr "ore"
 
-#: src/lib/util.cc:122
+#: src/lib/util.cc:135
 msgid "minute"
 msgstr "minuto"
 
-#: src/lib/util.cc:124
+#: src/lib/util.cc:137
 msgid "minutes"
 msgstr "minuti"
 
-#: src/lib/util.cc:684
+#: src/lib/util.cc:697
 msgid "missing key %1 in key-value set"
 msgstr "persa la chiave %1 tra i valori chiave"
 
@@ -556,15 +556,15 @@ msgstr "sottotitoli non-bitmap non ancora supportati"
 
 #. / TRANSLATORS: remaining here follows an amount of time that is remaining
 #. / on an operation.
-#: src/lib/job.cc:299
+#: src/lib/job.cc:311
 msgid "remaining"
 msgstr "restano"
 
-#: src/lib/util.cc:498
+#: src/lib/util.cc:511
 msgid "sRGB"
 msgstr "sRGB"
 
-#: src/lib/util.cc:127
+#: src/lib/util.cc:140
 msgid "seconds"
 msgstr "secondi"
 
index ff86e23af926d175446fbe5258a912ddbaf6cbfd..d9a9c5955b05d0d71bca2c2fe9718d7b75c55e51 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: DCP-o-matic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
+"POT-Creation-Date: 2013-05-09 09:51+0100\n"
 "PO-Revision-Date: 2013-04-10 15:35+0100\n"
 "Last-Translator: Adam Klotblixt <adam.klotblixt@gmail.com>\n"
 "Language-Team: \n"
@@ -73,7 +73,7 @@ msgstr "Academy"
 msgid "Advertisement"
 msgstr "Reklam"
 
-#: src/lib/job.cc:72
+#: src/lib/job.cc:73
 msgid "An error occurred whilst handling the file %1."
 msgstr "Ett fel inträffade vid hantering av filen %1"
 
@@ -93,7 +93,7 @@ msgstr "Bikubisk"
 msgid "Bilinear"
 msgstr "Bilinjär"
 
-#: src/lib/job.cc:306
+#: src/lib/job.cc:318
 msgid "Cancelled"
 msgstr "Avbruten"
 
@@ -106,7 +106,7 @@ msgid "Cannot resample audio as libswresample is not present"
 msgstr ""
 "Kan inte omsampla ljudet eftersom libswresample inte finns tillgängligt"
 
-#: src/lib/util.cc:932
+#: src/lib/util.cc:960
 msgid "Centre"
 msgstr "Mitt"
 
@@ -138,15 +138,15 @@ msgstr "Kunde inte skriva till fjärrfil (%1)"
 msgid "Cubic interpolating deinterlacer"
 msgstr "Kubiskt interpolerande avflätare"
 
-#: src/lib/util.cc:1007
+#: src/lib/util.cc:1035
 msgid "DCP and source have the same rate.\n"
 msgstr "DCP och källa har samma bildfrekvens.\n"
 
-#: src/lib/util.cc:1017
+#: src/lib/util.cc:1045
 msgid "DCP will run at %1%% of the source speed.\n"
 msgstr "DCP kommer att köras på %1%% av källans hastighet.\n"
 
-#: src/lib/util.cc:1010
+#: src/lib/util.cc:1038
 msgid "DCP will use every other frame of the source.\n"
 msgstr "DCP kommer att använda varannan bild från källan.\n"
 
@@ -169,11 +169,11 @@ msgstr "Avringningsfilter"
 msgid "Dolby CP750"
 msgstr "Dolby CP750"
 
-#: src/lib/util.cc:1012
+#: src/lib/util.cc:1040
 msgid "Each source frame will be doubled in the DCP.\n"
 msgstr "Varje bild från källan kommer att användas två gånger i DCPn.\n"
 
-#: src/lib/job.cc:304
+#: src/lib/job.cc:316
 msgid "Error (%1)"
 msgstr "Fel (%1)"
 
@@ -245,7 +245,7 @@ msgstr "Filter för horisontal kantighetsutjämning"
 msgid "Horizontal deblocking filter A"
 msgstr "Filter för horisontal kantighetsutjämning A"
 
-#: src/lib/job.cc:96 src/lib/job.cc:105
+#: src/lib/job.cc:97 src/lib/job.cc:106
 msgid ""
 "It is not known what caused this error.  The best idea is to report the "
 "problem to the DCP-o-matic mailing list (dcpomatic@carlh.net)"
@@ -261,15 +261,15 @@ msgstr "Kernel-avflätare"
 msgid "Lanczos"
 msgstr "Lanczos"
 
-#: src/lib/util.cc:930
+#: src/lib/util.cc:958
 msgid "Left"
 msgstr "Vänster"
 
-#: src/lib/util.cc:934
+#: src/lib/util.cc:962
 msgid "Left surround"
 msgstr "Vänster surround"
 
-#: src/lib/util.cc:933
+#: src/lib/util.cc:961
 msgid "Lfe (sub)"
 msgstr "Lfe (sub)"
 
@@ -299,7 +299,7 @@ msgstr "Rörelsekompenserande avflätare"
 msgid "Noise reduction"
 msgstr "Brusreducering"
 
-#: src/lib/job.cc:302
+#: src/lib/job.cc:314
 msgid "OK (ran for %1)"
 msgstr "OK (kördes %1)"
 
@@ -319,15 +319,15 @@ msgstr "Offentligt Servicemeddelande"
 msgid "Rating"
 msgstr "Klassificeringsklipp"
 
-#: src/lib/util.cc:500
+#: src/lib/util.cc:513
 msgid "Rec 709"
 msgstr "Rec 709"
 
-#: src/lib/util.cc:931
+#: src/lib/util.cc:959
 msgid "Right"
 msgstr "Höger"
 
-#: src/lib/util.cc:935
+#: src/lib/util.cc:963
 msgid "Right surround"
 msgstr "Höger surround"
 
@@ -371,7 +371,7 @@ msgstr "Temporal brusreducering"
 msgid "Test"
 msgstr "Test"
 
-#: src/lib/job.cc:78
+#: src/lib/job.cc:79
 msgid ""
 "The drive that the film is stored on is low in disc space.  Free some more "
 "space and try again."
@@ -391,7 +391,7 @@ msgstr "Konvertera %1"
 msgid "Transitional"
 msgstr "Övergångsklipp"
 
-#: src/lib/job.cc:104
+#: src/lib/job.cc:105
 msgid "Unknown error"
 msgstr "Okänt fel"
 
@@ -431,7 +431,7 @@ msgid "cannot contain slashes"
 msgstr "får inte innehålla snedstreck"
 
 # Svengelska
-#: src/lib/util.cc:541
+#: src/lib/util.cc:554
 #, fuzzy
 msgid "connect timed out"
 msgstr "uppkopplingen tajmade ur"
@@ -472,7 +472,7 @@ msgstr "kunde inte hitta undertext-avkodare"
 msgid "could not find video decoder"
 msgstr "kunde inte hitta video-avkodare"
 
-#: src/lib/sndfile_decoder.cc:72
+#: src/lib/sndfile_decoder.cc:67
 msgid "could not open external audio file for reading"
 msgstr "kunde inte öppna extern audio-fil för läsning"
 
@@ -504,11 +504,11 @@ msgstr "kunde inte starta SSH-session"
 msgid "could not write to file %1 (%2)"
 msgstr "kunde inte skriva till fil %1 (%2)"
 
-#: src/lib/sndfile_decoder.cc:94
+#: src/lib/sndfile_decoder.cc:89
 msgid "external audio files have differing lengths"
 msgstr "externa audio-filer har olika längder"
 
-#: src/lib/sndfile_decoder.cc:76
+#: src/lib/sndfile_decoder.cc:71
 msgid "external audio files must be mono"
 msgstr "externa audio-filer måste vara mono"
 
@@ -520,23 +520,23 @@ msgstr "format"
 msgid "frames per second"
 msgstr "bilder per sekund"
 
-#: src/lib/util.cc:115
+#: src/lib/util.cc:128
 msgid "hour"
 msgstr "timme"
 
-#: src/lib/util.cc:112 src/lib/util.cc:117
+#: src/lib/util.cc:125 src/lib/util.cc:130
 msgid "hours"
 msgstr "timmar"
 
-#: src/lib/util.cc:122
+#: src/lib/util.cc:135
 msgid "minute"
 msgstr "minut"
 
-#: src/lib/util.cc:124
+#: src/lib/util.cc:137
 msgid "minutes"
 msgstr "minuter"
 
-#: src/lib/util.cc:684
+#: src/lib/util.cc:697
 msgid "missing key %1 in key-value set"
 msgstr "saknad nyckel %1 i nyckel-värde grupp"
 
@@ -562,15 +562,15 @@ msgstr "icke-rastergrafiska undertexter stöds inte ännu"
 
 #. / TRANSLATORS: remaining here follows an amount of time that is remaining
 #. / on an operation.
-#: src/lib/job.cc:299
+#: src/lib/job.cc:311
 msgid "remaining"
 msgstr "återstående tid"
 
-#: src/lib/util.cc:498
+#: src/lib/util.cc:511
 msgid "sRGB"
 msgstr "sRGB"
 
-#: src/lib/util.cc:127
+#: src/lib/util.cc:140
 msgid "seconds"
 msgstr "sekunder"
 
diff --git a/src/lib/stack.cpp b/src/lib/stack.cpp
new file mode 100644 (file)
index 0000000..20a5c5b
--- /dev/null
@@ -0,0 +1,463 @@
+/** -*- c-basic-offset: 4; default-tab-width: 4; indent-tabs-mode: nil; -*- */
+
+// Copyright 2007 Edd Dawson.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#include <cassert>
+#include <cstring>
+#include <cstdlib>
+#include <iomanip>
+#include <ostream>
+#include <stdexcept>
+#include <sstream>
+
+#include "stack.hpp"
+
+#if defined(_WIN32)
+#   include <windows.h>
+#   include <imagehlp.h>
+
+#   if defined(__MINGW32__)
+#       define PACKAGE 1
+#       define PACKAGE_VERSION 1
+#       include <bfd.h> // link against libbfd and libiberty
+#       include <psapi.h> // link against psapi
+#       include <cxxabi.h>
+#   endif
+
+#elif defined(__GNUC__)
+#   include <dlfcn.h>
+#   include <cxxabi.h>
+#endif
+
+namespace
+{
+    const char * const unknown_function = "[unknown function]";
+    const char * const unknown_module = "[unknown module]";
+
+#if defined(__GNUC__)
+    std::string demangle(const char *name)
+    {
+        if (!name)
+            return unknown_function;
+
+        int status = 0;
+        char *d = 0;
+        std::string ret = name;
+        try
+        {
+            if ((d = abi::__cxa_demangle(name, 0, 0, &status)))
+                ret = d;
+        }
+        catch (const std::bad_alloc &) {  }
+
+        std::free(d);
+        return ret;
+    }
+#endif
+
+#if defined(_WIN32)
+
+    // Derive from this to disallow copying of your class.
+    // c.f. boost::noncopyable
+    class uncopyable
+    {
+        protected:
+            uncopyable() { }
+
+        private:
+            uncopyable(const uncopyable &);
+            uncopyable &operator= (const uncopyable &);
+    };
+
+#if defined(__MINGW32__)
+
+    // Provides a means to translate a program counter offset in to the name of the corresponding function.
+    class bfd_context : uncopyable
+    {
+        private:
+            struct find_data
+            {
+                std::string func;
+                unsigned int line;
+                asymbol **symbol_table;
+                bfd_vma counter;
+            };
+
+        public:
+            bfd_context() :
+                abfd_(0),
+                sec_(0),
+                symbol_table_(0)
+            {
+                char procname[MAX_PATH];
+                GetModuleFileNameA(NULL, procname, sizeof procname);
+
+                bfd_init();
+                abfd_ = bfd_openr(procname, 0);
+                if (!abfd_)
+                    throw std::runtime_error("Failed to parse object data for the executable");
+
+                char **formats = 0;
+                bool b1 = bfd_check_format(abfd_, bfd_object);
+                bool b2 = bfd_check_format_matches(abfd_, bfd_object, &formats);
+                bool b3 = bfd_get_file_flags(abfd_) & HAS_SYMS;
+
+                if (!(b1 && b2 && b3))
+                {
+                    bfd_close(abfd_);
+                    free(formats);
+                    throw std::runtime_error("Failed to parse object data for the executable");
+                }
+                free(formats);
+
+                // Load symbol table
+                unsigned dummy = 0;
+                if (bfd_read_minisymbols(abfd_, FALSE, reinterpret_cast<void **>(&symbol_table_), &dummy) == 0 &&
+                    bfd_read_minisymbols(abfd_, TRUE, reinterpret_cast<void **>(&symbol_table_), &dummy) < 0)
+                {
+                    free(symbol_table_);
+                    bfd_close(abfd_);
+                    throw std::runtime_error("Failed to parse object data for the executable");
+                }
+            }
+
+            ~bfd_context()
+            {
+                free(symbol_table_);
+                bfd_close(abfd_);
+            }
+
+            std::pair<std::string, unsigned int> get_function_name_and_line(DWORD offset)
+            {
+                find_data data;
+                data.symbol_table = symbol_table_;
+                data.counter = offset;
+
+                bfd_map_over_sections(abfd_, &find_function_name_in_section, &data);
+
+                return std::make_pair(data.func, data.line);
+            }
+
+        private:
+            static void find_function_name_in_section(bfd *abfd, asection *sec, void *opaque_data)
+            {
+                assert(sec);
+                assert(opaque_data);
+                find_data &data = *static_cast<find_data *>(opaque_data);
+
+                if (!data.func.empty()) return; // already found it
+
+                if (!(bfd_get_section_flags(abfd, sec) & SEC_ALLOC)) return;
+
+                bfd_vma vma = bfd_get_section_vma(abfd, sec);
+                if (data.counter < vma || vma + bfd_get_section_size(sec) <= data.counter) return;
+
+                const char *func = 0;
+                const char *file = 0;
+                unsigned line = 0;
+
+                if (bfd_find_nearest_line(abfd, sec, data.symbol_table, data.counter - vma, &file, &func, &line) && func) {
+                    data.func = demangle(func);
+                    data.line = line;
+                }
+            }
+
+        private:
+            bfd *abfd_;
+            asection *sec_;
+            asymbol **symbol_table_;
+    };
+
+#endif // __MINGW32__
+
+    // g++ spouts warnings if you use {0} to initialize PODs. So we use this instead:
+    const struct
+    {
+        template<typename POD>
+        operator POD () const { POD p; std::memset(&p, 0, sizeof p); return p; }
+    }
+    empty_pod = { };
+
+    // Wraps a FARPROC. Implicitly convertible to any kind of pointer-to-function.
+    // Avoids having reinterpret casts all over the place.
+    struct auto_cast_function_ptr
+    {
+        auto_cast_function_ptr(FARPROC f) : fptr_(f) { }
+
+        template<typename FuncPtr>
+        operator FuncPtr() const { return reinterpret_cast<FuncPtr>(fptr_); }
+
+        FARPROC fptr_;
+    };
+
+    // A wrapper around a DLL. Can dynamically get function pointers with the function() function!
+    class windows_dll : uncopyable
+    {
+        public:
+            explicit windows_dll(const std::string &libname) :
+                name_(libname),
+                lib_(LoadLibraryA(name_.c_str()))
+            {
+                if (!lib_) throw std::runtime_error("Failed to load dll " + name_);
+            }
+
+            ~windows_dll() { FreeLibrary(lib_); }
+
+            const std::string &name() const { return name_; }
+
+            auto_cast_function_ptr function(const char *func_name) const
+            {
+                FARPROC proc = GetProcAddress(lib_, func_name);
+                if (!proc) throw std::runtime_error(std::string("failed to load function ") + func_name + " from library " + name_);
+
+                return proc;
+            }
+
+        private:
+            std::string name_;
+            HMODULE lib_;
+    };
+
+    // An object that makes sure debugging symbols are available
+    class symbol_context : uncopyable
+    {
+        public:
+            symbol_context()
+            {
+                if (!SymInitialize(GetCurrentProcess(), 0, TRUE))
+                    throw std::runtime_error("Failed to initialize symbol context");
+            }
+            ~symbol_context() { SymCleanup(GetCurrentProcess()); }
+    };
+
+    // A simple Windows mutex class. Use a lock object to lock the mutex for the duration of a scope.
+    class mutex : uncopyable
+    {
+        public:
+            mutex() { InitializeCriticalSection(&cs_); }
+            ~mutex() { DeleteCriticalSection(&cs_); }
+
+        private:
+            friend class lock;
+            void lock() { EnterCriticalSection(&cs_); }
+            void unlock() { LeaveCriticalSection(&cs_); }
+
+            CRITICAL_SECTION cs_;
+    }
+    g_fill_frames_mtx;
+
+    // A lock for the mutex
+    class lock : uncopyable
+    {
+        public:
+            lock(mutex &m) : m_(m) { m.lock(); }
+            ~lock() { m_.unlock(); }
+        private:
+            mutex &m_;
+    };
+
+
+    void fill_frames(std::list<dbg::stack_frame> &frames, dbg::stack::depth_type limit)
+    {
+        lock lk(g_fill_frames_mtx);
+
+        symbol_context sc;
+#ifdef __MINGW32__
+        bfd_context bfdc;
+#endif
+
+        STACKFRAME frame = empty_pod;
+        CONTEXT context = empty_pod;
+        context.ContextFlags = CONTEXT_FULL;
+
+        windows_dll kernel32("kernel32.dll");
+        void (WINAPI *RtlCaptureContext_)(CONTEXT*) = kernel32.function("RtlCaptureContext");
+
+        RtlCaptureContext_(&context);
+
+#if defined(_M_AMD64)
+        frame.AddrPC.Offset = context.Rip;
+        frame.AddrPC.Mode = AddrModeFlat;
+        frame.AddrStack.Offset = context.Rsp;
+        frame.AddrStack.Mode = AddrModeFlat;
+        frame.AddrFrame.Offset = context.Rbp;
+        frame.AddrFrame.Mode = AddrModeFlat;
+#else
+        frame.AddrPC.Offset = context.Eip;
+        frame.AddrPC.Mode = AddrModeFlat;
+        frame.AddrStack.Offset = context.Esp;
+        frame.AddrStack.Mode = AddrModeFlat;
+        frame.AddrFrame.Offset = context.Ebp;
+        frame.AddrFrame.Mode = AddrModeFlat;
+#endif
+
+        HANDLE process = GetCurrentProcess();
+        HANDLE thread = GetCurrentThread();
+
+        bool skip = true;
+        bool has_limit = limit != 0;
+        char symbol_buffer[sizeof(IMAGEHLP_SYMBOL) + 255];
+        char module_name_raw[MAX_PATH];
+
+#if defined(_M_AMD64)
+        const DWORD machine = IMAGE_FILE_MACHINE_AMD64;
+#else
+        const DWORD machine = IMAGE_FILE_MACHINE_I386;
+#endif
+
+        while(StackWalk(machine, process, thread, &frame, &context, 0, SymFunctionTableAccess, SymGetModuleBase, 0))
+        {
+            if (skip)
+            {
+                skip = false;
+                continue;
+            }
+
+            if (has_limit && limit-- == 0) break;
+
+            IMAGEHLP_SYMBOL *symbol = reinterpret_cast<IMAGEHLP_SYMBOL *>(symbol_buffer);
+            symbol->SizeOfStruct = (sizeof *symbol) + 255;
+            symbol->MaxNameLength = 254;
+
+#if defined(_WIN64)
+            DWORD64 module_base = SymGetModuleBase(process, frame.AddrPC.Offset);
+#else
+            DWORD module_base = SymGetModuleBase(process, frame.AddrPC.Offset);
+#endif
+            std::string module_name = unknown_module;
+            if (module_base && GetModuleFileNameA(reinterpret_cast<HINSTANCE>(module_base), module_name_raw, MAX_PATH))
+                module_name = module_name_raw;
+
+#if defined(__MINGW32__)
+                std::pair<std::string, unsigned int> func_and_line = bfdc.get_function_name_and_line(frame.AddrPC.Offset);
+
+                if (func_and_line.first.empty())
+                {
+#if defined(_WIN64)
+                   DWORD64 dummy = 0;
+#else              
+                    DWORD dummy = 0;
+#endif             
+                    BOOL got_symbol = SymGetSymFromAddr(process, frame.AddrPC.Offset, &dummy, symbol);
+                    func_and_line.first = got_symbol ? symbol->Name : unknown_function;
+                }
+#else
+                DWORD dummy = 0;
+                BOOL got_symbol = SymGetSymFromAddr(process, frame.AddrPC.Offset, &dummy, symbol);
+                std::string func = got_symbol ? symbol->Name : unknown_function;
+#endif
+
+            dbg::stack_frame f(reinterpret_cast<const void *>(frame.AddrPC.Offset), func_and_line.first, func_and_line.second, module_name);
+            frames.push_back(f);
+        }
+    }
+#elif defined(__GNUC__)
+#   if defined(__i386__) || defined(__amd64__)
+
+    void fill_frames(std::list<dbg::stack_frame> &frames, dbg::stack::depth_type limit)
+    {
+        // Based on code found at:
+        // http://www.tlug.org.za/wiki/index.php/Obtaining_a_stack_trace_in_C_upon_SIGSEGV
+
+        Dl_info info;
+        void **frame = static_cast<void **>(__builtin_frame_address(0));
+        void **bp = static_cast<void **>(*frame);
+        void *ip = frame[1];
+
+        bool has_limit = limit != 0;
+        bool skip = true;
+
+        while(bp && ip && dladdr(ip, &info))
+        {
+            if (skip)
+                skip = false;
+            else
+            {
+                if (has_limit && limit-- == 0) break;
+                frames.push_back(dbg::stack_frame(ip, demangle(info.dli_sname), info.dli_fname));
+
+                if(info.dli_sname && !std::strcmp(info.dli_sname, "main")) break;
+            }
+
+            ip = bp[1];
+            bp = static_cast<void**>(bp[0]);
+        }
+    }
+
+#   elif defined(__ppc__)
+
+    void fill_frames(std::list<dbg::stack_frame> &frames, dbg::stack::depth_type limit)
+    {
+        // Based on code found at:
+        // http://www.informit.com/articles/article.aspx?p=606582&seqNum=4&rl=1
+
+        void *ip = __builtin_return_address(0);
+        void **frame = static_cast<void **>(__builtin_frame_address(1));
+        bool has_limit = limit != 0;
+        Dl_info info;
+
+        do
+        {
+            if (has_limit && limit-- == 0) break;
+
+            if (dladdr(ip, &info))
+                frames.push_back(dbg::stack_frame(ip, demangle(info.dli_sname), info.dli_fname));
+
+            if (frame && (frame = static_cast<void**>(*frame))) ip = *(frame + 2);
+        }
+        while (frame && ip);
+    }
+
+#   else
+        // GNU, but not x86, x64 nor PPC
+#       error "Sorry but dbg::stack is not supported on this architecture"
+#   endif
+#else
+    // Unsupported compiler
+#   error "Sorry but dbg::stack is not supported on this compiler"
+#endif
+
+} // close anonymous namespace
+
+
+
+namespace dbg
+{
+    stack_frame::stack_frame(const void *instruction, const std::string &function, unsigned int line, const std::string &module) :
+        instruction(instruction),
+        function(function),
+        line(line),
+        module(module)
+    {
+    }
+
+    std::ostream &operator<< (std::ostream &out, const stack_frame &frame)
+    {
+        return out << frame.instruction << ": " << frame.function << ":" << frame.line << " in " << frame.module;
+    }
+
+    stack::stack(depth_type limit)
+    {
+        fill_frames(frames_, limit);
+    }
+
+    stack::const_iterator stack::begin() const
+    {
+        return frames_.begin();
+    }
+
+    stack::const_iterator stack::end() const
+    {
+        return frames_.end();
+    }
+
+    stack::depth_type stack::depth() const
+    {
+        return frames_.size();
+    }
+
+} // close namespace dbg
+
diff --git a/src/lib/stack.hpp b/src/lib/stack.hpp
new file mode 100644 (file)
index 0000000..2b622d0
--- /dev/null
@@ -0,0 +1,60 @@
+/** -*- c-basic-offset: 4; default-tab-width: 4; indent-tabs-mode: nil; -*- */
+
+// Copyright 2007 Edd Dawson.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef STACK_HPP_0022_01092007
+#define STACK_HPP_0022_01092007
+
+#include <string>
+#include <list>
+#include <iosfwd>
+
+namespace dbg
+{
+    //! stack_frame objects are collected by a stack object. They contain information about the instruction pointer,
+    //! the name of the corresponding function and the "module" (executable or library) in which the function resides.
+    struct stack_frame
+    {
+        stack_frame(const void *instruction, const std::string &function, unsigned int line, const std::string &module);
+
+        const void *instruction;
+        std::string function;
+        unsigned int line;
+        std::string module;
+    };
+
+    //! Allows you to write a stack_frame object to an std::ostream
+    std::ostream &operator<< (std::ostream &out, const stack_frame &frame);
+
+    //! Instantiate a dbg::stack object to collect information about the current call stack. Once created, a stack object
+    //! may be freely copied about and will continue to contain the information about the scope in which collection occurred.
+    class stack
+    {
+        public:
+            typedef std::list<stack_frame>::size_type depth_type;
+            typedef std::list<stack_frame>::const_iterator const_iterator;
+
+            //! Collect information about the current call stack. Information on the most recent frames will be collected
+            //! up to the specified limit. 0 means unlimited.
+            //! An std::runtime_error may be thrown on failure.
+            stack(depth_type limit = 0);
+
+            //! Returns an iterator referring to the "top" stack frame
+            const_iterator begin() const;
+
+            //! Returns an iterator referring to one past the "bottom" stack frame
+            const_iterator end() const;
+
+            //! Returns the number of frames collected
+            depth_type depth() const;
+
+        private:
+            std::list<stack_frame> frames_;
+    };
+
+} // close namespace dbg
+
+#endif // STACK_HPP_0022_01092007
index 9063b46d49b3514ecf43ebdfe7fbc7f21e996fab..de5fbf8d18ecb56182a799d6a58f23532b39bc30 100644 (file)
@@ -39,6 +39,7 @@
 #include <boost/lexical_cast.hpp>
 #include <boost/thread.hpp>
 #include <boost/filesystem.hpp>
+#include <glib.h>
 #include <openjpeg.h>
 #include <openssl/md5.h>
 #include <magick/MagickCore.h>
@@ -60,6 +61,9 @@ extern "C" {
 #include "filter.h"
 #include "sound_processor.h"
 #include "config.h"
+#ifdef DVDOMATIC_WINDOWS
+#include "stack.hpp"
+#endif
 
 #include "i18n.h"
 
@@ -80,6 +84,7 @@ using std::multimap;
 using std::istream;
 using std::numeric_limits;
 using std::pair;
+using std::ofstream;
 using boost::shared_ptr;
 using boost::thread;
 using boost::lexical_cast;
@@ -87,6 +92,7 @@ using boost::optional;
 using libdcp::Size;
 
 boost::thread::id ui_thread;
+boost::filesystem::path backtrace_file;
 
 /** Convert some number of seconds to a string representation
  *  in hours, minutes and seconds.
@@ -254,12 +260,28 @@ seconds (struct timeval t)
        return t.tv_sec + (double (t.tv_usec) / 1e6);
 }
 
-/** Call the required functions to set up DCP-o-matic's static arrays, etc.
+#ifdef DVDOMATIC_WINDOWS
+LONG WINAPI exception_handler(struct _EXCEPTION_POINTERS *)
+{
+       dbg::stack s;
+       ofstream f (backtrace_file.string().c_str());
+       std::copy(s.begin(), s.end(), std::ostream_iterator<dbg::stack_frame>(f, "\n"));
+       return EXCEPTION_CONTINUE_SEARCH;
+}
+#endif
+
+/** Call the required functions to set up DVD-o-matic's static arrays, etc.
  *  Must be called from the UI thread, if there is one.
  */
 void
 dcpomatic_setup ()
 {
+#ifdef DVDOMATIC_WINDOWS
+       backtrace_file /= g_get_user_config_dir ();
+       backtrace_file /= "backtrace.txt";
+       SetUnhandledExceptionFilter(exception_handler);
+#endif 
+       
        avfilter_register_all ();
        
        Format::setup_formats ();
@@ -775,8 +797,8 @@ LocaleGuard::LocaleGuard ()
 
         if (old) {
                 _old = strdup (old);
-                if (strcmp (_old, "POSIX")) {
-                        setlocale (LC_NUMERIC, "POSIX");
+                if (strcmp (_old, "C")) {
+                        setlocale (LC_NUMERIC, "C");
                 }
         }
 }
index 0d9da3a8f9aac503d20cb508a07779ffc0656e72..d8cc8261d386bf0f06482b0bd71082312f22762b 100644 (file)
@@ -71,8 +71,12 @@ def build(bld):
                  BOOST_FILESYSTEM BOOST_THREAD BOOST_DATETIME BOOST_SIGNALS2 
                  SNDFILE OPENJPEG POSTPROC TIFF MAGICK SSH DCP CXML GLIB LZMA
                  """
+
+    obj.source = sources + ' version.cc'
+
     if bld.env.TARGET_WINDOWS:
-        obj.uselib += ' WINSOCK2'
+        obj.uselib += ' WINSOCK2 BFD DBGHELP IBERTY'
+        obj.source += ' stack.cpp'
     if bld.env.STATIC:
         obj.uselib += ' XML++'
     obj.source = sources + " version.cc"
index 346aa2b39d1ea2137cba34740f9980c82698e01e..b64478334198f7dbd052c0a50ef96fad1416c86d 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: DCPOMATIC\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
+"POT-Creation-Date: 2013-05-09 09:51+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"
@@ -17,74 +17,75 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 1.5.5\n"
 
-#: src/tools/dcpomatic.cc:177
+#: src/tools/dvdomatic.cc:178
 msgid "&Analyse audio"
 msgstr "&Analizar audio"
 
-#: src/tools/dcpomatic.cc:183
+#: src/tools/dvdomatic.cc:184
 msgid "&Edit"
 msgstr "&Editar"
 
-#: src/tools/dcpomatic.cc:182
+#: src/tools/dvdomatic.cc:183
 msgid "&File"
 msgstr "&Archivo"
 
-#: src/tools/dcpomatic.cc:185
+#: src/tools/dvdomatic.cc:186
 msgid "&Help"
 msgstr "&Ayuda"
 
-#: src/tools/dcpomatic.cc:184
+#: src/tools/dvdomatic.cc:185
 msgid "&Jobs"
 msgstr "&Tareas"
 
-#: src/tools/dcpomatic.cc:173
+#: src/tools/dvdomatic.cc:174
 msgid "&Make DCP"
 msgstr "&Crear DCP"
 
-#: src/tools/dcpomatic.cc:161
+#: src/tools/dvdomatic.cc:162
 msgid "&Open..."
 msgstr "&Abrir..."
 
-#: src/tools/dcpomatic.cc:170
+#: src/tools/dvdomatic.cc:171
 msgid "&Preferences..."
 msgstr "&Preferencias..."
 
-#: src/tools/dcpomatic.cc:165
+#: src/tools/dvdomatic.cc:166
 msgid "&Properties..."
 msgstr "&Propiedades..."
 
-#: src/tools/dcpomatic.cc:167
+#: src/tools/dvdomatic.cc:168
 msgid "&Quit"
 msgstr "&Salir"
 
-#: src/tools/dcpomatic.cc:163
+#: src/tools/dvdomatic.cc:164
 msgid "&Save"
 msgstr "&Guardar"
 
-#: src/tools/dcpomatic.cc:174
+#: src/tools/dvdomatic.cc:175
 msgid "&Send DCP to TMS"
 msgstr "&Enviar DCP al TMS"
 
-#: src/tools/dcpomatic.cc:417
+#: src/tools/dvdomatic.cc:426
 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/dcpomatic.cc:180
+#: src/tools/dvdomatic.cc:181
 msgid "About"
 msgstr "Acerca de"
 
-#: src/tools/dcpomatic.cc:527
+#: src/tools/dvdomatic.cc:502
 #, fuzzy
 msgid "Could not load film %1 (%2)"
 msgstr "No se pudo cargar la película %s (%s)"
 
-#: src/tools/dcpomatic.cc:339
+#: src/tools/dvdomatic.cc:348
 #, c-format
 msgid "Could not open film at %s (%s)"
 msgstr "No se pudo cargar la película en %s (%s)"
 
+<<<<<<< HEAD
 #: src/tools/dcpomatic.cc:287 src/tools/dcpomatic.cc:410
 #: src/tools/dcpomatic.cc:531
 msgid "DCP-o-matic"
@@ -95,34 +96,50 @@ msgid "Film changed"
 msgstr "Película cambiada"
 
 #: src/tools/dcpomatic.cc:416
+#: src/tools/dvdomatic.cc:288 src/tools/dvdomatic.cc:419
+#: src/tools/dvdomatic.cc:506
+msgid "DVD-o-matic"
+msgstr "DVD-o-matic"
+
+#: src/tools/dvdomatic.cc:76
+msgid "Film changed"
+msgstr "Película cambiada"
+
+#: src/tools/dvdomatic.cc:425
 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/dcpomatic.cc:160
+#: src/tools/dvdomatic.cc:161
 msgid "New..."
 msgstr "Nuevo..."
 
-#: src/tools/dcpomatic.cc:175
+#: src/tools/dvdomatic.cc:176
 msgid "S&how DCP"
 msgstr "&Mostrar DCP"
 
-#: src/tools/dcpomatic.cc:74
+#: src/tools/dvdomatic.cc:75
+#, c-format
 msgid "Save changes to film \"%s\" before closing?"
 msgstr ""
 
-#: src/tools/dcpomatic.cc:319
+#: src/tools/dvdomatic.cc:328
 msgid "Select film to open"
 msgstr "Selecciona la película a abrir"
 
-#: src/tools/dcpomatic.cc:303
-#, fuzzy
-msgid "The directory %1 already exists."
-msgstr "La carpeta %s ya existe."
+#: src/tools/dvdomatic.cc:307
+msgid ""
+"The directory %1 already exists and is not empty.  Are you sure you want to "
+"use it?"
+msgstr ""
 
-#: src/tools/dcpomatic.cc:324
+#: src/tools/dvdomatic.cc:333
 msgid ""
 "You did not select a folder.  Make sure that you select a folder before "
 "clicking Open."
 msgstr ""
+
+#, fuzzy
+#~ msgid "The directory %1 already exists."
+#~ msgstr "La carpeta %s ya existe."
index 8ce305ccf8b66073c27892d6d64ff5da41001be4..a2c91e65ee19d8cfcd1cf041df65a8d6d9b66ab6 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: DCP-o-matic FRENCH\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
-"PO-Revision-Date: 2013-03-13 22:33+0100\n"
+"POT-Creation-Date: 2013-05-09 09:51+0100\n"
+"PO-Revision-Date: 2013-05-10 14:09+0100\n"
 "Last-Translator: \n"
 "Language-Team: \n"
 "Language: \n"
@@ -16,110 +16,111 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/tools/dcpomatic.cc:177
+#: src/tools/dvdomatic.cc:178
 msgid "&Analyse audio"
 msgstr "&Analyser le son"
 
-#: src/tools/dcpomatic.cc:183
+#: src/tools/dvdomatic.cc:184
 msgid "&Edit"
 msgstr "&Edition"
 
-#: src/tools/dcpomatic.cc:182
+#: src/tools/dvdomatic.cc:183
 msgid "&File"
 msgstr "&Fichier"
 
-#: src/tools/dcpomatic.cc:185
+#: src/tools/dvdomatic.cc:186
 msgid "&Help"
 msgstr "&Aide"
 
-#: src/tools/dcpomatic.cc:184
+#: src/tools/dvdomatic.cc:185
 msgid "&Jobs"
 msgstr "&Travaux"
 
-#: src/tools/dcpomatic.cc:173
+#: src/tools/dvdomatic.cc:174
 msgid "&Make DCP"
 msgstr "&Créer le DCP"
 
-#: src/tools/dcpomatic.cc:161
+#: src/tools/dvdomatic.cc:162
 msgid "&Open..."
 msgstr "&Ouvrir..."
 
-#: src/tools/dcpomatic.cc:170
+#: src/tools/dvdomatic.cc:171
 msgid "&Preferences..."
 msgstr "&Préférences..."
 
-#: src/tools/dcpomatic.cc:165
+#: src/tools/dvdomatic.cc:166
 msgid "&Properties..."
 msgstr "&Propriétés..."
 
-#: src/tools/dcpomatic.cc:167
+#: src/tools/dvdomatic.cc:168
 msgid "&Quit"
 msgstr "&Quitter"
 
-#: src/tools/dcpomatic.cc:163
+#: src/tools/dvdomatic.cc:164
 msgid "&Save"
 msgstr "&Enregistrer"
 
-#: src/tools/dcpomatic.cc:174
+#: src/tools/dvdomatic.cc:175
 msgid "&Send DCP to TMS"
 msgstr "&Envoyer le DCP dans le TMS"
 
-#: src/tools/dcpomatic.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:426
+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/dcpomatic.cc:180
+#: src/tools/dvdomatic.cc:181
 msgid "About"
 msgstr "A Propos"
 
-#: src/tools/dcpomatic.cc:527
+#: src/tools/dvdomatic.cc:502
 #, fuzzy
 msgid "Could not load film %1 (%2)"
 msgstr "Impossible de charger le film %s (%s)"
 
-#: src/tools/dcpomatic.cc:339
+#: src/tools/dvdomatic.cc:348
 #, c-format
 msgid "Could not open film at %s (%s)"
 msgstr "Impossible d'ouvrir le film à %s (%s)"
 
-#: src/tools/dcpomatic.cc:287 src/tools/dcpomatic.cc:410
-#: src/tools/dcpomatic.cc:531
-msgid "DCP-o-matic"
-msgstr "DCP-o-matic"
+#: src/tools/dvdomatic.cc:288
+#: src/tools/dvdomatic.cc:419
+#: src/tools/dvdomatic.cc:506
+msgid "DVD-o-matic"
+msgstr "DVD-o-matic"
 
-#: src/tools/dcpomatic.cc:75
+#: src/tools/dvdomatic.cc:76
 msgid "Film changed"
 msgstr "Film changé"
 
-#: src/tools/dcpomatic.cc:416
+#: src/tools/dvdomatic.cc:425
 msgid "Free, open-source DCP generation from almost anything."
 msgstr "Création de DCP libre et open-source à partir de presque tout."
 
-#: src/tools/dcpomatic.cc:160
+#: src/tools/dvdomatic.cc:161
 msgid "New..."
 msgstr "Nouveau..."
 
-#: src/tools/dcpomatic.cc:175
+#: src/tools/dvdomatic.cc:176
 msgid "S&how DCP"
 msgstr "Voir le DCP"
 
-#: src/tools/dcpomatic.cc:74
+#: src/tools/dvdomatic.cc:75
+#, c-format
 msgid "Save changes to film \"%s\" before closing?"
-msgstr ""
+msgstr "Enregistrer les changements du film \"%s\" avant de fermer ?"
 
-#: src/tools/dcpomatic.cc:319
+#: src/tools/dvdomatic.cc:328
 msgid "Select film to open"
 msgstr "Sélectionner le film à ouvrir"
 
-#: src/tools/dcpomatic.cc:303
-#, fuzzy
-msgid "The directory %1 already exists."
-msgstr "Le dossier %s existe déjà."
+#: src/tools/dvdomatic.cc:307
+msgid "The directory %1 already exists and is not empty.  Are you sure you want to use it?"
+msgstr "Le dossier %1 existe et n'est pas vide. Etes-vous sûr de vouloir l'utiliser ?"
 
-#: src/tools/dcpomatic.cc:324
-msgid ""
-"You did not select a folder.  Make sure that you select a folder before "
-"clicking Open."
-msgstr ""
+#: src/tools/dvdomatic.cc:333
+msgid "You did not select a folder.  Make sure that you select a folder before clicking Open."
+msgstr "Aucun dossier sélectionné. Selectionnez un dossier avant de cliquer sur Ouvrir"
+
+#, fuzzy
+#~ msgid "The directory %1 already exists."
+#~ msgstr "Le dossier %s existe déjà."
index b4c1a6e6645379444359f7ed8b6c7b3c131a5686..d1f0b01bb4c93e6a5cdb692650ae287de3e3dfeb 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: IT VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
+"POT-Creation-Date: 2013-05-09 09:51+0100\n"
 "PO-Revision-Date: 2013-04-28 10:31+0100\n"
 "Last-Translator: Maci <macibro@gmail.com>\n"
 "Language-Team: \n"
@@ -17,108 +17,114 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 1.5.5\n"
 
-#: src/tools/dcpomatic.cc:177
+#: src/tools/dvdomatic.cc:178
 msgid "&Analyse audio"
 msgstr "&Analizza audio"
 
-#: src/tools/dcpomatic.cc:183
+#: src/tools/dvdomatic.cc:184
 msgid "&Edit"
 msgstr "&Modifica"
 
-#: src/tools/dcpomatic.cc:182
+#: src/tools/dvdomatic.cc:183
 msgid "&File"
 msgstr "&File"
 
-#: src/tools/dcpomatic.cc:185
+#: src/tools/dvdomatic.cc:186
 msgid "&Help"
 msgstr "&Aiuto"
 
-#: src/tools/dcpomatic.cc:184
+#: src/tools/dvdomatic.cc:185
 msgid "&Jobs"
 msgstr "&Lavori"
 
-#: src/tools/dcpomatic.cc:173
+#: src/tools/dvdomatic.cc:174
 msgid "&Make DCP"
 msgstr "&Crea DCP"
 
-#: src/tools/dcpomatic.cc:161
+#: src/tools/dvdomatic.cc:162
 msgid "&Open..."
 msgstr "&Apri..."
 
-#: src/tools/dcpomatic.cc:170
+#: src/tools/dvdomatic.cc:171
 msgid "&Preferences..."
 msgstr "&Preferenze..."
 
-#: src/tools/dcpomatic.cc:165
+#: src/tools/dvdomatic.cc:166
 msgid "&Properties..."
 msgstr "&Proprieta'..."
 
-#: src/tools/dcpomatic.cc:167
+#: src/tools/dvdomatic.cc:168
 msgid "&Quit"
 msgstr "&Esci"
 
-#: src/tools/dcpomatic.cc:163
+#: src/tools/dvdomatic.cc:164
 msgid "&Save"
 msgstr "&Salva"
 
-#: src/tools/dcpomatic.cc:174
+#: src/tools/dvdomatic.cc:175
 msgid "&Send DCP to TMS"
 msgstr "&Invia DCP a TMS"
 
-#: src/tools/dcpomatic.cc:417
+#: src/tools/dvdomatic.cc:426
 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/dcpomatic.cc:180
+#: src/tools/dvdomatic.cc:181
 msgid "About"
 msgstr "Informazioni"
 
-#: src/tools/dcpomatic.cc:527
+#: src/tools/dvdomatic.cc:502
 msgid "Could not load film %1 (%2)"
 msgstr "Non posso caricare il film %s (%s)"
 
-#: src/tools/dcpomatic.cc:339
+#: src/tools/dvdomatic.cc:348
 #, c-format
 msgid "Could not open film at %s (%s)"
 msgstr "Non posso aprire il film in %s (%s)"
 
-#: src/tools/dcpomatic.cc:287 src/tools/dcpomatic.cc:410
-#: src/tools/dcpomatic.cc:531
-msgid "DCP-o-matic"
-msgstr "DCP-o-matic"
+#: src/tools/dvdomatic.cc:288 src/tools/dvdomatic.cc:419
+#: src/tools/dvdomatic.cc:506
+msgid "DVD-o-matic"
+msgstr "DVD-o-matic"
 
-#: src/tools/dcpomatic.cc:75
+#: src/tools/dvdomatic.cc:76
 msgid "Film changed"
 msgstr "Film modificato"
 
-#: src/tools/dcpomatic.cc:416
+#: src/tools/dvdomatic.cc:425
 msgid "Free, open-source DCP generation from almost anything."
 msgstr "Genera DCP da quasi tutto, free e open-source."
 
-#: src/tools/dcpomatic.cc:160
+#: src/tools/dvdomatic.cc:161
 msgid "New..."
 msgstr "Nuovo"
 
-#: src/tools/dcpomatic.cc:175
+#: src/tools/dvdomatic.cc:176
 msgid "S&how DCP"
 msgstr "&Mostra DCP"
 
-#: src/tools/dcpomatic.cc:74
+#: src/tools/dvdomatic.cc:75
+#, c-format
 msgid "Save changes to film \"%s\" before closing?"
 msgstr "Salvare i cambiamenti del film \"%s\" prima di chiudere?"
 
-#: src/tools/dcpomatic.cc:319
+#: src/tools/dvdomatic.cc:328
 msgid "Select film to open"
 msgstr "Seleziona il film da aprire"
 
-#: src/tools/dcpomatic.cc:303
-msgid "The directory %1 already exists."
-msgstr "La directory %s esiste gia'."
+#: src/tools/dvdomatic.cc:307
+msgid ""
+"The directory %1 already exists and is not empty.  Are you sure you want to "
+"use it?"
+msgstr ""
 
-#: src/tools/dcpomatic.cc:324
+#: src/tools/dvdomatic.cc:333
 msgid ""
 "You did not select a folder.  Make sure that you select a folder before "
 "clicking Open."
 msgstr ""
+
+#~ msgid "The directory %1 already exists."
+#~ msgstr "La directory %s esiste gia'."
index 69706d6479563932ca4cf325de84f006cbe85de5..6507bb69cd688f32da0dc5a554dc6856ced4152e 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: DCP-o-matic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
+"POT-Creation-Date: 2013-05-09 09:51+0100\n"
 "PO-Revision-Date: 2013-04-09 10:12+0100\n"
 "Last-Translator: Adam Klotblixt <adam.klotblixt@gmail.com>\n"
 "Language-Team: \n"
@@ -17,111 +17,117 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 1.5.5\n"
 
-#: src/tools/dcpomatic.cc:177
+#: src/tools/dvdomatic.cc:178
 msgid "&Analyse audio"
 msgstr "&Analysera audio"
 
-#: src/tools/dcpomatic.cc:183
+#: src/tools/dvdomatic.cc:184
 msgid "&Edit"
 msgstr "&Redigera"
 
-#: src/tools/dcpomatic.cc:182
+#: src/tools/dvdomatic.cc:183
 msgid "&File"
 msgstr "&Fil"
 
-#: src/tools/dcpomatic.cc:185
+#: src/tools/dvdomatic.cc:186
 msgid "&Help"
 msgstr "&Hjälp"
 
-#: src/tools/dcpomatic.cc:184
+#: src/tools/dvdomatic.cc:185
 msgid "&Jobs"
 msgstr "&Jobb"
 
-#: src/tools/dcpomatic.cc:173
+#: src/tools/dvdomatic.cc:174
 msgid "&Make DCP"
 msgstr "&Skapa DCP"
 
-#: src/tools/dcpomatic.cc:161
+#: src/tools/dvdomatic.cc:162
 msgid "&Open..."
 msgstr "&Öppna"
 
-#: src/tools/dcpomatic.cc:170
+#: src/tools/dvdomatic.cc:171
 msgid "&Preferences..."
 msgstr "&Inställningar"
 
-#: src/tools/dcpomatic.cc:165
+#: src/tools/dvdomatic.cc:166
 msgid "&Properties..."
 msgstr "&Egenskaper"
 
-#: src/tools/dcpomatic.cc:167
+#: src/tools/dvdomatic.cc:168
 msgid "&Quit"
 msgstr "&Avsluta"
 
-#: src/tools/dcpomatic.cc:163
+#: src/tools/dvdomatic.cc:164
 msgid "&Save"
 msgstr "&Spara"
 
-#: src/tools/dcpomatic.cc:174
+#: src/tools/dvdomatic.cc:175
 msgid "&Send DCP to TMS"
 msgstr "&Skicka DCP till TMS"
 
-#: src/tools/dcpomatic.cc:417
+#: src/tools/dvdomatic.cc:426
 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/dcpomatic.cc:180
+#: src/tools/dvdomatic.cc:181
 msgid "About"
 msgstr "Om"
 
-#: src/tools/dcpomatic.cc:527
+#: src/tools/dvdomatic.cc:502
 msgid "Could not load film %1 (%2)"
 msgstr "Kunde inte öppna filmen %1 (%2)"
 
-#: src/tools/dcpomatic.cc:339
+#: src/tools/dvdomatic.cc:348
 #, c-format
 msgid "Could not open film at %s (%s)"
 msgstr "Kunde inte öppna filmen vid %s (%s)"
 
-#: src/tools/dcpomatic.cc:287 src/tools/dcpomatic.cc:410
-#: src/tools/dcpomatic.cc:531
+#: src/tools/dvdomatic.cc:288 src/tools/dvdomatic.cc:419
+#: src/tools/dvdomatic.cc:506
 msgid "DCP-o-matic"
 msgstr "DCP-o-matic"
 
-#: src/tools/dcpomatic.cc:75
+#: src/tools/dvdomatic.cc:76
 msgid "Film changed"
 msgstr "Film ändrad"
 
-#: src/tools/dcpomatic.cc:416
+#: src/tools/dvdomatic.cc:425
 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/dcpomatic.cc:160
+#: src/tools/dvdomatic.cc:161
 msgid "New..."
 msgstr "Ny..."
 
-#: src/tools/dcpomatic.cc:175
+#: src/tools/dvdomatic.cc:176
 msgid "S&how DCP"
 msgstr "&Visa DCP"
 
-#: src/tools/dcpomatic.cc:74
+#: src/tools/dvdomatic.cc:75
+#, fuzzy, c-format
 msgid "Save changes to film \"%s\" before closing?"
 msgstr "Spara ändringarna till filmen \"%s\" före avslut?"
 
-#: src/tools/dcpomatic.cc:319
+#: src/tools/dvdomatic.cc:328
 msgid "Select film to open"
 msgstr "Välj film att öppna"
 
-#: src/tools/dcpomatic.cc:303
-msgid "The directory %1 already exists."
-msgstr "Katalogen %1 finns redan."
+#: src/tools/dvdomatic.cc:307
+msgid ""
+"The directory %1 already exists and is not empty.  Are you sure you want to "
+"use it?"
+msgstr ""
 
-#: src/tools/dcpomatic.cc:324
+#: src/tools/dvdomatic.cc:333
 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."
+
+#~ msgid "The directory %1 already exists."
+#~ msgstr "Katalogen %1 finns redan."
index a193325e6c09ad55d08e2602b90ff4a875d114a2..bf5dce4b08e69d60c72de97ce20b4bde28d3b98a 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libdcpomatic-wx\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
+"POT-Creation-Date: 2013-05-09 09:51+0100\n"
 "PO-Revision-Date: 2013-04-02 19:08-0500\n"
 "Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n"
 "Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n"
@@ -21,7 +21,6 @@ msgstr ""
 msgid "%"
 msgstr "%"
 
-#: src/wx/config_dialog.cc:61
 msgid "(restart DCP-o-matic to see language changes)"
 msgstr ""
 
@@ -33,7 +32,11 @@ msgstr "1 canal"
 msgid "A/B"
 msgstr "A/B"
 
-#: src/wx/config_dialog.cc:143
+#: src/wx/config_dialog.cc:61
+msgid "A/B mode"
+msgstr ""
+
+#: src/wx/config_dialog.cc:325
 msgid "Add"
 msgstr "Añadir"
 
@@ -79,7 +82,7 @@ msgstr "pero tengo que usar el fader a"
 msgid "Calculate..."
 msgstr "Calcular..."
 
-#: src/wx/job_manager_view.cc:88
+#: src/wx/job_manager_view.cc:97
 msgid "Cancel"
 msgstr ""
 
@@ -123,6 +126,11 @@ msgstr "No se pudo establecer el contenido: %s"
 msgid "Create in folder"
 msgstr "Crear en carpeta"
 
+#: src/wx/config_dialog.cc:244
+#, fuzzy
+msgid "Creator"
+msgstr "Crear en carpeta"
+
 #: src/wx/film_editor.cc:1371
 #, c-format
 msgid "Cropped to %dx%d (%.2f:1)\n"
@@ -153,15 +161,24 @@ msgstr "Preferencias DCP-o-matic"
 msgid "DCP-o-matic audio - %s"
 msgstr "Audio DCP-o-matic - %1"
 
-#: src/wx/config_dialog.cc:102
+#: src/wx/config_dialog.cc:120
 msgid "Default DCI name details"
 msgstr "Detalles por defecto del nombre DCI"
 
-#: src/wx/config_dialog.cc:93
+#: src/wx/config_dialog.cc:130
+#, fuzzy
+msgid "Default content type"
+msgstr "Tipo de contenido"
+
+#: src/wx/config_dialog.cc:111
 msgid "Default directory for new films"
 msgstr "Carpeta por defecto para nuevas películas"
 
-#: src/wx/film_editor.cc:116 src/wx/job_manager_view.cc:92
+#: src/wx/config_dialog.cc:125
+msgid "Default format"
+msgstr ""
+
+#: src/wx/film_editor.cc:116 src/wx/job_manager_view.cc:109
 msgid "Details..."
 msgstr "Detalles..."
 
@@ -173,17 +190,18 @@ msgstr "Espacio requerido en disco"
 msgid "Duration"
 msgstr "Duración"
 
-#: src/wx/config_dialog.cc:145
+#: src/wx/config_dialog.cc:327
 msgid "Edit"
 msgstr "Editar"
 
-#: src/wx/config_dialog.cc:103 src/wx/config_dialog.cc:122
+#: src/wx/config_dialog.cc:121 src/wx/config_dialog.cc:282
 #: src/wx/film_editor.cc:312
 msgid "Edit..."
 msgstr "Editar..."
 
-#: src/wx/config_dialog.cc:128
-msgid "Encoding Servers"
+#: src/wx/config_dialog.cc:55
+#, fuzzy
+msgid "Encoding servers"
 msgstr "Servidores de codificación"
 
 #: src/wx/film_editor.cc:171
@@ -242,10 +260,14 @@ msgstr "Hz"
 msgid "I want to play this back at fader"
 msgstr "Quiero reproducir con el fader a"
 
-#: src/wx/config_dialog.cc:132
+#: src/wx/config_dialog.cc:201 src/wx/config_dialog.cc:314
 msgid "IP address"
 msgstr "Dirección IP"
 
+#: src/wx/config_dialog.cc:240
+msgid "Issuer"
+msgstr ""
+
 #: src/wx/film_editor.cc:339
 msgid "JPEG2000 bandwidth"
 msgstr "Ancho de banda JPEG2000"
@@ -262,6 +284,14 @@ msgstr "Longitud"
 msgid "MBps"
 msgstr "MBps"
 
+#: src/wx/config_dialog.cc:57
+msgid "Metadata"
+msgstr ""
+
+#: src/wx/config_dialog.cc:53
+msgid "Miscellaneous"
+msgstr ""
+
 #: src/wx/dir_picker_ctrl.cc:52
 msgid "My Documents"
 msgstr "Mis documentos"
@@ -296,6 +326,15 @@ msgstr "Tipo de paquete (ej. OV)"
 msgid "Padded with black to %dx%d (%.2f:1)\n"
 msgstr ""
 
+#: src/wx/config_dialog.cc:213
+#, fuzzy
+msgid "Password"
+msgstr "Clave del TMS"
+
+#: src/wx/job_manager_view.cc:103 src/wx/job_manager_view.cc:188
+msgid "Pause"
+msgstr ""
+
 #: src/wx/audio_dialog.cc:60
 msgid "Peak"
 msgstr "Pico"
@@ -316,23 +355,29 @@ msgstr "RMS"
 msgid "Rating (e.g. 15)"
 msgstr "Clasificación (ej. 16)"
 
-#: src/wx/config_dialog.cc:118
-msgid "Reference filters for A/B"
+#: src/wx/config_dialog.cc:278
+#, fuzzy
+msgid "Reference filters"
 msgstr "Filtros de referencia para A/B"
 
-#: src/wx/config_dialog.cc:107
-msgid "Reference scaler for A/B"
+#: src/wx/config_dialog.cc:267
+#, fuzzy
+msgid "Reference scaler"
 msgstr "Escalador de referencia para A/B"
 
-#: src/wx/config_dialog.cc:147
+#: src/wx/config_dialog.cc:329
 msgid "Remove"
 msgstr "Quitar"
 
+#: src/wx/job_manager_view.cc:191
+msgid "Resume"
+msgstr ""
+
 #: src/wx/film_editor.cc:282
 msgid "Right crop"
 msgstr "Recorte derecha"
 
-#: src/wx/job_manager_view.cc:108
+#: src/wx/job_manager_view.cc:126
 msgid "Running"
 msgstr "Ejecutando"
 
@@ -357,7 +402,7 @@ msgstr "Seleccionar fichero de contenido"
 msgid "Server"
 msgstr "Servidor"
 
-#: src/wx/config_dialog.cc:49
+#: src/wx/config_dialog.cc:87
 msgid "Set language"
 msgstr ""
 
@@ -393,27 +438,21 @@ msgstr "Escala del subtítulo"
 msgid "Subtitles"
 msgstr "Subtítulos"
 
-#: src/wx/config_dialog.cc:68
-msgid "TMS IP address"
-msgstr "Dirección IP del TMS"
-
-#: src/wx/config_dialog.cc:83
-msgid "TMS password"
-msgstr "Clave del TMS"
+#: src/wx/config_dialog.cc:59
+#, fuzzy
+msgid "TMS"
+msgstr "RMS"
 
-#: src/wx/config_dialog.cc:73
-msgid "TMS target path"
+#: src/wx/config_dialog.cc:205
+#, fuzzy
+msgid "Target path"
 msgstr "Ruta en el TMS"
 
-#: src/wx/config_dialog.cc:78
-msgid "TMS user name"
-msgstr "Usuario del TMS"
-
 #: src/wx/dci_metadata_dialog.cc:41
 msgid "Territory (e.g. UK)"
 msgstr "Territorio (ej. ES)"
 
-#: src/wx/config_dialog.cc:136
+#: src/wx/config_dialog.cc:318
 msgid "Threads"
 msgstr "Hilos"
 
@@ -421,7 +460,7 @@ msgstr "Hilos"
 msgid "Threads to use"
 msgstr "Hilos a utilizar"
 
-#: src/wx/config_dialog.cc:88
+#: src/wx/config_dialog.cc:106
 msgid "Threads to use for encoding on this host"
 msgstr "Hilos a utilizar para la codificación en esta máquina"
 
@@ -466,6 +505,11 @@ msgstr "Usar el audio del contenido"
 msgid "Use external audio"
 msgstr "Usar audio externo"
 
+#: src/wx/config_dialog.cc:209
+#, fuzzy
+msgid "User name"
+msgstr "Usar el nombre DCI"
+
 #: src/wx/film_editor.cc:75
 msgid "Video"
 msgstr "Vídeo"
@@ -516,5 +560,11 @@ msgstr "s"
 msgid "unknown"
 msgstr "desconocido"
 
+#~ msgid "TMS IP address"
+#~ msgstr "Dirección IP del TMS"
+
+#~ msgid "TMS user name"
+#~ msgstr "Usuario del TMS"
+
 #~ msgid "Original Size"
 #~ msgstr "Tamaño original"
index 36ae4a9252727678ed8e53a57c20177d451764c1..aee97956f49d728a69ad4f242694f2e33e994e64 100644 (file)
@@ -7,9 +7,9 @@ msgid ""
 msgstr ""
 "Project-Id-Version: DCP-o-matic FRENCH\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
-"PO-Revision-Date: 2013-03-20 00:34+0100\n"
-"Last-Translator: FreeDCP.net <freedcp.net@gmail.com>\n"
+"POT-Creation-Date: 2013-05-09 09:51+0100\n"
+"PO-Revision-Date: 2013-05-10 14:19+0100\n"
+"Last-Translator: \n"
 "Language-Team: \n"
 "Language: \n"
 "MIME-Version: 1.0\n"
@@ -20,9 +20,9 @@ msgstr ""
 msgid "%"
 msgstr "%"
 
-#: src/wx/config_dialog.cc:61
+#: src/wx/config_dialog.cc:98
 msgid "(restart DCP-o-matic to see language changes)"
-msgstr ""
+msgstr "(redémarrez DCP-o-matic pour voir les changements de langue)"
 
 #: src/wx/film_editor.cc:1276
 msgid "1 channel"
@@ -32,11 +32,16 @@ msgstr "1 canal"
 msgid "A/B"
 msgstr "A/B"
 
-#: src/wx/config_dialog.cc:143
+#: src/wx/config_dialog.cc:61
+msgid "A/B mode"
+msgstr "A/B mode"
+
+#: src/wx/config_dialog.cc:325
 msgid "Add"
 msgstr "Ajouter"
 
-#: src/wx/audio_dialog.cc:32 src/wx/film_editor.cc:77
+#: src/wx/audio_dialog.cc:32
+#: src/wx/film_editor.cc:77
 msgid "Audio"
 msgstr "Audio"
 
@@ -55,7 +60,7 @@ msgstr "Langue audio (ex. FR)"
 #: src/wx/film_editor.cc:824
 #, c-format
 msgid "Audio will be resampled from %dHz to %dHz\n"
-msgstr ""
+msgstr "L'audio sera rééchantillonné de %dHz à %dHz\n"
 
 #: src/wx/job_wrapper.cc:38
 #, c-format
@@ -78,7 +83,7 @@ msgstr "Je souhaite utiliser ce volume"
 msgid "Calculate..."
 msgstr "Calcul..."
 
-#: src/wx/job_manager_view.cc:88
+#: src/wx/job_manager_view.cc:97
 msgid "Cancel"
 msgstr "Annuler"
 
@@ -122,10 +127,14 @@ msgstr "Sélectionner du contenu impossible : %s"
 msgid "Create in folder"
 msgstr "Créer dans le dossier"
 
+#: src/wx/config_dialog.cc:244
+msgid "Creator"
+msgstr "Créateur"
+
 #: src/wx/film_editor.cc:1371
 #, c-format
 msgid "Cropped to %dx%d (%.2f:1)\n"
-msgstr ""
+msgstr "Découpe de %dx%d (%.2f:1)\n"
 
 #: src/wx/dci_metadata_dialog.cc:28
 msgid "DCI name"
@@ -152,15 +161,24 @@ msgstr "Préférences DCP-o-matic"
 msgid "DCP-o-matic audio - %s"
 msgstr "Son DCP-o-matic  - %s"
 
-#: src/wx/config_dialog.cc:102
+#: src/wx/config_dialog.cc:120
 msgid "Default DCI name details"
 msgstr "Détails du nom DCI par défaut"
 
-#: src/wx/config_dialog.cc:93
+#: src/wx/config_dialog.cc:130
+msgid "Default content type"
+msgstr "Type de contenu par défaut"
+
+#: src/wx/config_dialog.cc:111
 msgid "Default directory for new films"
 msgstr "Dossier par défaut des nouveaux films"
 
-#: src/wx/film_editor.cc:116 src/wx/job_manager_view.cc:92
+#: src/wx/config_dialog.cc:125
+msgid "Default format"
+msgstr "Format par défaut"
+
+#: src/wx/film_editor.cc:116
+#: src/wx/job_manager_view.cc:109
 msgid "Details..."
 msgstr "Détails..."
 
@@ -172,17 +190,19 @@ msgstr "Espace disque requis"
 msgid "Duration"
 msgstr "Durée"
 
-#: src/wx/config_dialog.cc:145
+#: src/wx/config_dialog.cc:327
 msgid "Edit"
 msgstr "Édition"
 
-#: src/wx/config_dialog.cc:103 src/wx/config_dialog.cc:122
+#: src/wx/config_dialog.cc:121
+#: src/wx/config_dialog.cc:282
 #: src/wx/film_editor.cc:312
 msgid "Edit..."
 msgstr "Éditer..."
 
-#: src/wx/config_dialog.cc:128
-msgid "Encoding Servers"
+#: src/wx/config_dialog.cc:55
+#, fuzzy
+msgid "Encoding servers"
 msgstr "Serveurs d'encodage"
 
 #: src/wx/film_editor.cc:171
@@ -205,7 +225,8 @@ msgstr "Propriétés du film"
 msgid "Film name"
 msgstr "Nom du Film"
 
-#: src/wx/film_editor.cc:307 src/wx/filter_dialog.cc:32
+#: src/wx/film_editor.cc:307
+#: src/wx/filter_dialog.cc:32
 msgid "Filters"
 msgstr "Filtres"
 
@@ -241,10 +262,15 @@ msgstr "Hz"
 msgid "I want to play this back at fader"
 msgstr "Je veux le jouer à ce volume"
 
-#: src/wx/config_dialog.cc:132
+#: src/wx/config_dialog.cc:201
+#: src/wx/config_dialog.cc:314
 msgid "IP address"
 msgstr "Adresse IP"
 
+#: src/wx/config_dialog.cc:240
+msgid "Issuer"
+msgstr "Emetteur"
+
 #: src/wx/film_editor.cc:339
 msgid "JPEG2000 bandwidth"
 msgstr "Qualité JPEG2000"
@@ -261,6 +287,14 @@ msgstr "Longueur / durée"
 msgid "MBps"
 msgstr "MBps"
 
+#: src/wx/config_dialog.cc:57
+msgid "Metadata"
+msgstr "Métadonnées"
+
+#: src/wx/config_dialog.cc:53
+msgid "Miscellaneous"
+msgstr "Divers"
+
 #: src/wx/dir_picker_ctrl.cc:52
 msgid "My Documents"
 msgstr "Mes Documents"
@@ -273,7 +307,8 @@ msgstr "Nom"
 msgid "New Film"
 msgstr "Nouveau Film"
 
-#: src/wx/film_editor.cc:309 src/wx/film_editor.cc:671
+#: src/wx/film_editor.cc:309
+#: src/wx/film_editor.cc:671
 msgid "None"
 msgstr "Aucun"
 
@@ -284,7 +319,7 @@ msgstr "Cadence d'images originale"
 #: src/wx/film_editor.cc:1360
 #, c-format
 msgid "Original video is %dx%d (%.2f:1)\n"
-msgstr ""
+msgstr "La vidéo originale est %dx%d (%.2f:1)\n"
 
 #: src/wx/dci_metadata_dialog.cc:57
 msgid "Package Type (e.g. OV)"
@@ -293,7 +328,16 @@ msgstr "Type de paquet (ex. OV)"
 #: src/wx/film_editor.cc:1392
 #, c-format
 msgid "Padded with black to %dx%d (%.2f:1)\n"
-msgstr ""
+msgstr "Enveloppe noire de %dx%d (%.2f:1)\n"
+
+#: src/wx/config_dialog.cc:213
+msgid "Password"
+msgstr "Mot de passe"
+
+#: src/wx/job_manager_view.cc:103
+#: src/wx/job_manager_view.cc:188
+msgid "Pause"
+msgstr "Pause"
 
 #: src/wx/audio_dialog.cc:60
 msgid "Peak"
@@ -315,30 +359,34 @@ msgstr "RMS"
 msgid "Rating (e.g. 15)"
 msgstr "Rating (ex. 15)"
 
-#: src/wx/config_dialog.cc:118
-msgid "Reference filters for A/B"
-msgstr "Filtres de référence pour A/B"
+#: src/wx/config_dialog.cc:278
+msgid "Reference filters"
+msgstr "Filtres de référence"
 
-#: src/wx/config_dialog.cc:107
-msgid "Reference scaler for A/B"
-msgstr "Échelle de référence pour A/B"
+#: src/wx/config_dialog.cc:267
+msgid "Reference scaler"
+msgstr "Échelle de référence"
 
-#: src/wx/config_dialog.cc:147
+#: src/wx/config_dialog.cc:329
 msgid "Remove"
 msgstr "Supprimer"
 
+#: src/wx/job_manager_view.cc:191
+msgid "Resume"
+msgstr "Reprendre"
+
 #: src/wx/film_editor.cc:282
 msgid "Right crop"
 msgstr "Découpe droite"
 
-#: src/wx/job_manager_view.cc:108
+#: src/wx/job_manager_view.cc:126
 msgid "Running"
 msgstr "Progression"
 
 #: src/wx/film_editor.cc:1384
 #, c-format
 msgid "Scaled to %dx%d (%.2f:1)\n"
-msgstr ""
+msgstr "Mis à l'échelle de %dx%d (%.2f:1)\n"
 
 #: src/wx/film_editor.cc:319
 msgid "Scaler"
@@ -356,9 +404,9 @@ msgstr "Sélectionner le fichier vidéo"
 msgid "Server"
 msgstr "Serveur"
 
-#: src/wx/config_dialog.cc:49
+#: src/wx/config_dialog.cc:87
 msgid "Set language"
-msgstr ""
+msgstr "Selectionnez la langue"
 
 #: src/wx/film_editor.cc:368
 msgid "Show Audio..."
@@ -392,27 +440,20 @@ msgstr "Taille du sous-titre"
 msgid "Subtitles"
 msgstr "Sous-titres"
 
-#: src/wx/config_dialog.cc:68
-msgid "TMS IP address"
-msgstr "Adresse IP du TMS"
-
-#: src/wx/config_dialog.cc:83
-msgid "TMS password"
-msgstr "Mot de passe du TMS"
-
-#: src/wx/config_dialog.cc:73
-msgid "TMS target path"
-msgstr "Chemin d'accès du TMS"
+#: src/wx/config_dialog.cc:59
+#, fuzzy
+msgid "TMS"
+msgstr "RMS"
 
-#: src/wx/config_dialog.cc:78
-msgid "TMS user name"
-msgstr "Nom d'utilisateur du TMS"
+#: src/wx/config_dialog.cc:205
+msgid "Target path"
+msgstr "Chemin d'accès"
 
 #: src/wx/dci_metadata_dialog.cc:41
 msgid "Territory (e.g. UK)"
 msgstr "Territoire (ex. FR)"
 
-#: src/wx/config_dialog.cc:136
+#: src/wx/config_dialog.cc:318
 msgid "Threads"
 msgstr "Processus"
 
@@ -420,7 +461,7 @@ msgstr "Processus"
 msgid "Threads to use"
 msgstr "Nombre de processus à utiliser"
 
-#: src/wx/config_dialog.cc:88
+#: src/wx/config_dialog.cc:106
 msgid "Threads to use for encoding on this host"
 msgstr "Nombre de processus à utiliser sur cet hôte"
 
@@ -464,6 +505,10 @@ msgstr "Utiliser le son intégré"
 msgid "Use external audio"
 msgstr "Utiliser une source audio externe"
 
+#: src/wx/config_dialog.cc:209
+msgid "User name"
+msgstr "Nom d'utilisateur"
+
 #: src/wx/film_editor.cc:75
 msgid "Video"
 msgstr "Vidéo"
@@ -492,7 +537,8 @@ msgstr "encoder toutes les images mais lire seulement la sélection"
 msgid "encode only the subset"
 msgstr "encoder seulement la sélection"
 
-#: src/wx/film_editor.cc:694 src/wx/film_editor.cc:697
+#: src/wx/film_editor.cc:694
+#: src/wx/film_editor.cc:697
 msgid "frames"
 msgstr "images"
 
@@ -503,16 +549,23 @@ msgstr "ms"
 
 #: src/wx/film_editor.cc:440
 msgid "pixels"
-msgstr ""
+msgstr "pixels"
 
 #. / TRANSLATORS: `s' here is an abbreviation for seconds, the unit of time
 #: src/wx/film_editor.cc:197
 msgid "s"
 msgstr "s"
 
-#: src/wx/properties_dialog.cc:62 src/wx/properties_dialog.cc:63
+#: src/wx/properties_dialog.cc:62
+#: src/wx/properties_dialog.cc:63
 msgid "unknown"
 msgstr "inconnu"
 
+#~ msgid "TMS IP address"
+#~ msgstr "Adresse IP du TMS"
+
+#~ msgid "TMS user name"
+#~ msgstr "Nom d'utilisateur du TMS"
+
 #~ msgid "Original Size"
 #~ msgstr "Taille Originale"
index 2c6c6786802ca35ee8751b41b4f8a11271bdc16b..f667a6f2147715b6b2a12c88fc3313b606ff79af 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: IT VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
+"POT-Creation-Date: 2013-05-09 09:51+0100\n"
 "PO-Revision-Date: 2013-04-28 10:27+0100\n"
 "Last-Translator: Maci <macibro@gmail.com>\n"
 "Language-Team: \n"
@@ -33,7 +33,11 @@ msgstr "1 canale"
 msgid "A/B"
 msgstr "A/B"
 
-#: src/wx/config_dialog.cc:143
+#: src/wx/config_dialog.cc:61
+msgid "A/B mode"
+msgstr ""
+
+#: src/wx/config_dialog.cc:325
 msgid "Add"
 msgstr "Aggiungi"
 
@@ -79,7 +83,7 @@ msgstr "Ma dovrò riprodurre con il fader a"
 msgid "Calculate..."
 msgstr "Calcola..."
 
-#: src/wx/job_manager_view.cc:88
+#: src/wx/job_manager_view.cc:97
 msgid "Cancel"
 msgstr "Annulla"
 
@@ -123,6 +127,11 @@ msgstr "Non posso regolare il contenuto: %s"
 msgid "Create in folder"
 msgstr "Crea nella cartella"
 
+#: src/wx/config_dialog.cc:244
+#, fuzzy
+msgid "Creator"
+msgstr "Crea nella cartella"
+
 #: src/wx/film_editor.cc:1371
 #, c-format
 msgid "Cropped to %dx%d (%.2f:1)\n"
@@ -153,15 +162,24 @@ msgstr "Preferenze DCP-o-matic"
 msgid "DCP-o-matic audio - %s"
 msgstr "Audio DCP-o-matic - %s"
 
-#: src/wx/config_dialog.cc:102
+#: src/wx/config_dialog.cc:120
 msgid "Default DCI name details"
 msgstr "Dettagli del nome di default DCI"
 
-#: src/wx/config_dialog.cc:93
+#: src/wx/config_dialog.cc:130
+#, fuzzy
+msgid "Default content type"
+msgstr "Tipo di contenuto"
+
+#: src/wx/config_dialog.cc:111
 msgid "Default directory for new films"
 msgstr "Directory di default per i nuovi films"
 
-#: src/wx/film_editor.cc:116 src/wx/job_manager_view.cc:92
+#: src/wx/config_dialog.cc:125
+msgid "Default format"
+msgstr ""
+
+#: src/wx/film_editor.cc:116 src/wx/job_manager_view.cc:109
 msgid "Details..."
 msgstr "Dettagli"
 
@@ -173,17 +191,18 @@ msgstr "Spazio su disco rischiesto"
 msgid "Duration"
 msgstr "Durata"
 
-#: src/wx/config_dialog.cc:145
+#: src/wx/config_dialog.cc:327
 msgid "Edit"
 msgstr "Modifica"
 
-#: src/wx/config_dialog.cc:103 src/wx/config_dialog.cc:122
+#: src/wx/config_dialog.cc:121 src/wx/config_dialog.cc:282
 #: src/wx/film_editor.cc:312
 msgid "Edit..."
 msgstr "Modifica..."
 
-#: src/wx/config_dialog.cc:128
-msgid "Encoding Servers"
+#: src/wx/config_dialog.cc:55
+#, fuzzy
+msgid "Encoding servers"
 msgstr "Servers di codifica"
 
 #: src/wx/film_editor.cc:171
@@ -242,10 +261,14 @@ msgstr "Hz"
 msgid "I want to play this back at fader"
 msgstr "Sto usando il fader a"
 
-#: src/wx/config_dialog.cc:132
+#: src/wx/config_dialog.cc:201 src/wx/config_dialog.cc:314
 msgid "IP address"
 msgstr "Indirizzo IP"
 
+#: src/wx/config_dialog.cc:240
+msgid "Issuer"
+msgstr ""
+
 #: src/wx/film_editor.cc:339
 msgid "JPEG2000 bandwidth"
 msgstr "Banda passante JPEG2000"
@@ -262,6 +285,14 @@ msgstr "Lunghezza"
 msgid "MBps"
 msgstr "MBps"
 
+#: src/wx/config_dialog.cc:57
+msgid "Metadata"
+msgstr ""
+
+#: src/wx/config_dialog.cc:53
+msgid "Miscellaneous"
+msgstr ""
+
 #: src/wx/dir_picker_ctrl.cc:52
 msgid "My Documents"
 msgstr "Documenti"
@@ -296,6 +327,15 @@ msgstr "Tipo di Package (es. OV)"
 msgid "Padded with black to %dx%d (%.2f:1)\n"
 msgstr "Riempito con nero a %dx%d (%.2f:1)\n"
 
+#: src/wx/config_dialog.cc:213
+#, fuzzy
+msgid "Password"
+msgstr "Password del TMS"
+
+#: src/wx/job_manager_view.cc:103 src/wx/job_manager_view.cc:188
+msgid "Pause"
+msgstr ""
+
 #: src/wx/audio_dialog.cc:60
 msgid "Peak"
 msgstr "Picco"
@@ -316,23 +356,29 @@ msgstr "RMS"
 msgid "Rating (e.g. 15)"
 msgstr "Classificazione (es. 15)"
 
-#: src/wx/config_dialog.cc:118
-msgid "Reference filters for A/B"
+#: src/wx/config_dialog.cc:278
+#, fuzzy
+msgid "Reference filters"
 msgstr "Filtri di riferimento A/B"
 
-#: src/wx/config_dialog.cc:107
-msgid "Reference scaler for A/B"
+#: src/wx/config_dialog.cc:267
+#, fuzzy
+msgid "Reference scaler"
 msgstr "Scalatura di riferimento A/B"
 
-#: src/wx/config_dialog.cc:147
+#: src/wx/config_dialog.cc:329
 msgid "Remove"
 msgstr "Rimuovi"
 
+#: src/wx/job_manager_view.cc:191
+msgid "Resume"
+msgstr ""
+
 #: src/wx/film_editor.cc:282
 msgid "Right crop"
 msgstr "Taglio a destra"
 
-#: src/wx/job_manager_view.cc:108
+#: src/wx/job_manager_view.cc:126
 msgid "Running"
 msgstr "In corso"
 
@@ -357,7 +403,7 @@ msgstr "Seleziona il file con il contenuto"
 msgid "Server"
 msgstr "Server"
 
-#: src/wx/config_dialog.cc:49
+#: src/wx/config_dialog.cc:87
 msgid "Set language"
 msgstr "Seleziona la lingua"
 
@@ -393,27 +439,21 @@ msgstr "Scala dei Sottotitoli"
 msgid "Subtitles"
 msgstr "Sottotitoli"
 
-#: src/wx/config_dialog.cc:68
-msgid "TMS IP address"
-msgstr "Indirizzo IP del TMS"
-
-#: src/wx/config_dialog.cc:83
-msgid "TMS password"
-msgstr "Password del TMS"
+#: src/wx/config_dialog.cc:59
+#, fuzzy
+msgid "TMS"
+msgstr "RMS"
 
-#: src/wx/config_dialog.cc:73
-msgid "TMS target path"
+#: src/wx/config_dialog.cc:205
+#, fuzzy
+msgid "Target path"
 msgstr "Percorso di destinazione del TMS"
 
-#: src/wx/config_dialog.cc:78
-msgid "TMS user name"
-msgstr "Nome utente del TMS"
-
 #: src/wx/dci_metadata_dialog.cc:41
 msgid "Territory (e.g. UK)"
 msgstr "Nazione (es. UK)"
 
-#: src/wx/config_dialog.cc:136
+#: src/wx/config_dialog.cc:318
 msgid "Threads"
 msgstr "Threads"
 
@@ -421,7 +461,7 @@ msgstr "Threads"
 msgid "Threads to use"
 msgstr "Threads da usare"
 
-#: src/wx/config_dialog.cc:88
+#: src/wx/config_dialog.cc:106
 msgid "Threads to use for encoding on this host"
 msgstr "Threads da usare per codificare su questo host"
 
@@ -465,6 +505,11 @@ msgstr "Usa l'audio del contenuto"
 msgid "Use external audio"
 msgstr "Usa l'audio esterno"
 
+#: src/wx/config_dialog.cc:209
+#, fuzzy
+msgid "User name"
+msgstr "Usa nome DCI"
+
 #: src/wx/film_editor.cc:75
 msgid "Video"
 msgstr "Video"
@@ -515,5 +560,11 @@ msgstr "s"
 msgid "unknown"
 msgstr "sconosciuto"
 
+#~ msgid "TMS IP address"
+#~ msgstr "Indirizzo IP del TMS"
+
+#~ msgid "TMS user name"
+#~ msgstr "Nome utente del TMS"
+
 #~ msgid "Original Size"
 #~ msgstr "Dimensione Originale"
index 9ed7ee2bee987350af06f5b6d379008fcbb41abd..f31d98c38a1d75ff7d7124bdc435b82c50d521ad 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: DCP-o-matic\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-04-22 15:06+0100\n"
+"POT-Creation-Date: 2013-05-09 09:51+0100\n"
 "PO-Revision-Date: 2013-04-09 10:13+0100\n"
 "Last-Translator: Adam Klotblixt <adam.klotblixt@gmail.com>\n"
 "Language-Team: \n"
@@ -33,7 +33,11 @@ msgstr "1 kanal"
 msgid "A/B"
 msgstr "A/B"
 
-#: src/wx/config_dialog.cc:143
+#: src/wx/config_dialog.cc:61
+msgid "A/B mode"
+msgstr ""
+
+#: src/wx/config_dialog.cc:325
 msgid "Add"
 msgstr "Lägg till"
 
@@ -79,7 +83,7 @@ msgstr "Men jag måste använda mixervolym"
 msgid "Calculate..."
 msgstr "Beräkna..."
 
-#: src/wx/job_manager_view.cc:88
+#: src/wx/job_manager_view.cc:97
 msgid "Cancel"
 msgstr "Avbryt"
 
@@ -123,6 +127,11 @@ msgstr "Kunde inte fastställa innehåll: %s"
 msgid "Create in folder"
 msgstr "Skapa i katalog"
 
+#: src/wx/config_dialog.cc:244
+#, fuzzy
+msgid "Creator"
+msgstr "Skapa i katalog"
+
 #: src/wx/film_editor.cc:1371
 #, c-format
 msgid "Cropped to %dx%d (%.2f:1)\n"
@@ -153,15 +162,24 @@ msgstr "DCP-o-matic Inställningar"
 msgid "DCP-o-matic audio - %s"
 msgstr "DCP-o-matic audio - %s"
 
-#: src/wx/config_dialog.cc:102
+#: src/wx/config_dialog.cc:120
 msgid "Default DCI name details"
 msgstr "Detaljer om förvalda DCI-namn"
 
-#: src/wx/config_dialog.cc:93
+#: src/wx/config_dialog.cc:130
+#, fuzzy
+msgid "Default content type"
+msgstr "Innehållstyp"
+
+#: src/wx/config_dialog.cc:111
 msgid "Default directory for new films"
 msgstr "Förvald katalog för nya filmer"
 
-#: src/wx/film_editor.cc:116 src/wx/job_manager_view.cc:92
+#: src/wx/config_dialog.cc:125
+msgid "Default format"
+msgstr ""
+
+#: src/wx/film_editor.cc:116 src/wx/job_manager_view.cc:109
 msgid "Details..."
 msgstr "Detaljer..."
 
@@ -173,17 +191,18 @@ msgstr "Diskutrymme som krävs"
 msgid "Duration"
 msgstr "Längd"
 
-#: src/wx/config_dialog.cc:145
+#: src/wx/config_dialog.cc:327
 msgid "Edit"
 msgstr "Redigera"
 
-#: src/wx/config_dialog.cc:103 src/wx/config_dialog.cc:122
+#: src/wx/config_dialog.cc:121 src/wx/config_dialog.cc:282
 #: src/wx/film_editor.cc:312
 msgid "Edit..."
 msgstr "Redigera..."
 
-#: src/wx/config_dialog.cc:128
-msgid "Encoding Servers"
+#: src/wx/config_dialog.cc:55
+#, fuzzy
+msgid "Encoding servers"
 msgstr "Kodningsservrar"
 
 #: src/wx/film_editor.cc:171
@@ -242,10 +261,14 @@ msgstr "Hz"
 msgid "I want to play this back at fader"
 msgstr "Jag vill spela upp detta med mixervolym"
 
-#: src/wx/config_dialog.cc:132
+#: src/wx/config_dialog.cc:201 src/wx/config_dialog.cc:314
 msgid "IP address"
 msgstr "IP-adress"
 
+#: src/wx/config_dialog.cc:240
+msgid "Issuer"
+msgstr ""
+
 #: src/wx/film_editor.cc:339
 msgid "JPEG2000 bandwidth"
 msgstr "JPEG2000 bandbredd"
@@ -262,6 +285,14 @@ msgstr "Längd"
 msgid "MBps"
 msgstr "MBps"
 
+#: src/wx/config_dialog.cc:57
+msgid "Metadata"
+msgstr ""
+
+#: src/wx/config_dialog.cc:53
+msgid "Miscellaneous"
+msgstr ""
+
 #: src/wx/dir_picker_ctrl.cc:52
 msgid "My Documents"
 msgstr "Mina Dokument"
@@ -296,6 +327,15 @@ msgstr "Förpackningstyp (ex. OV)"
 msgid "Padded with black to %dx%d (%.2f:1)\n"
 msgstr "Svarta kanter tillagda för %dx%d (%.2f:1)\n"
 
+#: src/wx/config_dialog.cc:213
+#, fuzzy
+msgid "Password"
+msgstr "TMS lösenord"
+
+#: src/wx/job_manager_view.cc:103 src/wx/job_manager_view.cc:188
+msgid "Pause"
+msgstr ""
+
 #: src/wx/audio_dialog.cc:60
 msgid "Peak"
 msgstr "Topp"
@@ -316,23 +356,29 @@ msgstr "RMS"
 msgid "Rating (e.g. 15)"
 msgstr "Klassificering (ex. 15)"
 
-#: src/wx/config_dialog.cc:118
-msgid "Reference filters for A/B"
+#: src/wx/config_dialog.cc:278
+#, fuzzy
+msgid "Reference filters"
 msgstr "Referensfilter för A/B"
 
-#: src/wx/config_dialog.cc:107
-msgid "Reference scaler for A/B"
+#: src/wx/config_dialog.cc:267
+#, fuzzy
+msgid "Reference scaler"
 msgstr "Referensomskalare för A/B"
 
-#: src/wx/config_dialog.cc:147
+#: src/wx/config_dialog.cc:329
 msgid "Remove"
 msgstr "Ta bort"
 
+#: src/wx/job_manager_view.cc:191
+msgid "Resume"
+msgstr ""
+
 #: src/wx/film_editor.cc:282
 msgid "Right crop"
 msgstr "Höger beskärning"
 
-#: src/wx/job_manager_view.cc:108
+#: src/wx/job_manager_view.cc:126
 msgid "Running"
 msgstr "Körs"
 
@@ -357,7 +403,7 @@ msgstr "Välj innehållsfil"
 msgid "Server"
 msgstr "Server"
 
-#: src/wx/config_dialog.cc:49
+#: src/wx/config_dialog.cc:87
 msgid "Set language"
 msgstr "Välj språk"
 
@@ -393,27 +439,21 @@ msgstr "Undertext Skalning"
 msgid "Subtitles"
 msgstr "Undertexter"
 
-#: src/wx/config_dialog.cc:68
-msgid "TMS IP address"
-msgstr "TMS IP-adress"
-
-#: src/wx/config_dialog.cc:83
-msgid "TMS password"
-msgstr "TMS lösenord"
+#: src/wx/config_dialog.cc:59
+#, fuzzy
+msgid "TMS"
+msgstr "RMS"
 
-#: src/wx/config_dialog.cc:73
-msgid "TMS target path"
+#: src/wx/config_dialog.cc:205
+#, fuzzy
+msgid "Target path"
 msgstr "TMS målsökväg"
 
-#: src/wx/config_dialog.cc:78
-msgid "TMS user name"
-msgstr "TMS användarnamn"
-
 #: src/wx/dci_metadata_dialog.cc:41
 msgid "Territory (e.g. UK)"
 msgstr "Område (ex. SV)"
 
-#: src/wx/config_dialog.cc:136
+#: src/wx/config_dialog.cc:318
 msgid "Threads"
 msgstr "Trådar"
 
@@ -421,7 +461,7 @@ msgstr "Trådar"
 msgid "Threads to use"
 msgstr "Antal trådar att använda"
 
-#: src/wx/config_dialog.cc:88
+#: src/wx/config_dialog.cc:106
 msgid "Threads to use for encoding on this host"
 msgstr "Antal trådar att använda vid kodning på denna maskin"
 
@@ -466,6 +506,11 @@ msgstr "Använd innehållets audio"
 msgid "Use external audio"
 msgstr "Använd extern audio"
 
+#: src/wx/config_dialog.cc:209
+#, fuzzy
+msgid "User name"
+msgstr "Använd DCI-namnet"
+
 #: src/wx/film_editor.cc:75
 msgid "Video"
 msgstr "Video"
@@ -516,5 +561,11 @@ msgstr "s"
 msgid "unknown"
 msgstr "okänt"
 
+#~ msgid "TMS IP address"
+#~ msgstr "TMS IP-adress"
+
+#~ msgid "TMS user name"
+#~ msgstr "TMS användarnamn"
+
 #~ msgid "Original Size"
 #~ msgstr "Ursprunglig Storlek"
diff --git a/wscript b/wscript
index ca40d08ebc184af073ef86646f06c6ad0563f902..f2b21bde35462934858cfbfac42610ecec387c11 100644 (file)
--- a/wscript
+++ b/wscript
@@ -32,6 +32,9 @@ def configure(conf):
             conf.env.append_value('CXXFLAGS', ['-mconsole'])
             conf.env.append_value('LINKFLAGS', ['-mconsole'])
         conf.check(lib = 'ws2_32', uselib_store = 'WINSOCK2', msg = "Checking for library winsock2")
+        conf.check(lib = 'bfd', uselib_store = 'BFD', msg = "Checking for library bfd")
+        conf.check(lib = 'dbghelp', uselib_store = 'DBGHELP', msg = "Checking for library dbghelp")
+        conf.check(lib = 'iberty', uselib_store = 'IBERTY', msg = "Checking for library iberty")
         boost_lib_suffix = '-mt'
         boost_thread = 'boost_thread_win32-mt'
     else: