summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-11-29 21:38:08 +0000
committerCarl Hetherington <cth@carlh.net>2013-11-29 21:38:08 +0000
commitbdbb254c18b100f8fa66a3707f6b515309d05685 (patch)
tree44606dda0a79df54f758c278c70df06733b28378 /src/lib
parent95f29bc89f860342c100d7609ce5e2e4a138aa8a (diff)
parent747fc9e02cb66fb965e23a4cc0464cf7e8bd743d (diff)
Merge master.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/audio_analysis.cc31
-rw-r--r--src/lib/audio_analysis.h5
-rw-r--r--src/lib/config.cc2
-rw-r--r--src/lib/cross.cc19
-rw-r--r--src/lib/cross.h1
-rw-r--r--src/lib/dcp_video_frame.cc5
-rw-r--r--src/lib/film.cc2
-rw-r--r--src/lib/log.cc8
-rw-r--r--src/lib/po/es_ES.po151
-rw-r--r--src/lib/po/fr_FR.po191
-rw-r--r--src/lib/po/it_IT.po145
-rw-r--r--src/lib/po/sv_SE.po145
-rw-r--r--src/lib/util.cc47
-rw-r--r--src/lib/writer.cc8
-rw-r--r--src/lib/wscript4
15 files changed, 460 insertions, 304 deletions
diff --git a/src/lib/audio_analysis.cc b/src/lib/audio_analysis.cc
index bc59bccca..1488f89fc 100644
--- a/src/lib/audio_analysis.cc
+++ b/src/lib/audio_analysis.cc
@@ -20,15 +20,14 @@
#include <stdint.h>
#include <cmath>
#include <cassert>
-#include <fstream>
+#include <cstdio>
#include <boost/filesystem.hpp>
#include "audio_analysis.h"
+#include "cross.h"
using std::ostream;
using std::istream;
using std::string;
-using std::ofstream;
-using std::ifstream;
using std::vector;
using std::cout;
using std::max;
@@ -41,10 +40,10 @@ AudioPoint::AudioPoint ()
}
}
-AudioPoint::AudioPoint (istream& s)
+AudioPoint::AudioPoint (FILE* f)
{
for (int i = 0; i < COUNT; ++i) {
- s >> _data[i];
+ fscanf (f, "%f", &_data[i]);
}
}
@@ -70,10 +69,10 @@ AudioPoint::operator= (AudioPoint const & other)
}
void
-AudioPoint::write (ostream& s) const
+AudioPoint::write (FILE* f) const
{
for (int i = 0; i < COUNT; ++i) {
- s << _data[i] << "\n";
+ fprintf (f, "%f\n", _data[i]);
}
}
@@ -85,15 +84,15 @@ AudioAnalysis::AudioAnalysis (int channels)
AudioAnalysis::AudioAnalysis (boost::filesystem::path filename)
{
- ifstream f (filename.string().c_str ());
+ FILE* f = fopen_boost (filename, "r");
int channels;
- f >> channels;
+ fscanf (f, "%d", &channels);
_data.resize (channels);
for (int i = 0; i < channels; ++i) {
int points;
- f >> points;
+ fscanf (f, "%d", &points);
for (int j = 0; j < points; ++j) {
_data[i].push_back (AudioPoint (f));
}
@@ -130,17 +129,19 @@ AudioAnalysis::points (int c) const
void
AudioAnalysis::write (boost::filesystem::path filename)
{
- string tmp = filename.string() + ".tmp";
+ boost::filesystem::path tmp = filename;
+ tmp.replace_extension (".tmp");
- ofstream f (tmp.c_str ());
- f << _data.size() << "\n";
+ FILE* f = fopen_boost (tmp, "w");
+
+ fprintf (f, "%ld\n", _data.size ());
for (vector<vector<AudioPoint> >::iterator i = _data.begin(); i != _data.end(); ++i) {
- f << i->size () << "\n";
+ fprintf (f, "%ld\n", i->size ());
for (vector<AudioPoint>::iterator j = i->begin(); j != i->end(); ++j) {
j->write (f);
}
}
- f.close ();
+ fclose (f);
boost::filesystem::rename (tmp, filename);
}
diff --git a/src/lib/audio_analysis.h b/src/lib/audio_analysis.h
index cfc170c84..824472dda 100644
--- a/src/lib/audio_analysis.h
+++ b/src/lib/audio_analysis.h
@@ -20,7 +20,6 @@
#ifndef DCPOMATIC_AUDIO_ANALYSIS_H
#define DCPOMATIC_AUDIO_ANALYSIS_H
-#include <iostream>
#include <vector>
#include <list>
#include <boost/filesystem.hpp>
@@ -35,11 +34,11 @@ public:
};
AudioPoint ();
- AudioPoint (std::istream &);
+ AudioPoint (FILE *);
AudioPoint (AudioPoint const &);
AudioPoint& operator= (AudioPoint const &);
- void write (std::ostream &) const;
+ void write (FILE *) const;
float& operator[] (int t) {
return _data[t];
diff --git a/src/lib/config.cc b/src/lib/config.cc
index 4b6455f51..54b9168f2 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -41,7 +41,6 @@
using std::vector;
using std::ifstream;
using std::string;
-using std::ofstream;
using std::list;
using std::max;
using std::exception;
@@ -182,6 +181,7 @@ Config::read ()
void
Config::read_old_metadata ()
{
+ /* XXX: this won't work with non-Latin filenames */
ifstream f (file(true).string().c_str ());
string line;
diff --git a/src/lib/cross.cc b/src/lib/cross.cc
index 41051ee2e..7436dbf26 100644
--- a/src/lib/cross.cc
+++ b/src/lib/cross.cc
@@ -70,6 +70,9 @@ cpu_info ()
string info;
#ifdef DCPOMATIC_LINUX
+ /* This use of ifstream is ok; the filename can never
+ be non-Latin
+ */
ifstream f ("/proc/cpuinfo");
while (f.good ()) {
string l;
@@ -269,3 +272,19 @@ openssl_path ()
#endif
}
+
+/* Apparently there is no way to create an ofstream using a UTF-8
+ filename under Windows. We are hence reduced to using fopen
+ with this wrapper.
+*/
+FILE *
+fopen_boost (boost::filesystem::path p, string t)
+{
+#ifdef DCPOMATIC_WINDOWS
+ wstring w (t.begin(), t.end());
+ /* c_str() here should give a UTF-16 string */
+ return _wfopen (p.c_str(), w.c_str ());
+#else
+ return fopen (p.c_str(), t.c_str ());
+#endif
+}
diff --git a/src/lib/cross.h b/src/lib/cross.h
index 1fe34edbe..931e7d890 100644
--- a/src/lib/cross.h
+++ b/src/lib/cross.h
@@ -33,3 +33,4 @@ extern boost::filesystem::path openssl_path ();
#ifdef DCPOMATIC_OSX
extern boost::filesystem::path app_contents ();
#endif
+extern FILE * fopen_boost (boost::filesystem::path, std::string);
diff --git a/src/lib/dcp_video_frame.cc b/src/lib/dcp_video_frame.cc
index 25abd6f0d..679a0490e 100644
--- a/src/lib/dcp_video_frame.cc
+++ b/src/lib/dcp_video_frame.cc
@@ -59,12 +59,12 @@
#include "scaler.h"
#include "image.h"
#include "log.h"
+#include "cross.h"
#include "i18n.h"
using std::string;
using std::stringstream;
-using std::ofstream;
using std::cout;
using boost::shared_ptr;
using boost::lexical_cast;
@@ -379,8 +379,9 @@ void
EncodedData::write_info (shared_ptr<const Film> film, int frame, Eyes eyes, libdcp::FrameInfo fin) const
{
boost::filesystem::path const info = film->info_path (frame, eyes);
- ofstream h (info.string().c_str());
+ FILE* h = fopen_boost (info, "w");
fin.write (h);
+ fclose (h);
}
/** Send this data to a socket.
diff --git a/src/lib/film.cc b/src/lib/film.cc
index d53d61a63..71836f254 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -64,8 +64,6 @@ using std::multimap;
using std::pair;
using std::map;
using std::vector;
-using std::ifstream;
-using std::ofstream;
using std::setfill;
using std::min;
using std::make_pair;
diff --git a/src/lib/log.cc b/src/lib/log.cc
index 86de21bdd..9ddf460d4 100644
--- a/src/lib/log.cc
+++ b/src/lib/log.cc
@@ -21,9 +21,10 @@
* @brief A very simple logging class.
*/
-#include <fstream>
#include <time.h>
+#include <cstdio>
#include "log.h"
+#include "cross.h"
#include "i18n.h"
@@ -102,7 +103,8 @@ FileLog::FileLog (boost::filesystem::path file)
void
FileLog::do_log (string m)
{
- ofstream f (_file.string().c_str(), fstream::app);
- f << m << N_("\n");
+ FILE* f = fopen_boost (_file, "a");
+ fprintf (f, "%s\n", m.c_str ());
+ fclose (f);
}
diff --git a/src/lib/po/es_ES.po b/src/lib/po/es_ES.po
index 198f7fb4d..e19f99ac1 100644
--- a/src/lib/po/es_ES.po
+++ b/src/lib/po/es_ES.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: LIBDCPOMATIC\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-16 09:45+0100\n"
+"POT-Creation-Date: 2013-11-26 22:26+0000\n"
"PO-Revision-Date: 2013-11-09 03:09-0500\n"
"Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n"
"Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.7\n"
-#: src/lib/sndfile_content.cc:59
+#: src/lib/sndfile_content.cc:60
msgid "%1 [audio]"
msgstr ""
@@ -34,7 +34,7 @@ msgstr ""
msgid "%1 [still]"
msgstr "imagen fija"
-#: src/lib/sndfile_content.cc:80
+#: src/lib/sndfile_content.cc:81
msgid "%1 channels, %2kHz, %3 samples"
msgstr ""
@@ -43,7 +43,7 @@ msgstr ""
msgid "%1 frames; %2 frames per second"
msgstr "fotogramas por segundo"
-#: src/lib/video_content.cc:140
+#: src/lib/video_content.cc:142
msgid "%1x%2 pixels (%3:1)"
msgstr ""
@@ -83,7 +83,7 @@ msgstr "Academy"
msgid "Advertisement"
msgstr "Publicidad"
-#: src/lib/job.cc:75
+#: src/lib/job.cc:74
msgid "An error occurred whilst handling the file %1."
msgstr "Ha ocurrido un error con el fichero %1."
@@ -104,7 +104,7 @@ msgstr "Bicúbico"
msgid "Bilinear"
msgstr "Bilineal"
-#: src/lib/job.cc:350
+#: src/lib/job.cc:316
msgid "Cancelled"
msgstr "Cancelado"
@@ -112,11 +112,27 @@ msgstr "Cancelado"
msgid "Cannot handle pixel format %1 during %2"
msgstr "No se puede usar el formato de pixel %1 para %2"
-#: src/lib/util.cc:752
+#: src/lib/util.cc:803
msgid "Centre"
msgstr "Centro"
-#: src/lib/util.cc:775
+#: src/lib/writer.cc:73
+msgid "Checking existing image data"
+msgstr ""
+
+#: src/lib/writer.cc:398
+msgid "Computing audio digest"
+msgstr ""
+
+#: src/lib/moving_image_content.cc:84
+msgid "Computing digest"
+msgstr ""
+
+#: src/lib/writer.cc:395
+msgid "Computing image digest"
+msgstr ""
+
+#: src/lib/util.cc:833
#, fuzzy
msgid "Content and DCP have the same rate.\n"
msgstr "La fuente y el DCP tienen la misma velocidad.\n"
@@ -133,12 +149,7 @@ msgstr "No se pudo conectar al servidor %1 (%2)"
msgid "Could not create remote directory %1 (%2)"
msgstr "No se pudo crear la carpeta remota %1 (%2)"
-#: src/lib/film.cc:929
-#, fuzzy
-msgid "Could not find DCP to make KDM for"
-msgstr "no se encontró el decodificador de audio"
-
-#: src/lib/job.cc:95
+#: src/lib/job.cc:94
#, fuzzy
msgid "Could not open %1"
msgstr "no se pudo abrir el fichero para lectura"
@@ -147,7 +158,7 @@ msgstr "no se pudo abrir el fichero para lectura"
msgid "Could not open %1 to send"
msgstr "No se pudo abrir %1 para enviar"
-#: src/lib/film.cc:939
+#: src/lib/film.cc:943
msgid "Could not read DCP to make KDM for"
msgstr "No se pudo leer el DCP para hacer el KDM"
@@ -163,17 +174,17 @@ msgstr "No se pudo escribir el fichero remoto (%1)"
msgid "Cubic interpolating deinterlacer"
msgstr "Desentrelazado por interpolación cúbica"
-#: src/lib/util.cc:785
+#: src/lib/util.cc:845
#, fuzzy
msgid "DCP will run at %1%% of the content speed.\n"
msgstr "El DCP se reproducirá al %1%% de la velocidad de la fuente.\n"
-#: src/lib/util.cc:778
+#: src/lib/util.cc:836
#, fuzzy
msgid "DCP will use every other frame of the content.\n"
msgstr "El DCP usará fotogramas alternos de la fuente.\n"
-#: src/lib/job.cc:96
+#: src/lib/job.cc:95
msgid ""
"DCP-o-matic could not open the file %1. Perhaps it does not exist or is in "
"an unexpected format."
@@ -197,15 +208,25 @@ msgid "Deringing filter"
msgstr "Deringing filter"
#: src/lib/dolby_cp750.cc:27
-msgid "Dolby CP750"
+#, fuzzy
+msgid "Dolby CP650 and CP750"
msgstr "Dolby CP750"
-#: src/lib/util.cc:780
+#: src/lib/util.cc:838
#, fuzzy
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Se doblará cada fotograma de la fuente en el DCP.\n"
-#: src/lib/job.cc:348
+#: src/lib/util.cc:840
+#, fuzzy
+msgid "Each content frame will be repeated %1 more times in the DCP.\n"
+msgstr "Se doblará cada fotograma de la fuente en el DCP.\n"
+
+#: src/lib/writer.cc:109
+msgid "Encoding image data"
+msgstr ""
+
+#: src/lib/job.cc:314
msgid "Error (%1)"
msgstr "Error (%1)"
@@ -213,6 +234,11 @@ msgstr "Error (%1)"
msgid "Examine content"
msgstr "Examinar contenido"
+#: src/lib/moving_image_content.cc:90
+#, fuzzy
+msgid "Examining content"
+msgstr "Examinar contenido"
+
#: src/lib/filter.cc:72
msgid "Experimental horizontal deblocking filter 1"
msgstr "Experimental horizontal deblocking filter 1"
@@ -273,7 +299,7 @@ msgstr "Horizontal deblocking filter"
msgid "Horizontal deblocking filter A"
msgstr "Horizontal deblocking filter A"
-#: src/lib/job.cc:109 src/lib/job.cc:118
+#: src/lib/job.cc:108 src/lib/job.cc:117
msgid ""
"It is not known what caused this error. The best idea is to report the "
"problem to the DCP-o-matic mailing list (carl@dcpomatic.com)"
@@ -289,15 +315,15 @@ msgstr "Kernel deinterlacer"
msgid "Lanczos"
msgstr "Lanczos"
-#: src/lib/util.cc:750
+#: src/lib/util.cc:801
msgid "Left"
msgstr "Izquierda"
-#: src/lib/util.cc:754
+#: src/lib/util.cc:805
msgid "Left surround"
msgstr "Surround izquierda"
-#: src/lib/util.cc:753
+#: src/lib/util.cc:804
msgid "Lfe (sub)"
msgstr ""
@@ -318,10 +344,6 @@ msgstr "Median deinterlacer"
msgid "Misc"
msgstr "Miscelánea"
-#: src/lib/film.cc:931
-msgid "More than one possible DCP to make KDM for"
-msgstr "Más de un DCP posible para crear el KDM"
-
#: src/lib/filter.cc:81
msgid "Motion compensating deinterlacer"
msgstr "Motion compensating deinterlacer"
@@ -331,7 +353,7 @@ msgstr "Motion compensating deinterlacer"
msgid "Noise reduction"
msgstr "Reducción de ruido"
-#: src/lib/job.cc:346
+#: src/lib/job.cc:312
msgid "OK (ran for %1)"
msgstr "OK (ejecución %1)"
@@ -351,16 +373,16 @@ msgstr "Anuncio de servicio público"
msgid "Rating"
msgstr "Clasificación"
-#: src/lib/config.cc:74 src/lib/config.cc:143
+#: src/lib/config.cc:80 src/lib/config.cc:163
#, fuzzy
msgid "Rec. 709"
msgstr "Rec 709"
-#: src/lib/util.cc:751
+#: src/lib/util.cc:802
msgid "Right"
msgstr "Derecha"
-#: src/lib/util.cc:755
+#: src/lib/util.cc:806
msgid "Right surround"
msgstr "Surround derecha"
@@ -400,7 +422,7 @@ msgstr "Temporal noise reducer"
msgid "Test"
msgstr "Test"
-#: src/lib/job.cc:81
+#: src/lib/job.cc:80
msgid ""
"The drive that the film is stored on is low in disc space. Free some more "
"space and try again."
@@ -408,7 +430,7 @@ msgstr ""
"En el dispositivo donde se encuentra la película queda poco espacio. Libere "
"espacio en el disco y pruebe de nuevo."
-#: src/lib/film.cc:366
+#: src/lib/film.cc:370
msgid ""
"This film was created with an older version of DCP-o-matic, and "
"unfortunately it cannot be loaded into this version. You will need to "
@@ -430,7 +452,7 @@ msgstr "Codificar %1"
msgid "Transitional"
msgstr "Transitional"
-#: src/lib/job.cc:117
+#: src/lib/job.cc:116
msgid "Unknown error"
msgstr "Error desconocido"
@@ -442,7 +464,7 @@ msgstr "Formato de audio desconocido (%1)"
msgid "Unsharp mask and Gaussian blur"
msgstr "Máscara de desenfoque Gaussiano"
-#: src/lib/colour_conversion.cc:141
+#: src/lib/colour_conversion.cc:145
msgid "Untitled"
msgstr "Sin título"
@@ -466,15 +488,15 @@ msgstr "X"
msgid "Yet Another Deinterlacing Filter"
msgstr "Yet Another Deinterlacing Filter"
-#: src/lib/film.cc:271
+#: src/lib/film.cc:275
msgid "You must add some content to the DCP before creating it"
msgstr "Tienes que añadir contenido al DCP antes de crearlo."
-#: src/lib/film.cc:232
+#: src/lib/film.cc:236
msgid "cannot contain slashes"
msgstr "no puede contener barras"
-#: src/lib/util.cc:552
+#: src/lib/util.cc:583
msgid "connect timed out"
msgstr "tiempo de conexión agotado"
@@ -482,12 +504,12 @@ msgstr "tiempo de conexión agotado"
msgid "connecting"
msgstr "conectando"
-#: src/lib/film.cc:267
+#: src/lib/film.cc:271
#, fuzzy
msgid "container"
msgstr "contenido"
-#: src/lib/film.cc:275
+#: src/lib/film.cc:279
msgid "content type"
msgstr "tipo de contenido"
@@ -500,19 +522,19 @@ msgstr "copiando %1"
msgid "could not create file %1"
msgstr "No se pudo escribir el fichero remoto (%1)"
-#: src/lib/ffmpeg.cc:128
+#: src/lib/ffmpeg.cc:139
msgid "could not find audio decoder"
msgstr "no se encontró el decodificador de audio"
-#: src/lib/ffmpeg.cc:76
+#: src/lib/ffmpeg.cc:87
msgid "could not find stream information"
msgstr "no se pudo encontrar información del flujo"
-#: src/lib/ffmpeg_decoder.cc:521
+#: src/lib/ffmpeg_decoder.cc:522
msgid "could not find subtitle decoder"
msgstr "no se pudo encontrar decodificador de subtítutlos"
-#: src/lib/ffmpeg.cc:107
+#: src/lib/ffmpeg.cc:118
msgid "could not find video decoder"
msgstr "no se pudo encontrar decodificador de vídeo"
@@ -540,10 +562,15 @@ msgstr "no se encontró el decodificador de audio"
msgid "could not read from file %1 (%2)"
msgstr "No se pudo crear la carpeta remota %1 (%2)"
-#: src/lib/resampler.cc:80 src/lib/resampler.cc:99
+#: src/lib/resampler.cc:102
msgid "could not run sample-rate converter"
msgstr "no se pudo ejecutar el conversor de velocidad"
+#: src/lib/resampler.cc:83
+#, fuzzy
+msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
+msgstr "no se pudo ejecutar el conversor de velocidad"
+
#: src/lib/scp_dcp_job.cc:86
msgid "could not start SCP session (%1)"
msgstr "no se pudo abrir la sesión SCP (%1)"
@@ -562,14 +589,10 @@ msgid "first frame in moving image directory is number %1"
msgstr ""
"primera imagen en el directorio de imagen en movimiento es la número %1"
-#: src/lib/transcode_job.cc:95
+#: src/lib/transcode_job.cc:94
msgid "frames per second"
msgstr "fotogramas por segundo"
-#: src/lib/transcode_job.cc:98
-msgid "hashing"
-msgstr "firmando"
-
#: src/lib/util.cc:145
msgid "hour"
msgstr "hora"
@@ -586,7 +609,7 @@ msgstr "minuto"
msgid "minutes"
msgstr "minutos"
-#: src/lib/util.cc:673
+#: src/lib/util.cc:724
msgid "missing key %1 in key-value set"
msgstr "falta la clave %1 en el par clave-valor"
@@ -594,15 +617,15 @@ msgstr "falta la clave %1 en el par clave-valor"
msgid "missing required setting %1"
msgstr "falta una configuración obligatoria %1"
-#: src/lib/ffmpeg_decoder.cc:553
+#: src/lib/ffmpeg_decoder.cc:554
msgid "multi-part subtitles not yet supported"
msgstr "todavía no se soportan subtítulos en múltiples partes"
-#: src/lib/film.cc:232 src/lib/film.cc:279
+#: src/lib/film.cc:236 src/lib/film.cc:283
msgid "name"
msgstr "nombre"
-#: src/lib/ffmpeg_decoder.cc:568
+#: src/lib/ffmpeg_decoder.cc:569
msgid "non-bitmap subtitles not yet supported"
msgstr "todavía no se soportan subtítulos que no son en mapas de bits"
@@ -613,15 +636,15 @@ msgstr ""
#. / TRANSLATORS: remaining here follows an amount of time that is remaining
#. / on an operation.
-#: src/lib/job.cc:343
+#: src/lib/job.cc:309
msgid "remaining"
msgstr "pendiente"
-#: src/lib/config.cc:72 src/lib/video_content.cc:109
+#: src/lib/config.cc:78 src/lib/video_content.cc:111
msgid "sRGB"
msgstr "sRGB"
-#: src/lib/config.cc:73
+#: src/lib/config.cc:79
msgid "sRGB non-linearised"
msgstr "sRGB no-lineal"
@@ -634,6 +657,16 @@ msgid "there are %1 images in the directory but the last one is number %2"
msgstr "hay %1 imágenes en el directorio, la última es la %2"
#, fuzzy
+#~ msgid "Could not find DCP to make KDM for"
+#~ msgstr "no se encontró el decodificador de audio"
+
+#~ msgid "More than one possible DCP to make KDM for"
+#~ msgstr "Más de un DCP posible para crear el KDM"
+
+#~ msgid "hashing"
+#~ msgstr "firmando"
+
+#, fuzzy
#~ msgid "Sound file: %1"
#~ msgstr "no se pudo abrir el fichero para lectura"
diff --git a/src/lib/po/fr_FR.po b/src/lib/po/fr_FR.po
index 6023f6377..ff7e1f94e 100644
--- a/src/lib/po/fr_FR.po
+++ b/src/lib/po/fr_FR.po
@@ -7,33 +7,33 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic FRENCH\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-16 09:45+0100\n"
-"PO-Revision-Date: 2013-07-16 23:11+0100\n"
+"POT-Creation-Date: 2013-11-26 22:26+0000\n"
+"PO-Revision-Date: 2013-11-25 19:37+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
-#: src/lib/sndfile_content.cc:59
+#: src/lib/sndfile_content.cc:60
msgid "%1 [audio]"
-msgstr ""
+msgstr "%1 [audio]"
#: src/lib/ffmpeg_content.cc:170
msgid "%1 [movie]"
-msgstr ""
+msgstr "%1 [vidéo]"
#: src/lib/moving_image_content.cc:58
msgid "%1 [moving images]"
-msgstr ""
+msgstr "%1 [diaporama]"
#: src/lib/still_image_content.cc:52
-#, fuzzy
msgid "%1 [still]"
-msgstr "fixe"
+msgstr "%1 [fixe]"
-#: src/lib/sndfile_content.cc:80
+#: src/lib/sndfile_content.cc:81
msgid "%1 channels, %2kHz, %3 samples"
msgstr "%1 canaux, %2kHz, %3 samples"
@@ -41,7 +41,7 @@ msgstr "%1 canaux, %2kHz, %3 samples"
msgid "%1 frames; %2 frames per second"
msgstr "%1 images ; %2 images par seconde"
-#: src/lib/video_content.cc:140
+#: src/lib/video_content.cc:142
msgid "%1x%2 pixels (%3:1)"
msgstr "%1x%2 pixels (%3:1)"
@@ -81,7 +81,7 @@ msgstr "Academy"
msgid "Advertisement"
msgstr "Advertisement"
-#: src/lib/job.cc:75
+#: src/lib/job.cc:74
msgid "An error occurred whilst handling the file %1."
msgstr "Une erreur s'est produite lors du traitement du fichier %1."
@@ -102,7 +102,7 @@ msgstr "Bicubique"
msgid "Bilinear"
msgstr "Bilinéaire"
-#: src/lib/job.cc:350
+#: src/lib/job.cc:316
msgid "Cancelled"
msgstr "Annulé"
@@ -110,11 +110,27 @@ msgstr "Annulé"
msgid "Cannot handle pixel format %1 during %2"
msgstr "Format du pixel %1 non géré par %2"
-#: src/lib/util.cc:752
+#: src/lib/util.cc:803
msgid "Centre"
msgstr "Centre"
-#: src/lib/util.cc:775
+#: src/lib/writer.cc:73
+msgid "Checking existing image data"
+msgstr ""
+
+#: src/lib/writer.cc:398
+msgid "Computing audio digest"
+msgstr ""
+
+#: src/lib/moving_image_content.cc:84
+msgid "Computing digest"
+msgstr ""
+
+#: src/lib/writer.cc:395
+msgid "Computing image digest"
+msgstr ""
+
+#: src/lib/util.cc:833
#, fuzzy
msgid "Content and DCP have the same rate.\n"
msgstr "Le DCP et la source ont les mêmes cadences.\n"
@@ -131,23 +147,17 @@ msgstr "Connexion au serveur %1 (%2) impossible"
msgid "Could not create remote directory %1 (%2)"
msgstr "Création du dossier distant %1 (%2) impossible"
-#: src/lib/film.cc:929
-#, fuzzy
-msgid "Could not find DCP to make KDM for"
-msgstr "décodeur audio introuvable"
-
-#: src/lib/job.cc:95
-#, fuzzy
+#: src/lib/job.cc:94
msgid "Could not open %1"
-msgstr "lecture du fichier (%1) impossible"
+msgstr "lecture du fichier %1 impossible"
#: src/lib/scp_dcp_job.cc:175
msgid "Could not open %1 to send"
msgstr "Ouverture de %1 pour envoi impossible"
-#: src/lib/film.cc:939
+#: src/lib/film.cc:943
msgid "Could not read DCP to make KDM for"
-msgstr ""
+msgstr "DCP illisible pour fabrication de KDM"
#: src/lib/scp_dcp_job.cc:145
msgid "Could not start SCP session (%1)"
@@ -161,21 +171,21 @@ msgstr "Écriture vers fichier distant (%1) impossible"
msgid "Cubic interpolating deinterlacer"
msgstr "Désentrelacement cubique interpolé"
-#: src/lib/util.cc:785
+#: src/lib/util.cc:845
#, fuzzy
msgid "DCP will run at %1%% of the content speed.\n"
msgstr "La cadence du DCP sera %1%% par rapport à la source.\n"
-#: src/lib/util.cc:778
+#: src/lib/util.cc:836
#, fuzzy
msgid "DCP will use every other frame of the content.\n"
msgstr "Le DCP utilisera une image sur deux de la source.\n"
-#: src/lib/job.cc:96
+#: src/lib/job.cc:95
msgid ""
"DCP-o-matic could not open the file %1. Perhaps it does not exist or is in "
"an unexpected format."
-msgstr ""
+msgstr "DCP-o-matic ne peut pas ouvrir le fichier %1"
#: 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
@@ -193,15 +203,25 @@ msgid "Deringing filter"
msgstr "Filtre anti bourdonnement"
#: src/lib/dolby_cp750.cc:27
-msgid "Dolby CP750"
+#, fuzzy
+msgid "Dolby CP650 and CP750"
msgstr "Dolby CP750"
-#: src/lib/util.cc:780
+#: src/lib/util.cc:838
#, fuzzy
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Chaque image source sera dupliquée dans le DCP.\n"
-#: src/lib/job.cc:348
+#: src/lib/util.cc:840
+#, fuzzy
+msgid "Each content frame will be repeated %1 more times in the DCP.\n"
+msgstr "Chaque image source sera dupliquée dans le DCP.\n"
+
+#: src/lib/writer.cc:109
+msgid "Encoding image data"
+msgstr ""
+
+#: src/lib/job.cc:314
msgid "Error (%1)"
msgstr "Erreur (%1)"
@@ -209,6 +229,11 @@ msgstr "Erreur (%1)"
msgid "Examine content"
msgstr "Examen du contenu"
+#: src/lib/moving_image_content.cc:90
+#, fuzzy
+msgid "Examining content"
+msgstr "Examen du contenu"
+
#: src/lib/filter.cc:72
msgid "Experimental horizontal deblocking filter 1"
msgstr "Filtre dé-bloc horizontal 1"
@@ -269,7 +294,7 @@ msgstr "Filtre dé-bloc horizontal"
msgid "Horizontal deblocking filter A"
msgstr "Filtre dé-bloc horizontal"
-#: src/lib/job.cc:109 src/lib/job.cc:118
+#: src/lib/job.cc:108 src/lib/job.cc:117
msgid ""
"It is not known what caused this error. The best idea is to report the "
"problem to the DCP-o-matic mailing list (carl@dcpomatic.com)"
@@ -285,15 +310,15 @@ msgstr "Désentrelaceur noyau"
msgid "Lanczos"
msgstr "Lanczos"
-#: src/lib/util.cc:750
+#: src/lib/util.cc:801
msgid "Left"
msgstr "Gauche"
-#: src/lib/util.cc:754
+#: src/lib/util.cc:805
msgid "Left surround"
msgstr "Arrière gauche"
-#: src/lib/util.cc:753
+#: src/lib/util.cc:804
msgid "Lfe (sub)"
msgstr "Basses fréquences"
@@ -314,10 +339,6 @@ msgstr "Désentrelaceur médian"
msgid "Misc"
msgstr "Divers"
-#: src/lib/film.cc:931
-msgid "More than one possible DCP to make KDM for"
-msgstr ""
-
#: src/lib/filter.cc:81
msgid "Motion compensating deinterlacer"
msgstr "Désentrelaceur par compensation de mouvement"
@@ -327,7 +348,7 @@ msgstr "Désentrelaceur par compensation de mouvement"
msgid "Noise reduction"
msgstr "Réduction de bruit"
-#: src/lib/job.cc:346
+#: src/lib/job.cc:312
msgid "OK (ran for %1)"
msgstr "OK (processus %1)"
@@ -347,16 +368,15 @@ msgstr "Public Service Announcement"
msgid "Rating"
msgstr "Classification"
-#: src/lib/config.cc:74 src/lib/config.cc:143
-#, fuzzy
+#: src/lib/config.cc:80 src/lib/config.cc:163
msgid "Rec. 709"
-msgstr "Rec 709"
+msgstr "Rec. 709"
-#: src/lib/util.cc:751
+#: src/lib/util.cc:802
msgid "Right"
msgstr "Droite"
-#: src/lib/util.cc:755
+#: src/lib/util.cc:806
msgid "Right surround"
msgstr "Arrière droite"
@@ -396,7 +416,7 @@ msgstr "Réduction de bruit temporel"
msgid "Test"
msgstr "Test"
-#: src/lib/job.cc:81
+#: src/lib/job.cc:80
msgid ""
"The drive that the film is stored on is low in disc space. Free some more "
"space and try again."
@@ -404,7 +424,7 @@ msgstr ""
"Le disque contenant le film est plein. Libérez de l'espace et essayez à "
"nouveau."
-#: src/lib/film.cc:366
+#: src/lib/film.cc:370
msgid ""
"This film was created with an older version of DCP-o-matic, and "
"unfortunately it cannot be loaded into this version. You will need to "
@@ -426,7 +446,7 @@ msgstr "Transcodage %1"
msgid "Transitional"
msgstr "Transitional"
-#: src/lib/job.cc:117
+#: src/lib/job.cc:116
msgid "Unknown error"
msgstr "Erreur inconnue"
@@ -438,9 +458,9 @@ msgstr "Échantillonnage audio (%1) inconnu"
msgid "Unsharp mask and Gaussian blur"
msgstr "Adoucissement et flou Gaussien"
-#: src/lib/colour_conversion.cc:141
+#: src/lib/colour_conversion.cc:145
msgid "Untitled"
-msgstr ""
+msgstr "Sans titre"
#: src/lib/filter.cc:69
msgid "Vertical deblocking filter"
@@ -462,15 +482,15 @@ msgstr "X"
msgid "Yet Another Deinterlacing Filter"
msgstr "Un autre filtre de désentrelacement"
-#: src/lib/film.cc:271
+#: src/lib/film.cc:275
msgid "You must add some content to the DCP before creating it"
msgstr "Ajoutez un contenu pour créer le DCP"
-#: src/lib/film.cc:232
+#: src/lib/film.cc:236
msgid "cannot contain slashes"
msgstr "slash interdit"
-#: src/lib/util.cc:552
+#: src/lib/util.cc:583
msgid "connect timed out"
msgstr "temps de connexion expiré"
@@ -478,12 +498,11 @@ msgstr "temps de connexion expiré"
msgid "connecting"
msgstr "connexion"
-#: src/lib/film.cc:267
-#, fuzzy
+#: src/lib/film.cc:271
msgid "container"
-msgstr "contenu"
+msgstr "conteneur"
-#: src/lib/film.cc:275
+#: src/lib/film.cc:279
msgid "content type"
msgstr "type de contenu"
@@ -495,26 +514,25 @@ msgstr "copie de %1"
msgid "could not create file %1"
msgstr "Écriture vers fichier distant (%1) impossible"
-#: src/lib/ffmpeg.cc:128
+#: src/lib/ffmpeg.cc:139
msgid "could not find audio decoder"
msgstr "décodeur audio introuvable"
-#: src/lib/ffmpeg.cc:76
+#: src/lib/ffmpeg.cc:87
msgid "could not find stream information"
msgstr "information du flux introuvable"
-#: src/lib/ffmpeg_decoder.cc:521
+#: src/lib/ffmpeg_decoder.cc:522
msgid "could not find subtitle decoder"
msgstr "décodeur de sous-titre introuvable"
-#: src/lib/ffmpeg.cc:107
+#: src/lib/ffmpeg.cc:118
msgid "could not find video decoder"
msgstr "décodeur vidéo introuvable"
#: src/lib/sndfile_decoder.cc:45
-#, fuzzy
msgid "could not open audio file for reading"
-msgstr "lecture du fichier impossible"
+msgstr "lecture du fichier audio impossible"
#: src/lib/exceptions.cc:29
msgid "could not open file %1"
@@ -525,18 +543,22 @@ msgid "could not open file for reading"
msgstr "lecture du fichier impossible"
#: src/lib/dcp_video_frame.cc:342
-#, fuzzy
msgid "could not read encoded data"
-msgstr "décodeur audio introuvable"
+msgstr "lecture des données encodées impossible"
#: src/lib/exceptions.cc:42
msgid "could not read from file %1 (%2)"
msgstr "lecture du fichier impossible %1 (%2)"
-#: src/lib/resampler.cc:80 src/lib/resampler.cc:99
+#: src/lib/resampler.cc:102
msgid "could not run sample-rate converter"
msgstr "conversion de la fréquence d'échantillonnage impossible"
+#: src/lib/resampler.cc:83
+#, fuzzy
+msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
+msgstr "conversion de la fréquence d'échantillonnage impossible"
+
#: src/lib/scp_dcp_job.cc:86
msgid "could not start SCP session (%1)"
msgstr "démarrage de session SCP (%1) impossible"
@@ -551,16 +573,12 @@ msgstr "Écriture vers fichier distant (%1) impossible (%2)"
#: src/lib/moving_image_examiner.cc:82
msgid "first frame in moving image directory is number %1"
-msgstr ""
+msgstr "la première image dans le dossier est la numéro %1"
-#: src/lib/transcode_job.cc:95
+#: src/lib/transcode_job.cc:94
msgid "frames per second"
msgstr "images par seconde"
-#: src/lib/transcode_job.cc:98
-msgid "hashing"
-msgstr ""
-
#: src/lib/util.cc:145
msgid "hour"
msgstr "heure"
@@ -577,7 +595,7 @@ msgstr "minute"
msgid "minutes"
msgstr "minutes"
-#: src/lib/util.cc:673
+#: src/lib/util.cc:724
msgid "missing key %1 in key-value set"
msgstr "clé %1 non sélectionnée"
@@ -585,35 +603,35 @@ msgstr "clé %1 non sélectionnée"
msgid "missing required setting %1"
msgstr "paramètre %1 manquant"
-#: src/lib/ffmpeg_decoder.cc:553
+#: src/lib/ffmpeg_decoder.cc:554
msgid "multi-part subtitles not yet supported"
msgstr "sous-titres en plusieurs parties non supportés"
-#: src/lib/film.cc:232 src/lib/film.cc:279
+#: src/lib/film.cc:236 src/lib/film.cc:283
msgid "name"
msgstr "nom"
-#: src/lib/ffmpeg_decoder.cc:568
+#: src/lib/ffmpeg_decoder.cc:569
msgid "non-bitmap subtitles not yet supported"
msgstr "sous-titres non-bitmap non supportés actuellement"
#: src/lib/moving_image_examiner.cc:78
msgid "only %1 file(s) found in moving image directory"
-msgstr ""
+msgstr "Seulement %1 fichier(s) trouvé(s) dans le dossier de diaporama"
#. / TRANSLATORS: remaining here follows an amount of time that is remaining
#. / on an operation.
-#: src/lib/job.cc:343
+#: src/lib/job.cc:309
msgid "remaining"
msgstr "restant"
-#: src/lib/config.cc:72 src/lib/video_content.cc:109
+#: src/lib/config.cc:78 src/lib/video_content.cc:111
msgid "sRGB"
msgstr "sRGB"
-#: src/lib/config.cc:73
+#: src/lib/config.cc:79
msgid "sRGB non-linearised"
-msgstr ""
+msgstr "sRGB non linéarisé"
#: src/lib/util.cc:157
msgid "seconds"
@@ -621,7 +639,16 @@ msgstr "secondes"
#: src/lib/moving_image_examiner.cc:86
msgid "there are %1 images in the directory but the last one is number %2"
-msgstr ""
+msgstr "il y a %1 images dans le dossier mais la dernière est la numéro %2"
+
+#~ msgid "Could not find DCP to make KDM for"
+#~ msgstr "DCP introuvable pour fabrication de KDM"
+
+#~ msgid "More than one possible DCP to make KDM for"
+#~ msgstr "Il y a plusieurs DCP pour lesquels faire la KDM"
+
+#~ msgid "hashing"
+#~ msgstr "calcul du hash"
#~ msgid "Image: %1"
#~ msgstr "Image : %1"
diff --git a/src/lib/po/it_IT.po b/src/lib/po/it_IT.po
index 3b458ca19..d20c1be07 100644
--- a/src/lib/po/it_IT.po
+++ b/src/lib/po/it_IT.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: IT VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-16 09:45+0100\n"
+"POT-Creation-Date: 2013-11-26 22:26+0000\n"
"PO-Revision-Date: 2013-04-28 10:26+0100\n"
"Last-Translator: Maci <macibro@gmail.com>\n"
"Language-Team: \n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.5\n"
-#: src/lib/sndfile_content.cc:59
+#: src/lib/sndfile_content.cc:60
msgid "%1 [audio]"
msgstr ""
@@ -34,7 +34,7 @@ msgstr ""
msgid "%1 [still]"
msgstr "ancora"
-#: src/lib/sndfile_content.cc:80
+#: src/lib/sndfile_content.cc:81
msgid "%1 channels, %2kHz, %3 samples"
msgstr ""
@@ -43,7 +43,7 @@ msgstr ""
msgid "%1 frames; %2 frames per second"
msgstr "fotogrammi al secondo"
-#: src/lib/video_content.cc:140
+#: src/lib/video_content.cc:142
msgid "%1x%2 pixels (%3:1)"
msgstr ""
@@ -83,7 +83,7 @@ msgstr "Academy"
msgid "Advertisement"
msgstr "Pubblicità"
-#: src/lib/job.cc:75
+#: src/lib/job.cc:74
msgid "An error occurred whilst handling the file %1."
msgstr "Errore durante l'elaborazione del file %1."
@@ -104,7 +104,7 @@ msgstr "Bicubica"
msgid "Bilinear"
msgstr "Bilineare"
-#: src/lib/job.cc:350
+#: src/lib/job.cc:316
msgid "Cancelled"
msgstr "Cancellato"
@@ -112,11 +112,27 @@ msgstr "Cancellato"
msgid "Cannot handle pixel format %1 during %2"
msgstr "Non posso gestire il formato di pixel %1 durante %2"
-#: src/lib/util.cc:752
+#: src/lib/util.cc:803
msgid "Centre"
msgstr "Centro"
-#: src/lib/util.cc:775
+#: src/lib/writer.cc:73
+msgid "Checking existing image data"
+msgstr ""
+
+#: src/lib/writer.cc:398
+msgid "Computing audio digest"
+msgstr ""
+
+#: src/lib/moving_image_content.cc:84
+msgid "Computing digest"
+msgstr ""
+
+#: src/lib/writer.cc:395
+msgid "Computing image digest"
+msgstr ""
+
+#: src/lib/util.cc:833
#, fuzzy
msgid "Content and DCP have the same rate.\n"
msgstr "Il DCP e il sorgente hanno la stessa frequenza.\n"
@@ -133,12 +149,7 @@ msgstr "Non posso connetermi al server %1 (%2)"
msgid "Could not create remote directory %1 (%2)"
msgstr "Non posso creare la directory remota %1 (%2)"
-#: src/lib/film.cc:929
-#, fuzzy
-msgid "Could not find DCP to make KDM for"
-msgstr "non riesco a trovare il decoder audio"
-
-#: src/lib/job.cc:95
+#: src/lib/job.cc:94
#, fuzzy
msgid "Could not open %1"
msgstr "non riesco ad aprire %1"
@@ -147,7 +158,7 @@ msgstr "non riesco ad aprire %1"
msgid "Could not open %1 to send"
msgstr "Non posso aprire %1 da inviare"
-#: src/lib/film.cc:939
+#: src/lib/film.cc:943
msgid "Could not read DCP to make KDM for"
msgstr ""
@@ -163,17 +174,17 @@ msgstr "Non posso scrivere il file remoto (%1)"
msgid "Cubic interpolating deinterlacer"
msgstr "Deinterlacciatore cubico interpolato"
-#: src/lib/util.cc:785
+#: src/lib/util.cc:845
#, fuzzy
msgid "DCP will run at %1%% of the content speed.\n"
msgstr "Il DCP andrà al %1%% della velocità del sorgente.\n"
-#: src/lib/util.cc:778
+#: src/lib/util.cc:836
#, fuzzy
msgid "DCP will use every other frame of the content.\n"
msgstr "Il DCP userà ogni altro fotogramma del sorgente.\n"
-#: src/lib/job.cc:96
+#: src/lib/job.cc:95
msgid ""
"DCP-o-matic could not open the file %1. Perhaps it does not exist or is in "
"an unexpected format."
@@ -195,15 +206,25 @@ msgid "Deringing filter"
msgstr "Filtro deringing"
#: src/lib/dolby_cp750.cc:27
-msgid "Dolby CP750"
+#, fuzzy
+msgid "Dolby CP650 and CP750"
msgstr "Dolby CP750"
-#: src/lib/util.cc:780
+#: src/lib/util.cc:838
#, fuzzy
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Ogni fotogramma del sorgente sarà raddoppiato nel DCP.\n"
-#: src/lib/job.cc:348
+#: src/lib/util.cc:840
+#, fuzzy
+msgid "Each content frame will be repeated %1 more times in the DCP.\n"
+msgstr "Ogni fotogramma del sorgente sarà raddoppiato nel DCP.\n"
+
+#: src/lib/writer.cc:109
+msgid "Encoding image data"
+msgstr ""
+
+#: src/lib/job.cc:314
msgid "Error (%1)"
msgstr "Errore (%1)"
@@ -211,6 +232,11 @@ msgstr "Errore (%1)"
msgid "Examine content"
msgstr "Esamino il contenuto"
+#: src/lib/moving_image_content.cc:90
+#, fuzzy
+msgid "Examining content"
+msgstr "Esamino il contenuto"
+
#: src/lib/filter.cc:72
msgid "Experimental horizontal deblocking filter 1"
msgstr "Filtro di sblocco sperimentale orizzontale 1"
@@ -271,7 +297,7 @@ msgstr "Filtro sblocco orizzontale"
msgid "Horizontal deblocking filter A"
msgstr "Filtro A sblocco orizzontale"
-#: src/lib/job.cc:109 src/lib/job.cc:118
+#: src/lib/job.cc:108 src/lib/job.cc:117
msgid ""
"It is not known what caused this error. The best idea is to report the "
"problem to the DCP-o-matic mailing list (carl@dcpomatic.com)"
@@ -287,15 +313,15 @@ msgstr "Deinterlacciatore Kernel"
msgid "Lanczos"
msgstr "Lanczos"
-#: src/lib/util.cc:750
+#: src/lib/util.cc:801
msgid "Left"
msgstr "Sinistro"
-#: src/lib/util.cc:754
+#: src/lib/util.cc:805
msgid "Left surround"
msgstr "Surround sinistro"
-#: src/lib/util.cc:753
+#: src/lib/util.cc:804
msgid "Lfe (sub)"
msgstr "Lfe(sub)"
@@ -316,10 +342,6 @@ msgstr "Deinterlacciatore mediano"
msgid "Misc"
msgstr "Varie"
-#: src/lib/film.cc:931
-msgid "More than one possible DCP to make KDM for"
-msgstr ""
-
#: src/lib/filter.cc:81
msgid "Motion compensating deinterlacer"
msgstr "Dinterlacciatore compensativo di movimento"
@@ -329,7 +351,7 @@ msgstr "Dinterlacciatore compensativo di movimento"
msgid "Noise reduction"
msgstr "Riduzione del rumore"
-#: src/lib/job.cc:346
+#: src/lib/job.cc:312
msgid "OK (ran for %1)"
msgstr "OK (eseguito in %1)"
@@ -349,16 +371,16 @@ msgstr "Annuncio di pubblico servizio"
msgid "Rating"
msgstr "Punteggio"
-#: src/lib/config.cc:74 src/lib/config.cc:143
+#: src/lib/config.cc:80 src/lib/config.cc:163
#, fuzzy
msgid "Rec. 709"
msgstr "Rec 709"
-#: src/lib/util.cc:751
+#: src/lib/util.cc:802
msgid "Right"
msgstr "Destro"
-#: src/lib/util.cc:755
+#: src/lib/util.cc:806
msgid "Right surround"
msgstr "Surround destro"
@@ -398,7 +420,7 @@ msgstr "Riduttore temporale di rumore"
msgid "Test"
msgstr "Prova"
-#: src/lib/job.cc:81
+#: src/lib/job.cc:80
msgid ""
"The drive that the film is stored on is low in disc space. Free some more "
"space and try again."
@@ -406,7 +428,7 @@ msgstr ""
"Sul disco dove è memorizzato il film non c'è abbastanza spazio. Liberare "
"altro spazio e riprovare."
-#: src/lib/film.cc:366
+#: src/lib/film.cc:370
msgid ""
"This film was created with an older version of DCP-o-matic, and "
"unfortunately it cannot be loaded into this version. You will need to "
@@ -425,7 +447,7 @@ msgstr "Transcodifica %1"
msgid "Transitional"
msgstr "Di transizione"
-#: src/lib/job.cc:117
+#: src/lib/job.cc:116
msgid "Unknown error"
msgstr "Errore sconosciuto"
@@ -437,7 +459,7 @@ msgstr "Formato di campionamento audio non riconosciuto (%1)"
msgid "Unsharp mask and Gaussian blur"
msgstr "Maschera unsharp e sfocatura Gaussiana"
-#: src/lib/colour_conversion.cc:141
+#: src/lib/colour_conversion.cc:145
msgid "Untitled"
msgstr ""
@@ -461,15 +483,15 @@ msgstr "X"
msgid "Yet Another Deinterlacing Filter"
msgstr "Altro filtro di deinterlacciamento"
-#: src/lib/film.cc:271
+#: src/lib/film.cc:275
msgid "You must add some content to the DCP before creating it"
msgstr ""
-#: src/lib/film.cc:232
+#: src/lib/film.cc:236
msgid "cannot contain slashes"
msgstr "non può contenere barre"
-#: src/lib/util.cc:552
+#: src/lib/util.cc:583
msgid "connect timed out"
msgstr "connessione scaduta"
@@ -477,12 +499,12 @@ msgstr "connessione scaduta"
msgid "connecting"
msgstr "mi sto connettendo"
-#: src/lib/film.cc:267
+#: src/lib/film.cc:271
#, fuzzy
msgid "container"
msgstr "contenuto"
-#: src/lib/film.cc:275
+#: src/lib/film.cc:279
msgid "content type"
msgstr "tipo di contenuto"
@@ -494,19 +516,19 @@ msgstr "copia %1"
msgid "could not create file %1"
msgstr "Non posso scrivere il file remoto (%1)"
-#: src/lib/ffmpeg.cc:128
+#: src/lib/ffmpeg.cc:139
msgid "could not find audio decoder"
msgstr "non riesco a trovare il decoder audio"
-#: src/lib/ffmpeg.cc:76
+#: src/lib/ffmpeg.cc:87
msgid "could not find stream information"
msgstr "non riesco a trovare informazioni sullo streaming"
-#: src/lib/ffmpeg_decoder.cc:521
+#: src/lib/ffmpeg_decoder.cc:522
msgid "could not find subtitle decoder"
msgstr "non riesco a trovare il decoder dei sottotitoli"
-#: src/lib/ffmpeg.cc:107
+#: src/lib/ffmpeg.cc:118
msgid "could not find video decoder"
msgstr "non riesco a trovare il decoder video"
@@ -532,10 +554,15 @@ msgstr "non riesco a trovare il decoder audio"
msgid "could not read from file %1 (%2)"
msgstr "non posso leggere dal file %1 (%2)"
-#: src/lib/resampler.cc:80 src/lib/resampler.cc:99
+#: src/lib/resampler.cc:102
msgid "could not run sample-rate converter"
msgstr "non riesco a eseguire il convertitore della frequenza di campionamento"
+#: src/lib/resampler.cc:83
+#, fuzzy
+msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
+msgstr "non riesco a eseguire il convertitore della frequenza di campionamento"
+
#: src/lib/scp_dcp_job.cc:86
msgid "could not start SCP session (%1)"
msgstr "non posso avviare la sessione SCP (%1)"
@@ -552,14 +579,10 @@ msgstr "non posso scrivere il file (%1)"
msgid "first frame in moving image directory is number %1"
msgstr ""
-#: src/lib/transcode_job.cc:95
+#: src/lib/transcode_job.cc:94
msgid "frames per second"
msgstr "fotogrammi al secondo"
-#: src/lib/transcode_job.cc:98
-msgid "hashing"
-msgstr ""
-
#: src/lib/util.cc:145
msgid "hour"
msgstr "ora"
@@ -576,7 +599,7 @@ msgstr "minuto"
msgid "minutes"
msgstr "minuti"
-#: src/lib/util.cc:673
+#: src/lib/util.cc:724
msgid "missing key %1 in key-value set"
msgstr "persa la chiave %1 tra i valori chiave"
@@ -584,15 +607,15 @@ msgstr "persa la chiave %1 tra i valori chiave"
msgid "missing required setting %1"
msgstr "persa la regolazione richiesta %1"
-#: src/lib/ffmpeg_decoder.cc:553
+#: src/lib/ffmpeg_decoder.cc:554
msgid "multi-part subtitles not yet supported"
msgstr "sottotitoli multi-part non ancora supportati"
-#: src/lib/film.cc:232 src/lib/film.cc:279
+#: src/lib/film.cc:236 src/lib/film.cc:283
msgid "name"
msgstr "nome"
-#: src/lib/ffmpeg_decoder.cc:568
+#: src/lib/ffmpeg_decoder.cc:569
msgid "non-bitmap subtitles not yet supported"
msgstr "sottotitoli non-bitmap non ancora supportati"
@@ -602,15 +625,15 @@ msgstr ""
#. / TRANSLATORS: remaining here follows an amount of time that is remaining
#. / on an operation.
-#: src/lib/job.cc:343
+#: src/lib/job.cc:309
msgid "remaining"
msgstr "restano"
-#: src/lib/config.cc:72 src/lib/video_content.cc:109
+#: src/lib/config.cc:78 src/lib/video_content.cc:111
msgid "sRGB"
msgstr "sRGB"
-#: src/lib/config.cc:73
+#: src/lib/config.cc:79
msgid "sRGB non-linearised"
msgstr ""
@@ -623,6 +646,10 @@ msgid "there are %1 images in the directory but the last one is number %2"
msgstr ""
#, fuzzy
+#~ msgid "Could not find DCP to make KDM for"
+#~ msgstr "non riesco a trovare il decoder audio"
+
+#, fuzzy
#~ msgid "Sound file: %1"
#~ msgstr "non riesco ad aprire %1"
diff --git a/src/lib/po/sv_SE.po b/src/lib/po/sv_SE.po
index 245983bb0..1cf26ce35 100644
--- a/src/lib/po/sv_SE.po
+++ b/src/lib/po/sv_SE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-10-16 09:45+0100\n"
+"POT-Creation-Date: 2013-11-26 22:26+0000\n"
"PO-Revision-Date: 2013-04-10 15:35+0100\n"
"Last-Translator: Adam Klotblixt <adam.klotblixt@gmail.com>\n"
"Language-Team: \n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.5\n"
-#: src/lib/sndfile_content.cc:59
+#: src/lib/sndfile_content.cc:60
msgid "%1 [audio]"
msgstr ""
@@ -34,7 +34,7 @@ msgstr ""
msgid "%1 [still]"
msgstr "stillbild"
-#: src/lib/sndfile_content.cc:80
+#: src/lib/sndfile_content.cc:81
msgid "%1 channels, %2kHz, %3 samples"
msgstr ""
@@ -43,7 +43,7 @@ msgstr ""
msgid "%1 frames; %2 frames per second"
msgstr "bilder per sekund"
-#: src/lib/video_content.cc:140
+#: src/lib/video_content.cc:142
msgid "%1x%2 pixels (%3:1)"
msgstr ""
@@ -83,7 +83,7 @@ msgstr "Academy"
msgid "Advertisement"
msgstr "Reklam"
-#: src/lib/job.cc:75
+#: src/lib/job.cc:74
msgid "An error occurred whilst handling the file %1."
msgstr "Ett fel inträffade vid hantering av filen %1"
@@ -104,7 +104,7 @@ msgstr "Bikubisk"
msgid "Bilinear"
msgstr "Bilinjär"
-#: src/lib/job.cc:350
+#: src/lib/job.cc:316
msgid "Cancelled"
msgstr "Avbruten"
@@ -112,11 +112,27 @@ msgstr "Avbruten"
msgid "Cannot handle pixel format %1 during %2"
msgstr "Kan inte hantera pixelformat %1 under %2"
-#: src/lib/util.cc:752
+#: src/lib/util.cc:803
msgid "Centre"
msgstr "Mitt"
-#: src/lib/util.cc:775
+#: src/lib/writer.cc:73
+msgid "Checking existing image data"
+msgstr ""
+
+#: src/lib/writer.cc:398
+msgid "Computing audio digest"
+msgstr ""
+
+#: src/lib/moving_image_content.cc:84
+msgid "Computing digest"
+msgstr ""
+
+#: src/lib/writer.cc:395
+msgid "Computing image digest"
+msgstr ""
+
+#: src/lib/util.cc:833
#, fuzzy
msgid "Content and DCP have the same rate.\n"
msgstr "DCP och källa har samma bildfrekvens.\n"
@@ -133,12 +149,7 @@ msgstr "Kunde inte ansluta till server %1 (%2)"
msgid "Could not create remote directory %1 (%2)"
msgstr "Kunde inte skapa fjärrkatalog %1 (%2)"
-#: src/lib/film.cc:929
-#, fuzzy
-msgid "Could not find DCP to make KDM for"
-msgstr "kunde inte hitta audio-avkodare"
-
-#: src/lib/job.cc:95
+#: src/lib/job.cc:94
#, fuzzy
msgid "Could not open %1"
msgstr "kunde inte öppna fil %1"
@@ -147,7 +158,7 @@ msgstr "kunde inte öppna fil %1"
msgid "Could not open %1 to send"
msgstr "Kunde inte öppna %1 för att skicka"
-#: src/lib/film.cc:939
+#: src/lib/film.cc:943
msgid "Could not read DCP to make KDM for"
msgstr ""
@@ -163,17 +174,17 @@ msgstr "Kunde inte skriva till fjärrfil (%1)"
msgid "Cubic interpolating deinterlacer"
msgstr "Kubiskt interpolerande avflätare"
-#: src/lib/util.cc:785
+#: src/lib/util.cc:845
#, fuzzy
msgid "DCP will run at %1%% of the content speed.\n"
msgstr "DCP kommer att köras på %1%% av källans hastighet.\n"
-#: src/lib/util.cc:778
+#: src/lib/util.cc:836
#, fuzzy
msgid "DCP will use every other frame of the content.\n"
msgstr "DCP kommer att använda varannan bild från källan.\n"
-#: src/lib/job.cc:96
+#: src/lib/job.cc:95
msgid ""
"DCP-o-matic could not open the file %1. Perhaps it does not exist or is in "
"an unexpected format."
@@ -195,15 +206,25 @@ msgid "Deringing filter"
msgstr "Avringningsfilter"
#: src/lib/dolby_cp750.cc:27
-msgid "Dolby CP750"
+#, fuzzy
+msgid "Dolby CP650 and CP750"
msgstr "Dolby CP750"
-#: src/lib/util.cc:780
+#: src/lib/util.cc:838
#, fuzzy
msgid "Each content 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:348
+#: src/lib/util.cc:840
+#, fuzzy
+msgid "Each content frame will be repeated %1 more times in the DCP.\n"
+msgstr "Varje bild från källan kommer att användas två gånger i DCPn.\n"
+
+#: src/lib/writer.cc:109
+msgid "Encoding image data"
+msgstr ""
+
+#: src/lib/job.cc:314
msgid "Error (%1)"
msgstr "Fel (%1)"
@@ -211,6 +232,11 @@ msgstr "Fel (%1)"
msgid "Examine content"
msgstr "Undersök innehållet"
+#: src/lib/moving_image_content.cc:90
+#, fuzzy
+msgid "Examining content"
+msgstr "Undersök innehållet"
+
#: src/lib/filter.cc:72
msgid "Experimental horizontal deblocking filter 1"
msgstr "Experimentellt filter för horisontal kantighetsutjämning 1"
@@ -271,7 +297,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:109 src/lib/job.cc:118
+#: src/lib/job.cc:108 src/lib/job.cc:117
msgid ""
"It is not known what caused this error. The best idea is to report the "
"problem to the DCP-o-matic mailing list (carl@dcpomatic.com)"
@@ -287,15 +313,15 @@ msgstr "Kernel-avflätare"
msgid "Lanczos"
msgstr "Lanczos"
-#: src/lib/util.cc:750
+#: src/lib/util.cc:801
msgid "Left"
msgstr "Vänster"
-#: src/lib/util.cc:754
+#: src/lib/util.cc:805
msgid "Left surround"
msgstr "Vänster surround"
-#: src/lib/util.cc:753
+#: src/lib/util.cc:804
msgid "Lfe (sub)"
msgstr "Lfe (sub)"
@@ -316,10 +342,6 @@ msgstr "Median-avflätare"
msgid "Misc"
msgstr "Diverse"
-#: src/lib/film.cc:931
-msgid "More than one possible DCP to make KDM for"
-msgstr ""
-
#: src/lib/filter.cc:81
msgid "Motion compensating deinterlacer"
msgstr "Rörelsekompenserande avflätare"
@@ -329,7 +351,7 @@ msgstr "Rörelsekompenserande avflätare"
msgid "Noise reduction"
msgstr "Brusreducering"
-#: src/lib/job.cc:346
+#: src/lib/job.cc:312
msgid "OK (ran for %1)"
msgstr "OK (kördes %1)"
@@ -349,16 +371,16 @@ msgstr "Offentligt Servicemeddelande"
msgid "Rating"
msgstr "Klassificeringsklipp"
-#: src/lib/config.cc:74 src/lib/config.cc:143
+#: src/lib/config.cc:80 src/lib/config.cc:163
#, fuzzy
msgid "Rec. 709"
msgstr "Rec 709"
-#: src/lib/util.cc:751
+#: src/lib/util.cc:802
msgid "Right"
msgstr "Höger"
-#: src/lib/util.cc:755
+#: src/lib/util.cc:806
msgid "Right surround"
msgstr "Höger surround"
@@ -398,7 +420,7 @@ msgstr "Temporal brusreducering"
msgid "Test"
msgstr "Test"
-#: src/lib/job.cc:81
+#: src/lib/job.cc:80
msgid ""
"The drive that the film is stored on is low in disc space. Free some more "
"space and try again."
@@ -406,7 +428,7 @@ msgstr ""
"Enheten som filmen lagras på har för lite ledigt utrymme. Frigör utrymme och "
"försök igen."
-#: src/lib/film.cc:366
+#: src/lib/film.cc:370
msgid ""
"This film was created with an older version of DCP-o-matic, and "
"unfortunately it cannot be loaded into this version. You will need to "
@@ -425,7 +447,7 @@ msgstr "Konvertera %1"
msgid "Transitional"
msgstr "Övergångsklipp"
-#: src/lib/job.cc:117
+#: src/lib/job.cc:116
msgid "Unknown error"
msgstr "Okänt fel"
@@ -439,7 +461,7 @@ msgstr "Okänt audio-sampelformat (%1)"
msgid "Unsharp mask and Gaussian blur"
msgstr "Oskärpemask och Gaussisk suddighet"
-#: src/lib/colour_conversion.cc:141
+#: src/lib/colour_conversion.cc:145
msgid "Untitled"
msgstr ""
@@ -464,16 +486,16 @@ msgstr "X"
msgid "Yet Another Deinterlacing Filter"
msgstr "Yet Another Deinterlacing Filter"
-#: src/lib/film.cc:271
+#: src/lib/film.cc:275
msgid "You must add some content to the DCP before creating it"
msgstr ""
-#: src/lib/film.cc:232
+#: src/lib/film.cc:236
msgid "cannot contain slashes"
msgstr "får inte innehålla snedstreck"
# Svengelska
-#: src/lib/util.cc:552
+#: src/lib/util.cc:583
#, fuzzy
msgid "connect timed out"
msgstr "uppkopplingen tajmade ur"
@@ -482,12 +504,12 @@ msgstr "uppkopplingen tajmade ur"
msgid "connecting"
msgstr "kopplar upp"
-#: src/lib/film.cc:267
+#: src/lib/film.cc:271
#, fuzzy
msgid "container"
msgstr "innehåll"
-#: src/lib/film.cc:275
+#: src/lib/film.cc:279
msgid "content type"
msgstr "innehållstyp"
@@ -499,19 +521,19 @@ msgstr "kopierar %1"
msgid "could not create file %1"
msgstr "kunde inte skapa fil %1"
-#: src/lib/ffmpeg.cc:128
+#: src/lib/ffmpeg.cc:139
msgid "could not find audio decoder"
msgstr "kunde inte hitta audio-avkodare"
-#: src/lib/ffmpeg.cc:76
+#: src/lib/ffmpeg.cc:87
msgid "could not find stream information"
msgstr "kunde inte hitta information om strömmen"
-#: src/lib/ffmpeg_decoder.cc:521
+#: src/lib/ffmpeg_decoder.cc:522
msgid "could not find subtitle decoder"
msgstr "kunde inte hitta undertext-avkodare"
-#: src/lib/ffmpeg.cc:107
+#: src/lib/ffmpeg.cc:118
msgid "could not find video decoder"
msgstr "kunde inte hitta video-avkodare"
@@ -537,10 +559,15 @@ msgstr "kunde inte hitta audio-avkodare"
msgid "could not read from file %1 (%2)"
msgstr "kunde inte läsa från fil %1 (%2)"
-#: src/lib/resampler.cc:80 src/lib/resampler.cc:99
+#: src/lib/resampler.cc:102
msgid "could not run sample-rate converter"
msgstr "kunde inte köra sampelhastighetskonverteraren"
+#: src/lib/resampler.cc:83
+#, fuzzy
+msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
+msgstr "kunde inte köra sampelhastighetskonverteraren"
+
#: src/lib/scp_dcp_job.cc:86
msgid "could not start SCP session (%1)"
msgstr "kunde inte starta SCP-session (%1)"
@@ -557,14 +584,10 @@ msgstr "kunde inte skriva till fil %1 (%2)"
msgid "first frame in moving image directory is number %1"
msgstr ""
-#: src/lib/transcode_job.cc:95
+#: src/lib/transcode_job.cc:94
msgid "frames per second"
msgstr "bilder per sekund"
-#: src/lib/transcode_job.cc:98
-msgid "hashing"
-msgstr ""
-
#: src/lib/util.cc:145
msgid "hour"
msgstr "timme"
@@ -581,7 +604,7 @@ msgstr "minut"
msgid "minutes"
msgstr "minuter"
-#: src/lib/util.cc:673
+#: src/lib/util.cc:724
msgid "missing key %1 in key-value set"
msgstr "saknad nyckel %1 i nyckel-värde grupp"
@@ -589,15 +612,15 @@ msgstr "saknad nyckel %1 i nyckel-värde grupp"
msgid "missing required setting %1"
msgstr "saknad nödvändig inställning %1"
-#: src/lib/ffmpeg_decoder.cc:553
+#: src/lib/ffmpeg_decoder.cc:554
msgid "multi-part subtitles not yet supported"
msgstr "undertexter i flera delar stöds inte ännu"
-#: src/lib/film.cc:232 src/lib/film.cc:279
+#: src/lib/film.cc:236 src/lib/film.cc:283
msgid "name"
msgstr "namn"
-#: src/lib/ffmpeg_decoder.cc:568
+#: src/lib/ffmpeg_decoder.cc:569
msgid "non-bitmap subtitles not yet supported"
msgstr "icke-rastergrafiska undertexter stöds inte ännu"
@@ -607,15 +630,15 @@ msgstr ""
#. / TRANSLATORS: remaining here follows an amount of time that is remaining
#. / on an operation.
-#: src/lib/job.cc:343
+#: src/lib/job.cc:309
msgid "remaining"
msgstr "återstående tid"
-#: src/lib/config.cc:72 src/lib/video_content.cc:109
+#: src/lib/config.cc:78 src/lib/video_content.cc:111
msgid "sRGB"
msgstr "sRGB"
-#: src/lib/config.cc:73
+#: src/lib/config.cc:79
msgid "sRGB non-linearised"
msgstr ""
@@ -628,6 +651,10 @@ msgid "there are %1 images in the directory but the last one is number %2"
msgstr ""
#, fuzzy
+#~ msgid "Could not find DCP to make KDM for"
+#~ msgstr "kunde inte hitta audio-avkodare"
+
+#, fuzzy
#~ msgid "Sound file: %1"
#~ msgstr "kunde inte öppna fil %1"
diff --git a/src/lib/util.cc b/src/lib/util.cc
index 98dec58d7..ddc0a2974 100644
--- a/src/lib/util.cc
+++ b/src/lib/util.cc
@@ -39,6 +39,9 @@
#include <boost/lexical_cast.hpp>
#include <boost/thread.hpp>
#include <boost/filesystem.hpp>
+#ifdef DCPOMATIC_WINDOWS
+#include <boost/locale.hpp>
+#endif
#include <glib.h>
#include <openjpeg.h>
#include <openssl/md5.h>
@@ -80,7 +83,6 @@ using std::endl;
using std::vector;
using std::hex;
using std::setw;
-using std::ifstream;
using std::ios;
using std::min;
using std::max;
@@ -89,7 +91,6 @@ using std::multimap;
using std::istream;
using std::numeric_limits;
using std::pair;
-using std::ofstream;
using std::cout;
using std::streampos;
using boost::shared_ptr;
@@ -261,8 +262,11 @@ seconds (struct timeval t)
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"));
+ FILE* f = fopen_boost (backtrace_file, "w");
+ for (dbg::stack::const_iterator i = s.begin(); i != s.end(); ++i) {
+ fprintf (f, "%p %s %d %s", i->instruction, i->function.c_str(), i->line, i->module.c_str());
+ }
+ fclose (f);
return EXCEPTION_CONTINUE_SEARCH;
}
#endif
@@ -277,6 +281,21 @@ dcpomatic_setup ()
backtrace_file /= g_get_user_config_dir ();
backtrace_file /= "backtrace.txt";
SetUnhandledExceptionFilter(exception_handler);
+
+ /* Dark voodoo which, I think, gets boost::filesystem::path to
+ correctly convert UTF-8 strings to paths, and also paths
+ back to UTF-8 strings (on path::string()).
+
+ After this, constructing boost::filesystem::paths from strings
+ converts from UTF-8 to UTF-16 inside the path. Then
+ path::string().c_str() gives UTF-8 and
+ path::c_str() gives UTF-16.
+
+ This is all Windows-only. AFAICT Linux/OS X use UTF-8 everywhere,
+ so things are much simpler.
+ */
+ std::locale::global (boost::locale::generator().generate (""));
+ boost::filesystem::path::imbue (std::locale ());
#endif
avfilter_register_all ();
@@ -391,7 +410,7 @@ md5_digest (void const * data, int size)
string
md5_digest (vector<boost::filesystem::path> files, shared_ptr<Job> job)
{
- int const buffer_size = 64 * 1024;
+ boost::uintmax_t const buffer_size = 64 * 1024;
char buffer[buffer_size];
MD5_CTX md5_context;
@@ -403,19 +422,17 @@ md5_digest (vector<boost::filesystem::path> files, shared_ptr<Job> job)
}
for (size_t i = 0; i < files.size(); ++i) {
- ifstream f (files[i].string().c_str(), std::ios::binary);
- if (!f.good ()) {
+ FILE* f = fopen_boost (files[i], "rb");
+ if (!f) {
throw OpenFileError (files[i].string());
}
-
- f.seekg (0, std::ios::end);
- streampos const bytes = f.tellg ();
- f.seekg (0, std::ios::beg);
- streampos remaining = bytes;
+ boost::uintmax_t const bytes = boost::filesystem::file_size (files[i]);
+ boost::uintmax_t remaining = bytes;
+
while (remaining > 0) {
- int const t = min (remaining, streampos (buffer_size));
- f.read (buffer, t);
+ int const t = min (remaining, buffer_size);
+ fread (buffer, 1, t, f);
MD5_Update (&md5_context, buffer, t);
remaining -= t;
@@ -423,6 +440,8 @@ md5_digest (vector<boost::filesystem::path> files, shared_ptr<Job> job)
job->set_progress ((float (i) + 1 - float(remaining) / bytes) / files.size ());
}
}
+
+ fclose (f);
}
unsigned char digest[MD5_DIGEST_LENGTH];
diff --git a/src/lib/writer.cc b/src/lib/writer.cc
index 103ac2ba1..f4128e6c5 100644
--- a/src/lib/writer.cc
+++ b/src/lib/writer.cc
@@ -36,13 +36,13 @@
#include "audio_mapping.h"
#include "config.h"
#include "job.h"
+#include "cross.h"
#include "i18n.h"
using std::make_pair;
using std::pair;
using std::string;
-using std::ifstream;
using std::list;
using std::cout;
using boost::shared_ptr;
@@ -141,8 +141,9 @@ Writer::fake_write (int frame, Eyes eyes)
{
boost::mutex::scoped_lock lock (_mutex);
- ifstream ifi (_film->info_path (frame, eyes).string().c_str());
+ FILE* ifi = fopen_boost (_film->info_path (frame, eyes), "r");
libdcp::FrameInfo info (ifi);
+ fclose (ifi);
QueueItem qi;
qi.type = QueueItem::FAKE;
@@ -430,8 +431,9 @@ bool
Writer::check_existing_picture_mxf_frame (FILE* mxf, int f, Eyes eyes)
{
/* Read the frame info as written */
- ifstream ifi (_film->info_path (f, eyes).string().c_str());
+ FILE* ifi = fopen_boost (_film->info_path (f, eyes), "r");
libdcp::FrameInfo info (ifi);
+ fclose (ifi);
if (info.size == 0) {
_film->log()->log (String::compose ("Existing frame %1 has no info file", f));
return false;
diff --git a/src/lib/wscript b/src/lib/wscript
index ebd316a0c..1699c5ec8 100644
--- a/src/lib/wscript
+++ b/src/lib/wscript
@@ -72,7 +72,7 @@ def build(bld):
obj.export_includes = ['..']
obj.uselib = """
AVCODEC AVUTIL AVFORMAT AVFILTER SWSCALE SWRESAMPLE
- BOOST_FILESYSTEM BOOST_THREAD BOOST_DATETIME BOOST_SIGNALS2
+ BOOST_FILESYSTEM BOOST_THREAD BOOST_DATETIME BOOST_SIGNALS2
SNDFILE OPENJPEG POSTPROC TIFF MAGICK SSH DCP CXML GLIB LZMA XML++
CURL ZIP QUICKMAIL
"""
@@ -80,7 +80,7 @@ def build(bld):
obj.source = sources + ' version.cc'
if bld.env.TARGET_WINDOWS:
- obj.uselib += ' WINSOCK2 BFD DBGHELP IBERTY SHLWAPI MSWSOCK'
+ obj.uselib += ' WINSOCK2 BFD DBGHELP IBERTY SHLWAPI MSWSOCK BOOST_LOCALE'
obj.source += ' stack.cpp'
if bld.env.STATIC:
obj.uselib += ' XML++'