From 074e70083a115eaac2b593b1c42962ff7e0c3951 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 22 Apr 2013 13:33:20 +0100 Subject: Try to fix it. --- src/lib/transcoder.cc | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) (limited to 'src/lib') diff --git a/src/lib/transcoder.cc b/src/lib/transcoder.cc index 23fb5b788..e00b2f1e0 100644 --- a/src/lib/transcoder.cc +++ b/src/lib/transcoder.cc @@ -55,21 +55,33 @@ Transcoder::Transcoder (shared_ptr f, DecodeOptions o, Job* j, shared_ptr< assert (_encoder); shared_ptr st = f->audio_stream(); - _matcher.reset (new Matcher (f->log(), st->sample_rate(), f->source_frame_rate())); + if (st) { + _matcher.reset (new Matcher (f->log(), st->sample_rate(), f->source_frame_rate())); + } _delay_line.reset (new DelayLine (f->log(), f->audio_delay() / 1000.0f)); _gain.reset (new Gain (f->log(), f->audio_gain())); /* Set up the decoder to use the film's set streams */ _decoders.video->set_subtitle_stream (f->subtitle_stream ()); - _decoders.audio->set_audio_stream (f->audio_stream ()); + if (f->audio_stream ()) { + _decoders.audio->set_audio_stream (f->audio_stream ()); + } _decoders.video->connect_video (_delay_line); - _delay_line->connect_video (_matcher); - _matcher->connect_video (_encoder); + if (_matcher) { + _delay_line->connect_video (_matcher); + _matcher->connect_video (_encoder); + } else { + _delay_line->Video.connect (bind (&Encoder::process_video, _encoder, _1, _2, _3)); + } _decoders.audio->connect_audio (_delay_line); - _delay_line->connect_audio (_matcher); - _matcher->connect_audio (_gain); + if (_matcher) { + _delay_line->connect_audio (_matcher); + _matcher->connect_audio (_gain); + } else { + _delay_line->Audio.connect (bind (&Encoder::process_audio, _encoder, _1)); + } _gain->connect_audio (_encoder); } @@ -108,7 +120,9 @@ Transcoder::go () } _delay_line->process_end (); - _matcher->process_end (); + if (_matcher) { + _matcher->process_end (); + } _gain->process_end (); _encoder->process_end (); } -- cgit v1.2.3 From 8eabffda9a95de36df560c1b6eadd1a7baa852c7 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 22 Apr 2013 15:06:11 +0100 Subject: Fix french message (#125). --- src/lib/po/fr_FR.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/lib') diff --git a/src/lib/po/fr_FR.po b/src/lib/po/fr_FR.po index d9d945b52..cce92822e 100644 --- a/src/lib/po/fr_FR.po +++ b/src/lib/po/fr_FR.po @@ -51,7 +51,7 @@ msgstr "16:9 dans Flat" #: src/lib/format.cc:115 #, fuzzy msgid "16:9 within Scope" -msgstr "16:9 dans Flat" +msgstr "16:9 dans Scope" #: src/lib/filter.cc:88 msgid "3D denoiser" -- cgit v1.2.3 From 6d278a2db4625cc3b8b7c8d4623e7672aa4c360b Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 22 Apr 2013 15:06:37 +0100 Subject: Merge new pot files. --- src/lib/po/es_ES.po | 51 +++++++++++++----------- src/lib/po/fr_FR.po | 51 +++++++++++++----------- src/lib/po/it_IT.po | 51 +++++++++++++----------- src/lib/po/sv_SE.po | 52 +++++++++++++----------- src/tools/po/es_ES.po | 55 ++++++++++++------------- src/tools/po/fr_FR.po | 55 ++++++++++++------------- src/tools/po/it_IT.po | 55 ++++++++++++------------- src/tools/po/sv_SE.po | 57 +++++++++++++------------- src/wx/po/es_ES.po | 108 ++++++++++++++++++++++++++++---------------------- src/wx/po/fr_FR.po | 108 ++++++++++++++++++++++++++++---------------------- src/wx/po/it_IT.po | 108 ++++++++++++++++++++++++++++---------------------- src/wx/po/sv_SE.po | 108 ++++++++++++++++++++++++++++---------------------- 12 files changed, 462 insertions(+), 397 deletions(-) (limited to 'src/lib') diff --git a/src/lib/po/es_ES.po b/src/lib/po/es_ES.po index 17051bd98..1608f3b0c 100644 --- a/src/lib/po/es_ES.po +++ b/src/lib/po/es_ES.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: LIBDVDOMATIC\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-04-09 11:14+0100\n" +"POT-Creation-Date: 2013-04-22 15:06+0100\n" "PO-Revision-Date: 2013-04-02 19:10-0500\n" "Last-Translator: Manuel AC \n" "Language-Team: Manuel AC \n" @@ -25,10 +25,6 @@ msgstr "0%" msgid "1.19" msgstr "1.19" -#: src/lib/format.cc:79 -msgid "1.33" -msgstr "1.33" - #: src/lib/format.cc:83 msgid "1.375" msgstr "1.375" @@ -58,6 +54,10 @@ msgstr "16:9 en Flat" msgid "3D denoiser" msgstr "reducción de ruido 3D" +#: src/lib/format.cc:79 +msgid "4:3" +msgstr "" + #: src/lib/format.cc:87 msgid "4:3 within Flat" msgstr "4:3 en Flat" @@ -94,7 +94,7 @@ msgstr "Bicúbico" msgid "Bilinear" msgstr "Bilineal" -#: src/lib/job.cc:302 +#: src/lib/job.cc:306 msgid "Cancelled" msgstr "" @@ -175,7 +175,7 @@ msgstr "Dolby CP750" 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:300 +#: src/lib/job.cc:304 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:92 src/lib/job.cc:101 +#: 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 DVD-o-matic mailing list (dvdomatic@carlh.net)" @@ -301,7 +301,7 @@ msgstr "Motion compensating deinterlacer" msgid "Noise reduction" msgstr "Reducción de ruido" -#: src/lib/job.cc:298 +#: src/lib/job.cc:302 msgid "OK (ran for %1)" msgstr "OK (ejecución %1)" @@ -373,7 +373,7 @@ msgstr "Temporal noise reducer" msgid "Test" msgstr "Test" -#: src/lib/job.cc:77 +#: 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." @@ -393,11 +393,11 @@ msgstr "Codificar %1" msgid "Transitional" msgstr "Transitional" -#: src/lib/job.cc:100 +#: src/lib/job.cc:104 msgid "Unknown error" msgstr "Error desconocido" -#: src/lib/ffmpeg_decoder.cc:396 +#: src/lib/ffmpeg_decoder.cc:388 msgid "Unrecognised audio sample format (%1)" msgstr "Formato de audio desconocido (%1)" @@ -425,7 +425,7 @@ msgstr "X" msgid "Yet Another Deinterlacing Filter" msgstr "Yet Another Deinterlacing Filter" -#: src/lib/film.cc:263 +#: src/lib/film.cc:296 msgid "cannot contain slashes" msgstr "no puede contener barras" @@ -437,11 +437,11 @@ msgstr "tiempo de conexión agotado" msgid "connecting" msgstr "conectando" -#: src/lib/film.cc:300 +#: src/lib/film.cc:333 msgid "content" msgstr "contenido" -#: src/lib/film.cc:304 +#: src/lib/film.cc:337 msgid "content type" msgstr "tipo de contenido" @@ -454,19 +454,19 @@ msgstr "copiando %1" msgid "could not create file %1" msgstr "No se pudo escribir el fichero remoto (%1)" -#: src/lib/ffmpeg_decoder.cc:191 +#: src/lib/ffmpeg_decoder.cc:187 msgid "could not find audio decoder" msgstr "no se encontró el decodificador de audio" -#: src/lib/ffmpeg_decoder.cc:118 +#: src/lib/ffmpeg_decoder.cc:114 msgid "could not find stream information" msgstr "no se pudo encontrar información del flujo" -#: src/lib/ffmpeg_decoder.cc:210 +#: src/lib/ffmpeg_decoder.cc:206 msgid "could not find subtitle decoder" msgstr "no se pudo encontrar decodificador de subtítutlos" -#: src/lib/ffmpeg_decoder.cc:169 +#: src/lib/ffmpeg_decoder.cc:165 msgid "could not find video decoder" msgstr "no se pudo encontrar decodificador de vídeo" @@ -513,7 +513,7 @@ msgstr "los ficheros externos de sonido tienen duraciones diferentes" msgid "external audio files must be mono" msgstr "los ficheros externos de sonido deben ser mono" -#: src/lib/film.cc:296 +#: src/lib/film.cc:329 msgid "format" msgstr "formato" @@ -549,7 +549,7 @@ msgstr "" msgid "multi-part subtitles not yet supported" msgstr "todavía no se soportan subtítulos en múltiples partes" -#: src/lib/film.cc:263 src/lib/film.cc:308 +#: src/lib/film.cc:296 src/lib/film.cc:341 msgid "name" msgstr "nombre" @@ -563,7 +563,7 @@ 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:295 +#: src/lib/job.cc:299 msgid "remaining" msgstr "pendiente" @@ -575,14 +575,17 @@ msgstr "sRGB" msgid "seconds" msgstr "segundos" -#: src/lib/film.cc:274 +#: src/lib/film.cc:307 msgid "still" msgstr "imagen fija" -#: src/lib/film.cc:274 +#: src/lib/film.cc:307 msgid "video" msgstr "vídeo" +#~ msgid "1.33" +#~ msgstr "1.33" + #~ msgid "Source scaled to 1.19:1" #~ msgstr "Fuente escalada a 1.19:1" diff --git a/src/lib/po/fr_FR.po b/src/lib/po/fr_FR.po index cce92822e..d1123d84b 100644 --- a/src/lib/po/fr_FR.po +++ b/src/lib/po/fr_FR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: DVD-o-matic FRENCH\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-04-09 11:14+0100\n" +"POT-Creation-Date: 2013-04-22 15:06+0100\n" "PO-Revision-Date: 2013-03-20 00:39+0100\n" "Last-Translator: FreeDCP.net \n" "Language-Team: \n" @@ -24,10 +24,6 @@ msgstr "0%" msgid "1.19" msgstr "1.19" -#: src/lib/format.cc:79 -msgid "1.33" -msgstr "1.33" - #: src/lib/format.cc:83 msgid "1.375" msgstr "1.375" @@ -57,6 +53,10 @@ msgstr "16:9 dans Scope" msgid "3D denoiser" msgstr "Débruitage 3D" +#: src/lib/format.cc:79 +msgid "4:3" +msgstr "" + #: src/lib/format.cc:87 msgid "4:3 within Flat" msgstr "4:3 dans Flat" @@ -93,7 +93,7 @@ msgstr "Bicubique" msgid "Bilinear" msgstr "Bilinéaire" -#: src/lib/job.cc:302 +#: src/lib/job.cc:306 msgid "Cancelled" msgstr "" @@ -173,7 +173,7 @@ msgstr "Dolby CP750" 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:300 +#: src/lib/job.cc:304 msgid "Error (%1)" msgstr "Erreur (%1)" @@ -245,7 +245,7 @@ msgstr "Filtre dé-bloc horizontal" msgid "Horizontal deblocking filter A" msgstr "Filtre dé-bloc horizontal" -#: src/lib/job.cc:92 src/lib/job.cc:101 +#: 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 DVD-o-matic mailing list (dvdomatic@carlh.net)" @@ -299,7 +299,7 @@ msgstr "Désentrelaceur par compensation de mouvement" msgid "Noise reduction" msgstr "Réduction de bruit" -#: src/lib/job.cc:298 +#: src/lib/job.cc:302 msgid "OK (ran for %1)" msgstr "OK (processus %1)" @@ -371,7 +371,7 @@ msgstr "Réduction de bruit temporel" msgid "Test" msgstr "Test" -#: src/lib/job.cc:77 +#: 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." @@ -391,11 +391,11 @@ msgstr "Transcodage %1" msgid "Transitional" msgstr "Transitional" -#: src/lib/job.cc:100 +#: src/lib/job.cc:104 msgid "Unknown error" msgstr "Erreur inconnue" -#: src/lib/ffmpeg_decoder.cc:396 +#: src/lib/ffmpeg_decoder.cc:388 msgid "Unrecognised audio sample format (%1)" msgstr "Échantillonnage audio (%1) inconnu" @@ -423,7 +423,7 @@ msgstr "X" msgid "Yet Another Deinterlacing Filter" msgstr "Un autre filtre de désentrelacement" -#: src/lib/film.cc:263 +#: src/lib/film.cc:296 msgid "cannot contain slashes" msgstr "slash interdit" @@ -435,11 +435,11 @@ msgstr "temps de connexion expiré" msgid "connecting" msgstr "connexion" -#: src/lib/film.cc:300 +#: src/lib/film.cc:333 msgid "content" msgstr "contenu" -#: src/lib/film.cc:304 +#: src/lib/film.cc:337 msgid "content type" msgstr "type de contenu" @@ -451,19 +451,19 @@ msgstr "copie de %1" msgid "could not create file %1" msgstr "Écriture vers fichier distant (%1) impossible" -#: src/lib/ffmpeg_decoder.cc:191 +#: src/lib/ffmpeg_decoder.cc:187 msgid "could not find audio decoder" msgstr "décodeur audio introuvable" -#: src/lib/ffmpeg_decoder.cc:118 +#: src/lib/ffmpeg_decoder.cc:114 msgid "could not find stream information" msgstr "information du flux introuvable" -#: src/lib/ffmpeg_decoder.cc:210 +#: src/lib/ffmpeg_decoder.cc:206 msgid "could not find subtitle decoder" msgstr "décodeur de sous-titre introuvable" -#: src/lib/ffmpeg_decoder.cc:169 +#: src/lib/ffmpeg_decoder.cc:165 msgid "could not find video decoder" msgstr "décodeur vidéo introuvable" @@ -507,7 +507,7 @@ msgstr "Les fichiers audio externes ont des durées différentes" msgid "external audio files must be mono" msgstr "les fichiers audio externes doivent être en mono" -#: src/lib/film.cc:296 +#: src/lib/film.cc:329 msgid "format" msgstr "format" @@ -543,7 +543,7 @@ msgstr "" msgid "multi-part subtitles not yet supported" msgstr "sous-titres en plusieurs parties non supportés" -#: src/lib/film.cc:263 src/lib/film.cc:308 +#: src/lib/film.cc:296 src/lib/film.cc:341 msgid "name" msgstr "nom" @@ -557,7 +557,7 @@ 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:295 +#: src/lib/job.cc:299 msgid "remaining" msgstr "restant" @@ -569,14 +569,17 @@ msgstr "sRGB" msgid "seconds" msgstr "secondes" -#: src/lib/film.cc:274 +#: src/lib/film.cc:307 msgid "still" msgstr "fixe" -#: src/lib/film.cc:274 +#: src/lib/film.cc:307 msgid "video" msgstr "vidéo" +#~ msgid "1.33" +#~ msgstr "1.33" + #~ msgid "Source scaled to 1.19:1" #~ msgstr "Source mise à l'échelle en 1.19:1" diff --git a/src/lib/po/it_IT.po b/src/lib/po/it_IT.po index 992eda107..5f9e9e862 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-04-09 11:14+0100\n" +"POT-Creation-Date: 2013-04-22 15:06+0100\n" "PO-Revision-Date: 2013-04-03 15:04+0100\n" "Last-Translator: Maci \n" "Language-Team: \n" @@ -25,10 +25,6 @@ msgstr "0%" msgid "1.19" msgstr "1.19" -#: src/lib/format.cc:79 -msgid "1.33" -msgstr "1.33" - #: src/lib/format.cc:83 msgid "1.375" msgstr "1.375" @@ -58,6 +54,10 @@ msgstr "16:9 all'interno di Flat" msgid "3D denoiser" msgstr "Riduttore di rumore 3D" +#: src/lib/format.cc:79 +msgid "4:3" +msgstr "" + #: src/lib/format.cc:87 msgid "4:3 within Flat" msgstr "4:3 all'interno di Flat" @@ -94,7 +94,7 @@ msgstr "Bicubica" msgid "Bilinear" msgstr "Bilineare" -#: src/lib/job.cc:302 +#: src/lib/job.cc:306 msgid "Cancelled" msgstr "Cancellato" @@ -173,7 +173,7 @@ msgstr "Dolby CP750" 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:300 +#: src/lib/job.cc:304 msgid "Error (%1)" msgstr "Errore (%1)" @@ -245,7 +245,7 @@ msgstr "Filtro sblocco orizzontale" msgid "Horizontal deblocking filter A" msgstr "Filtro A sblocco orizzontale" -#: src/lib/job.cc:92 src/lib/job.cc:101 +#: 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 DVD-o-matic mailing list (dvdomatic@carlh.net)" @@ -299,7 +299,7 @@ msgstr "Dinterlacciatore compensativo di movimento" msgid "Noise reduction" msgstr "Riduzione del rumore" -#: src/lib/job.cc:298 +#: src/lib/job.cc:302 msgid "OK (ran for %1)" msgstr "OK (procede al %1)" @@ -371,7 +371,7 @@ msgstr "Riduttore temporale di rumore" msgid "Test" msgstr "Prova" -#: src/lib/job.cc:77 +#: 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." @@ -391,11 +391,11 @@ msgstr "Transcodifica %1" msgid "Transitional" msgstr "Di transizione" -#: src/lib/job.cc:100 +#: src/lib/job.cc:104 msgid "Unknown error" msgstr "Errore sconosciuto" -#: src/lib/ffmpeg_decoder.cc:396 +#: src/lib/ffmpeg_decoder.cc:388 msgid "Unrecognised audio sample format (%1)" msgstr "Formato di campionamento audio non riconosciuto (%1)" @@ -423,7 +423,7 @@ msgstr "X" msgid "Yet Another Deinterlacing Filter" msgstr "Altro filtro di deinterlacciamento" -#: src/lib/film.cc:263 +#: src/lib/film.cc:296 msgid "cannot contain slashes" msgstr "non può contenere barre" @@ -435,11 +435,11 @@ msgstr "connessione scaduta" msgid "connecting" msgstr "mi sto connettendo" -#: src/lib/film.cc:300 +#: src/lib/film.cc:333 msgid "content" msgstr "contenuto" -#: src/lib/film.cc:304 +#: src/lib/film.cc:337 msgid "content type" msgstr "tipo di contenuto" @@ -451,19 +451,19 @@ msgstr "copia %1" msgid "could not create file %1" msgstr "Non posso scrivere il file remoto (%1)" -#: src/lib/ffmpeg_decoder.cc:191 +#: src/lib/ffmpeg_decoder.cc:187 msgid "could not find audio decoder" msgstr "non riesco a trovare il decoder audio" -#: src/lib/ffmpeg_decoder.cc:118 +#: src/lib/ffmpeg_decoder.cc:114 msgid "could not find stream information" msgstr "non riesco a trovare informazioni sullo streaming" -#: src/lib/ffmpeg_decoder.cc:210 +#: src/lib/ffmpeg_decoder.cc:206 msgid "could not find subtitle decoder" msgstr "non riesco a trovare il decoder dei sottotitoli" -#: src/lib/ffmpeg_decoder.cc:169 +#: src/lib/ffmpeg_decoder.cc:165 msgid "could not find video decoder" msgstr "non riesco a trovare il decoder video" @@ -507,7 +507,7 @@ msgstr "i files dell'audio esterno hanno durata diversa" msgid "external audio files must be mono" msgstr "i files dell'audio esterno devono essere mono" -#: src/lib/film.cc:296 +#: src/lib/film.cc:329 msgid "format" msgstr "formato" @@ -543,7 +543,7 @@ msgstr "persa la regolazione richiesta %1" msgid "multi-part subtitles not yet supported" msgstr "sottotitoli multi-part non ancora supportati" -#: src/lib/film.cc:263 src/lib/film.cc:308 +#: src/lib/film.cc:296 src/lib/film.cc:341 msgid "name" msgstr "nome" @@ -557,7 +557,7 @@ 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:295 +#: src/lib/job.cc:299 msgid "remaining" msgstr "restano" @@ -569,14 +569,17 @@ msgstr "sRGB" msgid "seconds" msgstr "secondi" -#: src/lib/film.cc:274 +#: src/lib/film.cc:307 msgid "still" msgstr "ancora" -#: src/lib/film.cc:274 +#: src/lib/film.cc:307 msgid "video" msgstr "video" +#~ msgid "1.33" +#~ msgstr "1.33" + #~ msgid "Source scaled to 1.19:1" #~ msgstr "Sorgente scalato a 1.19:1" diff --git a/src/lib/po/sv_SE.po b/src/lib/po/sv_SE.po index ef8109dfa..11aeff987 100644 --- a/src/lib/po/sv_SE.po +++ b/src/lib/po/sv_SE.po @@ -7,10 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: DVD-o-matic\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-04-09 11:14+0100\n" +"POT-Creation-Date: 2013-04-22 15:06+0100\n" "PO-Revision-Date: 2013-04-10 15:35+0100\n" "Last-Translator: Adam Klotblixt \n" "Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -24,10 +25,6 @@ msgstr "0%" msgid "1.19" msgstr "1,19" -#: src/lib/format.cc:79 -msgid "1.33" -msgstr "1,33" - #: src/lib/format.cc:83 msgid "1.375" msgstr "1,375" @@ -56,6 +53,10 @@ msgstr "16:9 innanför Scope" msgid "3D denoiser" msgstr "3D brusreducering" +#: src/lib/format.cc:79 +msgid "4:3" +msgstr "" + #: src/lib/format.cc:87 msgid "4:3 within Flat" msgstr "4:3 innanför Flat" @@ -92,7 +93,7 @@ msgstr "Bikubisk" msgid "Bilinear" msgstr "Bilinjär" -#: src/lib/job.cc:302 +#: src/lib/job.cc:306 msgid "Cancelled" msgstr "Avbruten" @@ -172,7 +173,7 @@ msgstr "Dolby CP750" 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:300 +#: src/lib/job.cc:304 msgid "Error (%1)" msgstr "Fel (%1)" @@ -244,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:92 src/lib/job.cc:101 +#: 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 DVD-o-matic mailing list (dvdomatic@carlh.net)" @@ -298,7 +299,7 @@ msgstr "Rörelsekompenserande avflätare" msgid "Noise reduction" msgstr "Brusreducering" -#: src/lib/job.cc:298 +#: src/lib/job.cc:302 msgid "OK (ran for %1)" msgstr "OK (kördes %1)" @@ -370,7 +371,7 @@ msgstr "Temporal brusreducering" msgid "Test" msgstr "Test" -#: src/lib/job.cc:77 +#: 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." @@ -390,12 +391,12 @@ msgstr "Konvertera %1" msgid "Transitional" msgstr "Övergångsklipp" -#: src/lib/job.cc:100 +#: src/lib/job.cc:104 msgid "Unknown error" msgstr "Okänt fel" # Svengelska -#: src/lib/ffmpeg_decoder.cc:396 +#: src/lib/ffmpeg_decoder.cc:388 #, fuzzy msgid "Unrecognised audio sample format (%1)" msgstr "Okänt audio-sampelformat (%1)" @@ -425,7 +426,7 @@ msgstr "X" msgid "Yet Another Deinterlacing Filter" msgstr "Yet Another Deinterlacing Filter" -#: src/lib/film.cc:263 +#: src/lib/film.cc:296 msgid "cannot contain slashes" msgstr "får inte innehålla snedstreck" @@ -439,11 +440,11 @@ msgstr "uppkopplingen tajmade ur" msgid "connecting" msgstr "kopplar upp" -#: src/lib/film.cc:300 +#: src/lib/film.cc:333 msgid "content" msgstr "innehåll" -#: src/lib/film.cc:304 +#: src/lib/film.cc:337 msgid "content type" msgstr "innehållstyp" @@ -455,19 +456,19 @@ msgstr "kopierar %1" msgid "could not create file %1" msgstr "kunde inte skapa fil %1" -#: src/lib/ffmpeg_decoder.cc:191 +#: src/lib/ffmpeg_decoder.cc:187 msgid "could not find audio decoder" msgstr "kunde inte hitta audio-avkodare" -#: src/lib/ffmpeg_decoder.cc:118 +#: src/lib/ffmpeg_decoder.cc:114 msgid "could not find stream information" msgstr "kunde inte hitta information om strömmen" -#: src/lib/ffmpeg_decoder.cc:210 +#: src/lib/ffmpeg_decoder.cc:206 msgid "could not find subtitle decoder" msgstr "kunde inte hitta undertext-avkodare" -#: src/lib/ffmpeg_decoder.cc:169 +#: src/lib/ffmpeg_decoder.cc:165 msgid "could not find video decoder" msgstr "kunde inte hitta video-avkodare" @@ -511,7 +512,7 @@ msgstr "externa audio-filer har olika längder" msgid "external audio files must be mono" msgstr "externa audio-filer måste vara mono" -#: src/lib/film.cc:296 +#: src/lib/film.cc:329 msgid "format" msgstr "format" @@ -547,7 +548,7 @@ msgstr "saknad nödvändig inställning %1" msgid "multi-part subtitles not yet supported" msgstr "undertexter i flera delar stöds inte ännu" -#: src/lib/film.cc:263 src/lib/film.cc:308 +#: src/lib/film.cc:296 src/lib/film.cc:341 msgid "name" msgstr "namn" @@ -561,7 +562,7 @@ 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:295 +#: src/lib/job.cc:299 msgid "remaining" msgstr "återstående tid" @@ -573,14 +574,17 @@ msgstr "sRGB" msgid "seconds" msgstr "sekunder" -#: src/lib/film.cc:274 +#: src/lib/film.cc:307 msgid "still" msgstr "stillbild" -#: src/lib/film.cc:274 +#: src/lib/film.cc:307 msgid "video" msgstr "video" +#~ msgid "1.33" +#~ msgstr "1,33" + #~ msgid "Source scaled to 1.19:1" #~ msgstr "Källan skalad till 1,19:1" diff --git a/src/tools/po/es_ES.po b/src/tools/po/es_ES.po index abfbfef6d..1739f97cd 100644 --- a/src/tools/po/es_ES.po +++ b/src/tools/po/es_ES.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: DVDOMATIC\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-04-09 11:14+0100\n" +"POT-Creation-Date: 2013-04-22 15:06+0100\n" "PO-Revision-Date: 2013-03-23 21:08-0500\n" "Last-Translator: Manuel AC \n" "Language-Team: Manuel AC \n" @@ -17,111 +17,112 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.5\n" -#: src/tools/dvdomatic.cc:177 +#: src/tools/dvdomatic.cc:179 msgid "&Analyse audio" msgstr "&Analizar audio" -#: src/tools/dvdomatic.cc:183 +#: src/tools/dvdomatic.cc:185 msgid "&Edit" msgstr "&Editar" -#: src/tools/dvdomatic.cc:182 +#: src/tools/dvdomatic.cc:184 msgid "&File" msgstr "&Archivo" -#: src/tools/dvdomatic.cc:185 +#: src/tools/dvdomatic.cc:187 msgid "&Help" msgstr "&Ayuda" -#: src/tools/dvdomatic.cc:184 +#: src/tools/dvdomatic.cc:186 msgid "&Jobs" msgstr "&Tareas" -#: src/tools/dvdomatic.cc:173 +#: src/tools/dvdomatic.cc:175 msgid "&Make DCP" msgstr "&Crear DCP" -#: src/tools/dvdomatic.cc:161 +#: src/tools/dvdomatic.cc:163 msgid "&Open..." msgstr "&Abrir..." -#: src/tools/dvdomatic.cc:170 +#: src/tools/dvdomatic.cc:172 msgid "&Preferences..." msgstr "&Preferencias..." -#: src/tools/dvdomatic.cc:165 +#: src/tools/dvdomatic.cc:167 msgid "&Properties..." msgstr "&Propiedades..." -#: src/tools/dvdomatic.cc:167 +#: src/tools/dvdomatic.cc:169 msgid "&Quit" msgstr "&Salir" -#: src/tools/dvdomatic.cc:163 +#: src/tools/dvdomatic.cc:165 msgid "&Save" msgstr "&Guardar" -#: src/tools/dvdomatic.cc:174 +#: src/tools/dvdomatic.cc:176 msgid "&Send DCP to TMS" msgstr "&Enviar DCP al TMS" -#: src/tools/dvdomatic.cc:417 +#: src/tools/dvdomatic.cc:419 msgid "" "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" msgstr "" "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" -#: src/tools/dvdomatic.cc:180 +#: src/tools/dvdomatic.cc:182 msgid "About" msgstr "Acerca de" -#: src/tools/dvdomatic.cc:527 +#: src/tools/dvdomatic.cc:538 #, fuzzy msgid "Could not load film %1 (%2)" msgstr "No se pudo cargar la película %s (%s)" -#: src/tools/dvdomatic.cc:339 +#: src/tools/dvdomatic.cc:341 #, c-format msgid "Could not open film at %s (%s)" msgstr "No se pudo cargar la película en %s (%s)" -#: src/tools/dvdomatic.cc:287 src/tools/dvdomatic.cc:410 -#: src/tools/dvdomatic.cc:531 +#: src/tools/dvdomatic.cc:289 src/tools/dvdomatic.cc:412 +#: src/tools/dvdomatic.cc:542 msgid "DVD-o-matic" msgstr "DVD-o-matic" -#: src/tools/dvdomatic.cc:75 +#: src/tools/dvdomatic.cc:77 msgid "Film changed" msgstr "Película cambiada" -#: src/tools/dvdomatic.cc:416 +#: src/tools/dvdomatic.cc:418 msgid "Free, open-source DCP generation from almost anything." msgstr "" "Generación de DCP a partir de casi cualquier fuente, libre y de código " "abierto." -#: src/tools/dvdomatic.cc:160 +#: src/tools/dvdomatic.cc:162 msgid "New..." msgstr "Nuevo..." -#: src/tools/dvdomatic.cc:175 +#: src/tools/dvdomatic.cc:177 msgid "S&how DCP" msgstr "&Mostrar DCP" -#: src/tools/dvdomatic.cc:74 +#: src/tools/dvdomatic.cc:76 +#, c-format msgid "Save changes to film \"%s\" before closing?" msgstr "" -#: src/tools/dvdomatic.cc:319 +#: src/tools/dvdomatic.cc:321 msgid "Select film to open" msgstr "Selecciona la película a abrir" -#: src/tools/dvdomatic.cc:303 +#: src/tools/dvdomatic.cc:305 #, fuzzy msgid "The directory %1 already exists." msgstr "La carpeta %s ya existe." -#: src/tools/dvdomatic.cc:324 +#: src/tools/dvdomatic.cc:326 msgid "" "You did not select a folder. Make sure that you select a folder before " "clicking Open." diff --git a/src/tools/po/fr_FR.po b/src/tools/po/fr_FR.po index b40c86877..c1447f7e6 100644 --- a/src/tools/po/fr_FR.po +++ b/src/tools/po/fr_FR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: DVD-o-matic FRENCH\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-04-09 11:14+0100\n" +"POT-Creation-Date: 2013-04-22 15:06+0100\n" "PO-Revision-Date: 2013-03-13 22:33+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -16,109 +16,110 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: src/tools/dvdomatic.cc:177 +#: src/tools/dvdomatic.cc:179 msgid "&Analyse audio" msgstr "&Analyser le son" -#: src/tools/dvdomatic.cc:183 +#: src/tools/dvdomatic.cc:185 msgid "&Edit" msgstr "&Edition" -#: src/tools/dvdomatic.cc:182 +#: src/tools/dvdomatic.cc:184 msgid "&File" msgstr "&Fichier" -#: src/tools/dvdomatic.cc:185 +#: src/tools/dvdomatic.cc:187 msgid "&Help" msgstr "&Aide" -#: src/tools/dvdomatic.cc:184 +#: src/tools/dvdomatic.cc:186 msgid "&Jobs" msgstr "&Travaux" -#: src/tools/dvdomatic.cc:173 +#: src/tools/dvdomatic.cc:175 msgid "&Make DCP" msgstr "&Créer le DCP" -#: src/tools/dvdomatic.cc:161 +#: src/tools/dvdomatic.cc:163 msgid "&Open..." msgstr "&Ouvrir..." -#: src/tools/dvdomatic.cc:170 +#: src/tools/dvdomatic.cc:172 msgid "&Preferences..." msgstr "&Préférences..." -#: src/tools/dvdomatic.cc:165 +#: src/tools/dvdomatic.cc:167 msgid "&Properties..." msgstr "&Propriétés..." -#: src/tools/dvdomatic.cc:167 +#: src/tools/dvdomatic.cc:169 msgid "&Quit" msgstr "&Quitter" -#: src/tools/dvdomatic.cc:163 +#: src/tools/dvdomatic.cc:165 msgid "&Save" msgstr "&Enregistrer" -#: src/tools/dvdomatic.cc:174 +#: src/tools/dvdomatic.cc:176 msgid "&Send DCP to TMS" msgstr "&Envoyer le DCP dans le TMS" -#: src/tools/dvdomatic.cc:417 +#: src/tools/dvdomatic.cc:419 msgid "" "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" msgstr "" "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" -#: src/tools/dvdomatic.cc:180 +#: src/tools/dvdomatic.cc:182 msgid "About" msgstr "A Propos" -#: src/tools/dvdomatic.cc:527 +#: src/tools/dvdomatic.cc:538 #, fuzzy msgid "Could not load film %1 (%2)" msgstr "Impossible de charger le film %s (%s)" -#: src/tools/dvdomatic.cc:339 +#: src/tools/dvdomatic.cc:341 #, c-format msgid "Could not open film at %s (%s)" msgstr "Impossible d'ouvrir le film à %s (%s)" -#: src/tools/dvdomatic.cc:287 src/tools/dvdomatic.cc:410 -#: src/tools/dvdomatic.cc:531 +#: src/tools/dvdomatic.cc:289 src/tools/dvdomatic.cc:412 +#: src/tools/dvdomatic.cc:542 msgid "DVD-o-matic" msgstr "DVD-o-matic" -#: src/tools/dvdomatic.cc:75 +#: src/tools/dvdomatic.cc:77 msgid "Film changed" msgstr "Film changé" -#: src/tools/dvdomatic.cc:416 +#: src/tools/dvdomatic.cc:418 msgid "Free, open-source DCP generation from almost anything." msgstr "Création de DCP libre et open-source à partir de presque tout." -#: src/tools/dvdomatic.cc:160 +#: src/tools/dvdomatic.cc:162 msgid "New..." msgstr "Nouveau..." -#: src/tools/dvdomatic.cc:175 +#: src/tools/dvdomatic.cc:177 msgid "S&how DCP" msgstr "Voir le DCP" -#: src/tools/dvdomatic.cc:74 +#: src/tools/dvdomatic.cc:76 +#, c-format msgid "Save changes to film \"%s\" before closing?" msgstr "" -#: src/tools/dvdomatic.cc:319 +#: src/tools/dvdomatic.cc:321 msgid "Select film to open" msgstr "Sélectionner le film à ouvrir" -#: src/tools/dvdomatic.cc:303 +#: src/tools/dvdomatic.cc:305 #, fuzzy msgid "The directory %1 already exists." msgstr "Le dossier %s existe déjà." -#: src/tools/dvdomatic.cc:324 +#: src/tools/dvdomatic.cc:326 msgid "" "You did not select a folder. Make sure that you select a folder before " "clicking Open." diff --git a/src/tools/po/it_IT.po b/src/tools/po/it_IT.po index 38cbec157..1e0d8446a 100644 --- a/src/tools/po/it_IT.po +++ b/src/tools/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-04-09 11:14+0100\n" +"POT-Creation-Date: 2013-04-22 15:06+0100\n" "PO-Revision-Date: 2013-04-03 13:00+0100\n" "Last-Translator: Maci \n" "Language-Team: \n" @@ -17,107 +17,108 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.5\n" -#: src/tools/dvdomatic.cc:177 +#: src/tools/dvdomatic.cc:179 msgid "&Analyse audio" msgstr "&Analizza audio" -#: src/tools/dvdomatic.cc:183 +#: src/tools/dvdomatic.cc:185 msgid "&Edit" msgstr "&Modifica" -#: src/tools/dvdomatic.cc:182 +#: src/tools/dvdomatic.cc:184 msgid "&File" msgstr "&File" -#: src/tools/dvdomatic.cc:185 +#: src/tools/dvdomatic.cc:187 msgid "&Help" msgstr "&Aiuto" -#: src/tools/dvdomatic.cc:184 +#: src/tools/dvdomatic.cc:186 msgid "&Jobs" msgstr "&Lavori" -#: src/tools/dvdomatic.cc:173 +#: src/tools/dvdomatic.cc:175 msgid "&Make DCP" msgstr "&Crea DCP" -#: src/tools/dvdomatic.cc:161 +#: src/tools/dvdomatic.cc:163 msgid "&Open..." msgstr "&Apri..." -#: src/tools/dvdomatic.cc:170 +#: src/tools/dvdomatic.cc:172 msgid "&Preferences..." msgstr "&Preferenze..." -#: src/tools/dvdomatic.cc:165 +#: src/tools/dvdomatic.cc:167 msgid "&Properties..." msgstr "&Proprieta'..." -#: src/tools/dvdomatic.cc:167 +#: src/tools/dvdomatic.cc:169 msgid "&Quit" msgstr "&Esci" -#: src/tools/dvdomatic.cc:163 +#: src/tools/dvdomatic.cc:165 msgid "&Save" msgstr "&Salva" -#: src/tools/dvdomatic.cc:174 +#: src/tools/dvdomatic.cc:176 msgid "&Send DCP to TMS" msgstr "&Invia DCP a TMS" -#: src/tools/dvdomatic.cc:417 +#: src/tools/dvdomatic.cc:419 msgid "" "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" msgstr "" "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" -#: src/tools/dvdomatic.cc:180 +#: src/tools/dvdomatic.cc:182 msgid "About" msgstr "Informazioni" -#: src/tools/dvdomatic.cc:527 +#: src/tools/dvdomatic.cc:538 msgid "Could not load film %1 (%2)" msgstr "Non posso caricare il film %s (%s)" -#: src/tools/dvdomatic.cc:339 +#: src/tools/dvdomatic.cc:341 #, c-format msgid "Could not open film at %s (%s)" msgstr "Non posso aprire il film in %s (%s)" -#: src/tools/dvdomatic.cc:287 src/tools/dvdomatic.cc:410 -#: src/tools/dvdomatic.cc:531 +#: src/tools/dvdomatic.cc:289 src/tools/dvdomatic.cc:412 +#: src/tools/dvdomatic.cc:542 msgid "DVD-o-matic" msgstr "DVD-o-matic" -#: src/tools/dvdomatic.cc:75 +#: src/tools/dvdomatic.cc:77 msgid "Film changed" msgstr "Film modificato" -#: src/tools/dvdomatic.cc:416 +#: src/tools/dvdomatic.cc:418 msgid "Free, open-source DCP generation from almost anything." msgstr "Genera DCP da quasi tutto, free e open-source." -#: src/tools/dvdomatic.cc:160 +#: src/tools/dvdomatic.cc:162 msgid "New..." msgstr "Nuovo" -#: src/tools/dvdomatic.cc:175 +#: src/tools/dvdomatic.cc:177 msgid "S&how DCP" msgstr "&Mostra DCP" -#: src/tools/dvdomatic.cc:74 +#: src/tools/dvdomatic.cc:76 +#, c-format msgid "Save changes to film \"%s\" before closing?" msgstr "Salvare i cambiamenti del film \"%s\" prima di chiudere?" -#: src/tools/dvdomatic.cc:319 +#: src/tools/dvdomatic.cc:321 msgid "Select film to open" msgstr "Seleziona il film da aprire" -#: src/tools/dvdomatic.cc:303 +#: src/tools/dvdomatic.cc:305 msgid "The directory %1 already exists." msgstr "La directory %s esiste gia'." -#: src/tools/dvdomatic.cc:324 +#: src/tools/dvdomatic.cc:326 msgid "" "You did not select a folder. Make sure that you select a folder before " "clicking Open." diff --git a/src/tools/po/sv_SE.po b/src/tools/po/sv_SE.po index 28566d876..8ae68853f 100644 --- a/src/tools/po/sv_SE.po +++ b/src/tools/po/sv_SE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: DVD-o-matic\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-04-09 11:14+0100\n" +"POT-Creation-Date: 2013-04-22 15:06+0100\n" "PO-Revision-Date: 2013-04-09 10:12+0100\n" "Last-Translator: Adam Klotblixt \n" "Language-Team: \n" @@ -17,108 +17,109 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.5\n" -#: src/tools/dvdomatic.cc:177 +#: src/tools/dvdomatic.cc:179 msgid "&Analyse audio" msgstr "&Analysera audio" -#: src/tools/dvdomatic.cc:183 +#: src/tools/dvdomatic.cc:185 msgid "&Edit" msgstr "&Redigera" -#: src/tools/dvdomatic.cc:182 +#: src/tools/dvdomatic.cc:184 msgid "&File" msgstr "&Fil" -#: src/tools/dvdomatic.cc:185 +#: src/tools/dvdomatic.cc:187 msgid "&Help" msgstr "&Hjälp" -#: src/tools/dvdomatic.cc:184 +#: src/tools/dvdomatic.cc:186 msgid "&Jobs" msgstr "&Jobb" -#: src/tools/dvdomatic.cc:173 +#: src/tools/dvdomatic.cc:175 msgid "&Make DCP" msgstr "&Skapa DCP" -#: src/tools/dvdomatic.cc:161 +#: src/tools/dvdomatic.cc:163 msgid "&Open..." msgstr "&Öppna" -#: src/tools/dvdomatic.cc:170 +#: src/tools/dvdomatic.cc:172 msgid "&Preferences..." msgstr "&Inställningar" -#: src/tools/dvdomatic.cc:165 +#: src/tools/dvdomatic.cc:167 msgid "&Properties..." msgstr "&Egenskaper" -#: src/tools/dvdomatic.cc:167 +#: src/tools/dvdomatic.cc:169 msgid "&Quit" msgstr "&Avsluta" -#: src/tools/dvdomatic.cc:163 +#: src/tools/dvdomatic.cc:165 msgid "&Save" msgstr "&Spara" -#: src/tools/dvdomatic.cc:174 +#: src/tools/dvdomatic.cc:176 msgid "&Send DCP to TMS" msgstr "&Skicka DCP till TMS" -#: src/tools/dvdomatic.cc:417 +#: src/tools/dvdomatic.cc:419 msgid "" "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" msgstr "" "(C) 2012-2013 Carl Hetherington, Terrence Meiczinger, Paul Davis, Ole Laursen" -#: src/tools/dvdomatic.cc:180 +#: src/tools/dvdomatic.cc:182 msgid "About" msgstr "Om" -#: src/tools/dvdomatic.cc:527 +#: src/tools/dvdomatic.cc:538 msgid "Could not load film %1 (%2)" msgstr "Kunde inte öppna filmen %1 (%2)" -#: src/tools/dvdomatic.cc:339 +#: src/tools/dvdomatic.cc:341 #, c-format msgid "Could not open film at %s (%s)" msgstr "Kunde inte öppna filmen vid %s (%s)" -#: src/tools/dvdomatic.cc:287 src/tools/dvdomatic.cc:410 -#: src/tools/dvdomatic.cc:531 +#: src/tools/dvdomatic.cc:289 src/tools/dvdomatic.cc:412 +#: src/tools/dvdomatic.cc:542 msgid "DVD-o-matic" msgstr "DVD-o-matic" -#: src/tools/dvdomatic.cc:75 +#: src/tools/dvdomatic.cc:77 msgid "Film changed" msgstr "Film ändrad" -#: src/tools/dvdomatic.cc:416 +#: src/tools/dvdomatic.cc:418 msgid "Free, open-source DCP generation from almost anything." msgstr "" "Fri, öppen-källkodsprogramvara för DCP-generering från nästan vad som helst." -#: src/tools/dvdomatic.cc:160 +#: src/tools/dvdomatic.cc:162 msgid "New..." msgstr "Ny..." -#: src/tools/dvdomatic.cc:175 +#: src/tools/dvdomatic.cc:177 msgid "S&how DCP" msgstr "&Visa DCP" -#: src/tools/dvdomatic.cc:74 -msgid "Save changes to film \"%1\" before closing?" +#: src/tools/dvdomatic.cc:76 +#, fuzzy, c-format +msgid "Save changes to film \"%s\" before closing?" msgstr "Spara ändringarna till filmen \"%1\" före avslut?" -#: src/tools/dvdomatic.cc:319 +#: src/tools/dvdomatic.cc:321 msgid "Select film to open" msgstr "Välj film att öppna" -#: src/tools/dvdomatic.cc:303 +#: src/tools/dvdomatic.cc:305 msgid "The directory %1 already exists." msgstr "Katalogen %1 finns redan." -#: src/tools/dvdomatic.cc:324 +#: src/tools/dvdomatic.cc:326 msgid "" "You did not select a folder. Make sure that you select a folder before " "clicking Open." diff --git a/src/wx/po/es_ES.po b/src/wx/po/es_ES.po index 207708589..56c0856bd 100644 --- a/src/wx/po/es_ES.po +++ b/src/wx/po/es_ES.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libdvdomatic-wx\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-04-09 11:14+0100\n" +"POT-Creation-Date: 2013-04-22 15:06+0100\n" "PO-Revision-Date: 2013-04-02 19:08-0500\n" "Last-Translator: Manuel AC \n" "Language-Team: Manuel AC \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.5\n" -#: src/wx/film_editor.cc:445 +#: src/wx/film_editor.cc:449 msgid "%" msgstr "%" @@ -25,7 +25,7 @@ msgstr "%" msgid "(restart DVD-o-matic to see language changes)" msgstr "" -#: src/wx/film_editor.cc:1269 +#: src/wx/film_editor.cc:1276 msgid "1 channel" msgstr "1 canal" @@ -41,11 +41,11 @@ msgstr "Añadir" msgid "Audio" msgstr "Audio" -#: src/wx/film_editor.cc:381 +#: src/wx/film_editor.cc:385 msgid "Audio Delay" msgstr "Retardo del audio" -#: src/wx/film_editor.cc:369 +#: src/wx/film_editor.cc:373 msgid "Audio Gain" msgstr "Ganancia del audio" @@ -53,7 +53,7 @@ msgstr "Ganancia del audio" msgid "Audio Language (e.g. EN)" msgstr "Idioma del audio (ej. ES)" -#: src/wx/film_editor.cc:820 +#: src/wx/film_editor.cc:824 #, c-format msgid "Audio will be resampled from %dHz to %dHz\n" msgstr "" @@ -63,7 +63,7 @@ msgstr "" msgid "Bad setting for %s (%s)" msgstr "Configuración erronea para %s (%s)" -#: src/wx/film_editor.cc:288 +#: src/wx/film_editor.cc:292 msgid "Bottom crop" msgstr "Recortar abajo" @@ -75,7 +75,7 @@ msgstr "Explorar..." msgid "But I have to use fader" msgstr "pero tengo que usar el fader a" -#: src/wx/film_editor.cc:374 +#: src/wx/film_editor.cc:378 msgid "Calculate..." msgstr "Calcular..." @@ -87,7 +87,7 @@ msgstr "" msgid "Channels" msgstr "Canales" -#: src/wx/film_editor.cc:325 +#: src/wx/film_editor.cc:329 msgid "Colour look-up table" msgstr "Tabla de referencia de colores" @@ -99,7 +99,7 @@ msgstr "Contenido" msgid "Content Type" msgstr "Tipo de contenido" -#: src/wx/film_viewer.cc:415 +#: src/wx/film_viewer.cc:451 #, c-format msgid "Could not decode video for view (%s)" msgstr "No se pudo decodificar el vídeo para mostrarlo (%s)" @@ -109,12 +109,12 @@ msgstr "No se pudo decodificar el vídeo para mostrarlo (%s)" msgid "Could not make DCP: %s" msgstr "No se pudo crear el DCP: %s" -#: src/wx/film_viewer.cc:107 +#: src/wx/film_viewer.cc:125 #, c-format msgid "Could not open content file (%s)" msgstr "No se pudo abrir el fichero (%s)" -#: src/wx/film_editor.cc:509 +#: src/wx/film_editor.cc:513 #, c-format msgid "Could not set content: %s" msgstr "No se pudo establecer el contenido: %s" @@ -123,7 +123,7 @@ msgstr "No se pudo establecer el contenido: %s" msgid "Create in folder" msgstr "Crear en carpeta" -#: src/wx/film_editor.cc:1363 +#: src/wx/film_editor.cc:1371 #, c-format msgid "Cropped to %dx%d (%.2f:1)\n" msgstr "" @@ -178,7 +178,7 @@ msgid "Edit" msgstr "Editar" #: src/wx/config_dialog.cc:103 src/wx/config_dialog.cc:122 -#: src/wx/film_editor.cc:308 +#: src/wx/film_editor.cc:312 msgid "Edit..." msgstr "Editar..." @@ -186,7 +186,7 @@ msgstr "Editar..." msgid "Encoding Servers" msgstr "Servidores de codificación" -#: src/wx/film_editor.cc:176 +#: src/wx/film_editor.cc:171 msgid "End" msgstr "Fin" @@ -206,11 +206,11 @@ msgstr "Propiedades de la película" msgid "Film name" msgstr "Nombre de la película" -#: src/wx/film_editor.cc:303 src/wx/filter_dialog.cc:32 +#: src/wx/film_editor.cc:307 src/wx/filter_dialog.cc:32 msgid "Filters" msgstr "Filtros" -#: src/wx/film_editor.cc:268 +#: src/wx/film_editor.cc:272 msgid "Format" msgstr "Formato" @@ -234,7 +234,7 @@ msgstr "Gb" msgid "Host name or IP address" msgstr "Nombre o dirección IP" -#: src/wx/film_editor.cc:1273 +#: src/wx/film_editor.cc:1280 msgid "Hz" msgstr "Hz" @@ -246,19 +246,19 @@ msgstr "Quiero reproducir con el fader a" msgid "IP address" msgstr "Dirección IP" -#: src/wx/film_editor.cc:335 +#: src/wx/film_editor.cc:339 msgid "JPEG2000 bandwidth" msgstr "Ancho de banda JPEG2000" -#: src/wx/film_editor.cc:273 +#: src/wx/film_editor.cc:277 msgid "Left crop" msgstr "Recorte izquierda" -#: src/wx/film_editor.cc:164 +#: src/wx/film_editor.cc:159 msgid "Length" msgstr "Longitud" -#: src/wx/film_editor.cc:339 +#: src/wx/film_editor.cc:343 msgid "MBps" msgstr "MBps" @@ -274,7 +274,7 @@ msgstr "Nombre" msgid "New Film" msgstr "Nueva película" -#: src/wx/film_editor.cc:305 src/wx/film_editor.cc:667 +#: src/wx/film_editor.cc:309 src/wx/film_editor.cc:671 msgid "None" msgstr "Ninguno" @@ -282,11 +282,7 @@ msgstr "Ninguno" msgid "Original Frame Rate" msgstr "Velocidad original" -#: src/wx/film_editor.cc:159 -msgid "Original Size" -msgstr "Tamaño original" - -#: src/wx/film_editor.cc:1352 +#: src/wx/film_editor.cc:1360 #, c-format msgid "Original video is %dx%d (%.2f:1)\n" msgstr "" @@ -295,7 +291,7 @@ msgstr "" msgid "Package Type (e.g. OV)" msgstr "Tipo de paquete (ej. OV)" -#: src/wx/film_editor.cc:1384 +#: src/wx/film_editor.cc:1392 #, c-format msgid "Padded with black to %dx%d (%.2f:1)\n" msgstr "" @@ -304,7 +300,7 @@ msgstr "" msgid "Peak" msgstr "Pico" -#: src/wx/film_viewer.cc:54 +#: src/wx/film_viewer.cc:58 msgid "Play" msgstr "Reproducir" @@ -332,7 +328,7 @@ msgstr "Escalador de referencia para A/B" msgid "Remove" msgstr "Quitar" -#: src/wx/film_editor.cc:278 +#: src/wx/film_editor.cc:282 msgid "Right crop" msgstr "Recorte derecha" @@ -340,16 +336,16 @@ msgstr "Recorte derecha" msgid "Running" msgstr "Ejecutando" -#: src/wx/film_editor.cc:1376 +#: src/wx/film_editor.cc:1384 #, c-format msgid "Scaled to %dx%d (%.2f:1)\n" msgstr "" -#: src/wx/film_editor.cc:315 +#: src/wx/film_editor.cc:319 msgid "Scaler" msgstr "Escalador" -#: src/wx/film_editor.cc:407 +#: src/wx/film_editor.cc:411 msgid "Select Audio File" msgstr "Seleccionar fichero de audio" @@ -365,7 +361,7 @@ msgstr "Servidor" msgid "Set language" msgstr "" -#: src/wx/film_editor.cc:364 +#: src/wx/film_editor.cc:368 msgid "Show Audio..." msgstr "Mostrar audio..." @@ -373,7 +369,7 @@ msgstr "Mostrar audio..." msgid "Smoothing" msgstr "Suavizado" -#: src/wx/film_editor.cc:173 +#: src/wx/film_editor.cc:168 msgid "Start" msgstr "Inicio" @@ -385,11 +381,11 @@ msgstr "Estudio (ej. TCF)" msgid "Subtitle Language (e.g. FR)" msgstr "Idioma del subtítulo (ej. EN)" -#: src/wx/film_editor.cc:432 +#: src/wx/film_editor.cc:436 msgid "Subtitle Offset" msgstr "Desplazamiento del subtítulo" -#: src/wx/film_editor.cc:441 +#: src/wx/film_editor.cc:445 msgid "Subtitle Scale" msgstr "Escala del subtítulo" @@ -433,14 +429,19 @@ msgstr "Hilos a utilizar para la codificación en esta máquina" msgid "Time" msgstr "Tiempo" -#: src/wx/film_editor.cc:283 +#: src/wx/film_editor.cc:287 msgid "Top crop" msgstr "Recortar arriba" -#: src/wx/film_editor.cc:171 +#: src/wx/film_editor.cc:166 msgid "Trim frames" msgstr "Recortar fotogramas" +#: src/wx/film_editor.cc:179 +#, fuzzy +msgid "Trim method" +msgstr "Recortar fotogramas" + #: src/wx/film_editor.cc:125 msgid "Trust content's header" msgstr "Confiar en la cabecera del contenido" @@ -457,11 +458,11 @@ msgstr "Usar el nombre DCI" msgid "Use best" msgstr "Usar la mejor" -#: src/wx/film_editor.cc:391 +#: src/wx/film_editor.cc:395 msgid "Use content's audio" msgstr "Usar el audio del contenido" -#: src/wx/film_editor.cc:401 +#: src/wx/film_editor.cc:405 msgid "Use external audio" msgstr "Usar audio externo" @@ -469,11 +470,11 @@ msgstr "Usar audio externo" msgid "Video" msgstr "Vídeo" -#: src/wx/film_editor.cc:424 +#: src/wx/film_editor.cc:428 msgid "With Subtitles" msgstr "Con subtítulos" -#: src/wx/film_editor.cc:1271 +#: src/wx/film_editor.cc:1278 msgid "channels" msgstr "canales" @@ -481,20 +482,28 @@ msgstr "canales" msgid "counting..." msgstr "contando..." -#: src/wx/film_editor.cc:373 +#: src/wx/film_editor.cc:377 msgid "dB" msgstr "dB" -#: src/wx/film_editor.cc:696 src/wx/film_editor.cc:699 +#: src/wx/film_editor.cc:212 +msgid "encode all frames and play the subset" +msgstr "" + +#: src/wx/film_editor.cc:213 +msgid "encode only the subset" +msgstr "" + +#: src/wx/film_editor.cc:694 src/wx/film_editor.cc:697 msgid "frames" msgstr "fotogramas" #. / TRANSLATORS: this is an abbreviation for milliseconds, the unit of time -#: src/wx/film_editor.cc:386 +#: src/wx/film_editor.cc:390 msgid "ms" msgstr "ms" -#: src/wx/film_editor.cc:436 +#: src/wx/film_editor.cc:440 msgid "pixels" msgstr "" @@ -506,3 +515,6 @@ msgstr "s" #: src/wx/properties_dialog.cc:62 src/wx/properties_dialog.cc:63 msgid "unknown" msgstr "desconocido" + +#~ msgid "Original Size" +#~ msgstr "Tamaño original" diff --git a/src/wx/po/fr_FR.po b/src/wx/po/fr_FR.po index 80ee5dbfd..f06be6031 100644 --- a/src/wx/po/fr_FR.po +++ b/src/wx/po/fr_FR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: DVD-o-matic FRENCH\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-04-09 11:14+0100\n" +"POT-Creation-Date: 2013-04-22 15:06+0100\n" "PO-Revision-Date: 2013-03-20 00:34+0100\n" "Last-Translator: FreeDCP.net \n" "Language-Team: \n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: src/wx/film_editor.cc:445 +#: src/wx/film_editor.cc:449 msgid "%" msgstr "%" @@ -24,7 +24,7 @@ msgstr "%" msgid "(restart DVD-o-matic to see language changes)" msgstr "" -#: src/wx/film_editor.cc:1269 +#: src/wx/film_editor.cc:1276 msgid "1 channel" msgstr "1 canal" @@ -40,11 +40,11 @@ msgstr "Ajouter" msgid "Audio" msgstr "Audio" -#: src/wx/film_editor.cc:381 +#: src/wx/film_editor.cc:385 msgid "Audio Delay" msgstr "Délai audio" -#: src/wx/film_editor.cc:369 +#: src/wx/film_editor.cc:373 msgid "Audio Gain" msgstr "Gain audio" @@ -52,7 +52,7 @@ msgstr "Gain audio" msgid "Audio Language (e.g. EN)" msgstr "Langue audio (ex. FR)" -#: src/wx/film_editor.cc:820 +#: src/wx/film_editor.cc:824 #, c-format msgid "Audio will be resampled from %dHz to %dHz\n" msgstr "" @@ -62,7 +62,7 @@ msgstr "" msgid "Bad setting for %s (%s)" msgstr "Mauvais paramètre pour %s (%s)" -#: src/wx/film_editor.cc:288 +#: src/wx/film_editor.cc:292 msgid "Bottom crop" msgstr "Découpe bas" @@ -74,7 +74,7 @@ msgstr "Parcourir..." msgid "But I have to use fader" msgstr "Je souhaite utiliser ce volume" -#: src/wx/film_editor.cc:374 +#: src/wx/film_editor.cc:378 msgid "Calculate..." msgstr "Calcul..." @@ -86,7 +86,7 @@ msgstr "Annuler" msgid "Channels" msgstr "Canaux" -#: src/wx/film_editor.cc:325 +#: src/wx/film_editor.cc:329 msgid "Colour look-up table" msgstr "Espace colorimétrique" @@ -98,7 +98,7 @@ msgstr "Contenu" msgid "Content Type" msgstr "Type de Contenu" -#: src/wx/film_viewer.cc:415 +#: src/wx/film_viewer.cc:451 #, c-format msgid "Could not decode video for view (%s)" msgstr "Décodage de la vidéo pour visualisation impossible (%s)" @@ -108,12 +108,12 @@ msgstr "Décodage de la vidéo pour visualisation impossible (%s)" msgid "Could not make DCP: %s" msgstr "Impossible de créer le DCP : %s" -#: src/wx/film_viewer.cc:107 +#: src/wx/film_viewer.cc:125 #, c-format msgid "Could not open content file (%s)" msgstr "Ouverture du contenu impossible (%s)" -#: src/wx/film_editor.cc:509 +#: src/wx/film_editor.cc:513 #, c-format msgid "Could not set content: %s" msgstr "Sélectionner du contenu impossible : %s" @@ -122,7 +122,7 @@ msgstr "Sélectionner du contenu impossible : %s" msgid "Create in folder" msgstr "Créer dans le dossier" -#: src/wx/film_editor.cc:1363 +#: src/wx/film_editor.cc:1371 #, c-format msgid "Cropped to %dx%d (%.2f:1)\n" msgstr "" @@ -177,7 +177,7 @@ msgid "Edit" msgstr "Édition" #: src/wx/config_dialog.cc:103 src/wx/config_dialog.cc:122 -#: src/wx/film_editor.cc:308 +#: src/wx/film_editor.cc:312 msgid "Edit..." msgstr "Éditer..." @@ -185,7 +185,7 @@ msgstr "Éditer..." msgid "Encoding Servers" msgstr "Serveurs d'encodage" -#: src/wx/film_editor.cc:176 +#: src/wx/film_editor.cc:171 msgid "End" msgstr "Fin" @@ -205,11 +205,11 @@ msgstr "Propriétés du film" msgid "Film name" msgstr "Nom du Film" -#: src/wx/film_editor.cc:303 src/wx/filter_dialog.cc:32 +#: src/wx/film_editor.cc:307 src/wx/filter_dialog.cc:32 msgid "Filters" msgstr "Filtres" -#: src/wx/film_editor.cc:268 +#: src/wx/film_editor.cc:272 msgid "Format" msgstr "Format" @@ -233,7 +233,7 @@ msgstr "Gb" msgid "Host name or IP address" msgstr "Nom de l'hôte ou adresse IP" -#: src/wx/film_editor.cc:1273 +#: src/wx/film_editor.cc:1280 msgid "Hz" msgstr "Hz" @@ -245,19 +245,19 @@ msgstr "Je veux le jouer à ce volume" msgid "IP address" msgstr "Adresse IP" -#: src/wx/film_editor.cc:335 +#: src/wx/film_editor.cc:339 msgid "JPEG2000 bandwidth" msgstr "Qualité JPEG2000" -#: src/wx/film_editor.cc:273 +#: src/wx/film_editor.cc:277 msgid "Left crop" msgstr "Découpe gauche" -#: src/wx/film_editor.cc:164 +#: src/wx/film_editor.cc:159 msgid "Length" msgstr "Longueur / durée" -#: src/wx/film_editor.cc:339 +#: src/wx/film_editor.cc:343 msgid "MBps" msgstr "MBps" @@ -273,7 +273,7 @@ msgstr "Nom" msgid "New Film" msgstr "Nouveau Film" -#: src/wx/film_editor.cc:305 src/wx/film_editor.cc:667 +#: src/wx/film_editor.cc:309 src/wx/film_editor.cc:671 msgid "None" msgstr "Aucun" @@ -281,11 +281,7 @@ msgstr "Aucun" msgid "Original Frame Rate" msgstr "Cadence d'images originale" -#: src/wx/film_editor.cc:159 -msgid "Original Size" -msgstr "Taille Originale" - -#: src/wx/film_editor.cc:1352 +#: src/wx/film_editor.cc:1360 #, c-format msgid "Original video is %dx%d (%.2f:1)\n" msgstr "" @@ -294,7 +290,7 @@ msgstr "" msgid "Package Type (e.g. OV)" msgstr "Type de paquet (ex. OV)" -#: src/wx/film_editor.cc:1384 +#: src/wx/film_editor.cc:1392 #, c-format msgid "Padded with black to %dx%d (%.2f:1)\n" msgstr "" @@ -303,7 +299,7 @@ msgstr "" msgid "Peak" msgstr "Crête" -#: src/wx/film_viewer.cc:54 +#: src/wx/film_viewer.cc:58 msgid "Play" msgstr "Lecture" @@ -331,7 +327,7 @@ msgstr "Échelle de référence pour A/B" msgid "Remove" msgstr "Supprimer" -#: src/wx/film_editor.cc:278 +#: src/wx/film_editor.cc:282 msgid "Right crop" msgstr "Découpe droite" @@ -339,16 +335,16 @@ msgstr "Découpe droite" msgid "Running" msgstr "Progression" -#: src/wx/film_editor.cc:1376 +#: src/wx/film_editor.cc:1384 #, c-format msgid "Scaled to %dx%d (%.2f:1)\n" msgstr "" -#: src/wx/film_editor.cc:315 +#: src/wx/film_editor.cc:319 msgid "Scaler" msgstr "Mise à l'échelle" -#: src/wx/film_editor.cc:407 +#: src/wx/film_editor.cc:411 msgid "Select Audio File" msgstr "Sélectionner le fichier son" @@ -364,7 +360,7 @@ msgstr "Serveur" msgid "Set language" msgstr "" -#: src/wx/film_editor.cc:364 +#: src/wx/film_editor.cc:368 msgid "Show Audio..." msgstr "Analyser le son..." @@ -372,7 +368,7 @@ msgstr "Analyser le son..." msgid "Smoothing" msgstr "Lissage" -#: src/wx/film_editor.cc:173 +#: src/wx/film_editor.cc:168 msgid "Start" msgstr "Début" @@ -384,11 +380,11 @@ msgstr "Studio (ex. TCF)" msgid "Subtitle Language (e.g. FR)" msgstr "Langue de sous-titres (ex. FR)" -#: src/wx/film_editor.cc:432 +#: src/wx/film_editor.cc:436 msgid "Subtitle Offset" msgstr "Décalage du sous-titre" -#: src/wx/film_editor.cc:441 +#: src/wx/film_editor.cc:445 msgid "Subtitle Scale" msgstr "Taille du sous-titre" @@ -432,14 +428,19 @@ msgstr "Nombre de processus à utiliser sur cet hôte" msgid "Time" msgstr "Durée" -#: src/wx/film_editor.cc:283 +#: src/wx/film_editor.cc:287 msgid "Top crop" msgstr "Découpe haut" -#: src/wx/film_editor.cc:171 +#: src/wx/film_editor.cc:166 msgid "Trim frames" msgstr "Images coupées" +#: src/wx/film_editor.cc:179 +#, fuzzy +msgid "Trim method" +msgstr "Images coupées" + #: src/wx/film_editor.cc:125 msgid "Trust content's header" msgstr "Faire confiance à l'en-tête" @@ -456,11 +457,11 @@ msgstr "Utiliser le nom DCI" msgid "Use best" msgstr "Automatique" -#: src/wx/film_editor.cc:391 +#: src/wx/film_editor.cc:395 msgid "Use content's audio" msgstr "Utiliser le son intégré" -#: src/wx/film_editor.cc:401 +#: src/wx/film_editor.cc:405 msgid "Use external audio" msgstr "Utiliser une source audio externe" @@ -468,11 +469,11 @@ msgstr "Utiliser une source audio externe" msgid "Video" msgstr "Vidéo" -#: src/wx/film_editor.cc:424 +#: src/wx/film_editor.cc:428 msgid "With Subtitles" msgstr "Avec sous-titres" -#: src/wx/film_editor.cc:1271 +#: src/wx/film_editor.cc:1278 msgid "channels" msgstr "canaux" @@ -480,20 +481,28 @@ msgstr "canaux" msgid "counting..." msgstr "calcul..." -#: src/wx/film_editor.cc:373 +#: src/wx/film_editor.cc:377 msgid "dB" msgstr "dB" -#: src/wx/film_editor.cc:696 src/wx/film_editor.cc:699 +#: src/wx/film_editor.cc:212 +msgid "encode all frames and play the subset" +msgstr "" + +#: src/wx/film_editor.cc:213 +msgid "encode only the subset" +msgstr "" + +#: src/wx/film_editor.cc:694 src/wx/film_editor.cc:697 msgid "frames" msgstr "images" #. / TRANSLATORS: this is an abbreviation for milliseconds, the unit of time -#: src/wx/film_editor.cc:386 +#: src/wx/film_editor.cc:390 msgid "ms" msgstr "ms" -#: src/wx/film_editor.cc:436 +#: src/wx/film_editor.cc:440 msgid "pixels" msgstr "" @@ -505,3 +514,6 @@ msgstr "s" #: src/wx/properties_dialog.cc:62 src/wx/properties_dialog.cc:63 msgid "unknown" msgstr "inconnu" + +#~ msgid "Original Size" +#~ msgstr "Taille Originale" diff --git a/src/wx/po/it_IT.po b/src/wx/po/it_IT.po index 78fd0dee9..c730a7ff7 100644 --- a/src/wx/po/it_IT.po +++ b/src/wx/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-04-09 11:14+0100\n" +"POT-Creation-Date: 2013-04-22 15:06+0100\n" "PO-Revision-Date: 2013-04-03 12:37+0100\n" "Last-Translator: Maci \n" "Language-Team: \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.5\n" -#: src/wx/film_editor.cc:445 +#: src/wx/film_editor.cc:449 msgid "%" msgstr "%" @@ -25,7 +25,7 @@ msgstr "%" msgid "(restart DVD-o-matic to see language changes)" msgstr "(riavviare DVD-o-matic per vedere i cambiamenti di lingua)" -#: src/wx/film_editor.cc:1269 +#: src/wx/film_editor.cc:1276 msgid "1 channel" msgstr "Canale 1" @@ -41,11 +41,11 @@ msgstr "Aggiungi" msgid "Audio" msgstr "Audio" -#: src/wx/film_editor.cc:381 +#: src/wx/film_editor.cc:385 msgid "Audio Delay" msgstr "Ritardo dell'audio" -#: src/wx/film_editor.cc:369 +#: src/wx/film_editor.cc:373 msgid "Audio Gain" msgstr "Guadagno dell'audio" @@ -53,7 +53,7 @@ msgstr "Guadagno dell'audio" msgid "Audio Language (e.g. EN)" msgstr "Lingua dell'audio (es. EN)" -#: src/wx/film_editor.cc:820 +#: src/wx/film_editor.cc:824 #, c-format msgid "Audio will be resampled from %dHz to %dHz\n" msgstr "" @@ -63,7 +63,7 @@ msgstr "" msgid "Bad setting for %s (%s)" msgstr "Valore sbagliato per %s (%s)" -#: src/wx/film_editor.cc:288 +#: src/wx/film_editor.cc:292 msgid "Bottom crop" msgstr "Taglio in basso" @@ -75,7 +75,7 @@ msgstr "Sfoglia..." msgid "But I have to use fader" msgstr "Ma dovrò riprodurre con il fader a" -#: src/wx/film_editor.cc:374 +#: src/wx/film_editor.cc:378 msgid "Calculate..." msgstr "Calcola..." @@ -87,7 +87,7 @@ msgstr "Annulla" msgid "Channels" msgstr "Canali" -#: src/wx/film_editor.cc:325 +#: src/wx/film_editor.cc:329 msgid "Colour look-up table" msgstr "Tabella per ricerca del colore" @@ -99,7 +99,7 @@ msgstr "Contenuto" msgid "Content Type" msgstr "Tipo di contenuto" -#: src/wx/film_viewer.cc:415 +#: src/wx/film_viewer.cc:451 #, c-format msgid "Could not decode video for view (%s)" msgstr "Non posso decodificare il video per guardarlo (%s)" @@ -109,12 +109,12 @@ msgstr "Non posso decodificare il video per guardarlo (%s)" msgid "Could not make DCP: %s" msgstr "Non posso creare il DCP: %s" -#: src/wx/film_viewer.cc:107 +#: src/wx/film_viewer.cc:125 #, c-format msgid "Could not open content file (%s)" msgstr "Non posso aprire il file del contenuto (%s)" -#: src/wx/film_editor.cc:509 +#: src/wx/film_editor.cc:513 #, c-format msgid "Could not set content: %s" msgstr "Non posso regolare il contenuto: %s" @@ -123,7 +123,7 @@ msgstr "Non posso regolare il contenuto: %s" msgid "Create in folder" msgstr "Crea nella cartella" -#: src/wx/film_editor.cc:1363 +#: src/wx/film_editor.cc:1371 #, c-format msgid "Cropped to %dx%d (%.2f:1)\n" msgstr "" @@ -178,7 +178,7 @@ msgid "Edit" msgstr "Modifica" #: src/wx/config_dialog.cc:103 src/wx/config_dialog.cc:122 -#: src/wx/film_editor.cc:308 +#: src/wx/film_editor.cc:312 msgid "Edit..." msgstr "Modifica..." @@ -186,7 +186,7 @@ msgstr "Modifica..." msgid "Encoding Servers" msgstr "Servers di codifica" -#: src/wx/film_editor.cc:176 +#: src/wx/film_editor.cc:171 msgid "End" msgstr "Fine" @@ -206,11 +206,11 @@ msgstr "Proprietà del film" msgid "Film name" msgstr "Nome del film" -#: src/wx/film_editor.cc:303 src/wx/filter_dialog.cc:32 +#: src/wx/film_editor.cc:307 src/wx/filter_dialog.cc:32 msgid "Filters" msgstr "Filtri" -#: src/wx/film_editor.cc:268 +#: src/wx/film_editor.cc:272 msgid "Format" msgstr "Formato" @@ -234,7 +234,7 @@ msgstr "Gb" msgid "Host name or IP address" msgstr "Nome dell'Host o indirizzo IP" -#: src/wx/film_editor.cc:1273 +#: src/wx/film_editor.cc:1280 msgid "Hz" msgstr "Hz" @@ -246,19 +246,19 @@ msgstr "Sto usando il fader a" msgid "IP address" msgstr "Indirizzo IP" -#: src/wx/film_editor.cc:335 +#: src/wx/film_editor.cc:339 msgid "JPEG2000 bandwidth" msgstr "Banda passante JPEG2000" -#: src/wx/film_editor.cc:273 +#: src/wx/film_editor.cc:277 msgid "Left crop" msgstr "Taglio a sinistra" -#: src/wx/film_editor.cc:164 +#: src/wx/film_editor.cc:159 msgid "Length" msgstr "Lunghezza" -#: src/wx/film_editor.cc:339 +#: src/wx/film_editor.cc:343 msgid "MBps" msgstr "MBps" @@ -274,7 +274,7 @@ msgstr "Nome" msgid "New Film" msgstr "Nuovo Film" -#: src/wx/film_editor.cc:305 src/wx/film_editor.cc:667 +#: src/wx/film_editor.cc:309 src/wx/film_editor.cc:671 msgid "None" msgstr "Nessuno" @@ -282,11 +282,7 @@ msgstr "Nessuno" msgid "Original Frame Rate" msgstr "Frequenza fotogrammi originale" -#: src/wx/film_editor.cc:159 -msgid "Original Size" -msgstr "Dimensione Originale" - -#: src/wx/film_editor.cc:1352 +#: src/wx/film_editor.cc:1360 #, c-format msgid "Original video is %dx%d (%.2f:1)\n" msgstr "" @@ -295,7 +291,7 @@ msgstr "" msgid "Package Type (e.g. OV)" msgstr "Tipo di Package (es. OV)" -#: src/wx/film_editor.cc:1384 +#: src/wx/film_editor.cc:1392 #, c-format msgid "Padded with black to %dx%d (%.2f:1)\n" msgstr "" @@ -304,7 +300,7 @@ msgstr "" msgid "Peak" msgstr "Picco" -#: src/wx/film_viewer.cc:54 +#: src/wx/film_viewer.cc:58 msgid "Play" msgstr "Riproduci" @@ -332,7 +328,7 @@ msgstr "Scalatura di riferimento A/B" msgid "Remove" msgstr "Rimuovi" -#: src/wx/film_editor.cc:278 +#: src/wx/film_editor.cc:282 msgid "Right crop" msgstr "Taglio a destra" @@ -340,16 +336,16 @@ msgstr "Taglio a destra" msgid "Running" msgstr "In corso" -#: src/wx/film_editor.cc:1376 +#: src/wx/film_editor.cc:1384 #, c-format msgid "Scaled to %dx%d (%.2f:1)\n" msgstr "" -#: src/wx/film_editor.cc:315 +#: src/wx/film_editor.cc:319 msgid "Scaler" msgstr "Scaler" -#: src/wx/film_editor.cc:407 +#: src/wx/film_editor.cc:411 msgid "Select Audio File" msgstr "Seleziona file audio" @@ -365,7 +361,7 @@ msgstr "Server" msgid "Set language" msgstr "Seleziona la lingua" -#: src/wx/film_editor.cc:364 +#: src/wx/film_editor.cc:368 msgid "Show Audio..." msgstr "Mostra Audio..." @@ -373,7 +369,7 @@ msgstr "Mostra Audio..." msgid "Smoothing" msgstr "Levigatura" -#: src/wx/film_editor.cc:173 +#: src/wx/film_editor.cc:168 msgid "Start" msgstr "Inizio" @@ -385,11 +381,11 @@ msgstr "Studio (es. TCF)" msgid "Subtitle Language (e.g. FR)" msgstr "Lingua dei Sottotitoli (es. FR)" -#: src/wx/film_editor.cc:432 +#: src/wx/film_editor.cc:436 msgid "Subtitle Offset" msgstr "Sfalsamento dei Sottotitoli" -#: src/wx/film_editor.cc:441 +#: src/wx/film_editor.cc:445 msgid "Subtitle Scale" msgstr "Scala dei Sottotitoli" @@ -433,14 +429,19 @@ msgstr "Threads da usare per codificare su questo host" msgid "Time" msgstr "Tempo" -#: src/wx/film_editor.cc:283 +#: src/wx/film_editor.cc:287 msgid "Top crop" msgstr "Taglio in alto" -#: src/wx/film_editor.cc:171 +#: src/wx/film_editor.cc:166 msgid "Trim frames" msgstr "Taglia fotogrammi" +#: src/wx/film_editor.cc:179 +#, fuzzy +msgid "Trim method" +msgstr "Taglia fotogrammi" + #: src/wx/film_editor.cc:125 msgid "Trust content's header" msgstr "Conferma l'intestazione del contenuto" @@ -457,11 +458,11 @@ msgstr "Usa nome DCI" msgid "Use best" msgstr "Usa la migliore" -#: src/wx/film_editor.cc:391 +#: src/wx/film_editor.cc:395 msgid "Use content's audio" msgstr "Usa l'audio del contenuto" -#: src/wx/film_editor.cc:401 +#: src/wx/film_editor.cc:405 msgid "Use external audio" msgstr "Usa l'audio esterno" @@ -469,11 +470,11 @@ msgstr "Usa l'audio esterno" msgid "Video" msgstr "Video" -#: src/wx/film_editor.cc:424 +#: src/wx/film_editor.cc:428 msgid "With Subtitles" msgstr "Con Sottotitoli" -#: src/wx/film_editor.cc:1271 +#: src/wx/film_editor.cc:1278 msgid "channels" msgstr "canali" @@ -481,20 +482,28 @@ msgstr "canali" msgid "counting..." msgstr "conteggio..." -#: src/wx/film_editor.cc:373 +#: src/wx/film_editor.cc:377 msgid "dB" msgstr "dB" -#: src/wx/film_editor.cc:696 src/wx/film_editor.cc:699 +#: src/wx/film_editor.cc:212 +msgid "encode all frames and play the subset" +msgstr "" + +#: src/wx/film_editor.cc:213 +msgid "encode only the subset" +msgstr "" + +#: src/wx/film_editor.cc:694 src/wx/film_editor.cc:697 msgid "frames" msgstr "fotogrammi" #. / TRANSLATORS: this is an abbreviation for milliseconds, the unit of time -#: src/wx/film_editor.cc:386 +#: src/wx/film_editor.cc:390 msgid "ms" msgstr "ms" -#: src/wx/film_editor.cc:436 +#: src/wx/film_editor.cc:440 msgid "pixels" msgstr "" @@ -506,3 +515,6 @@ msgstr "s" #: src/wx/properties_dialog.cc:62 src/wx/properties_dialog.cc:63 msgid "unknown" msgstr "sconosciuto" + +#~ msgid "Original Size" +#~ msgstr "Dimensione Originale" diff --git a/src/wx/po/sv_SE.po b/src/wx/po/sv_SE.po index e52589ff0..4127d77f8 100644 --- a/src/wx/po/sv_SE.po +++ b/src/wx/po/sv_SE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: DVD-o-matic\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-04-09 11:14+0100\n" +"POT-Creation-Date: 2013-04-22 15:06+0100\n" "PO-Revision-Date: 2013-04-09 10:13+0100\n" "Last-Translator: Adam Klotblixt \n" "Language-Team: \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.5\n" -#: src/wx/film_editor.cc:445 +#: src/wx/film_editor.cc:449 msgid "%" msgstr "%" @@ -25,7 +25,7 @@ msgstr "%" msgid "(restart DVD-o-matic to see language changes)" msgstr "(starta om DVD-o-matic för att se språkändringar)" -#: src/wx/film_editor.cc:1269 +#: src/wx/film_editor.cc:1276 msgid "1 channel" msgstr "1 kanal" @@ -41,11 +41,11 @@ msgstr "Lägg till" msgid "Audio" msgstr "Audio" -#: src/wx/film_editor.cc:381 +#: src/wx/film_editor.cc:385 msgid "Audio Delay" msgstr "Audio Fördröjning" -#: src/wx/film_editor.cc:369 +#: src/wx/film_editor.cc:373 msgid "Audio Gain" msgstr "Audio Förstärkning" @@ -53,7 +53,7 @@ msgstr "Audio Förstärkning" msgid "Audio Language (e.g. EN)" msgstr "Audio Språk (ex. SV)" -#: src/wx/film_editor.cc:820 +#: src/wx/film_editor.cc:824 #, c-format msgid "Audio will be resampled from %dHz to %dHz\n" msgstr "Audio kommer att samplas om från %dHz till %dHz\n" @@ -63,7 +63,7 @@ msgstr "Audio kommer att samplas om från %dHz till %dHz\n" msgid "Bad setting for %s (%s)" msgstr "Felaktig inställning för %s (%s)" -#: src/wx/film_editor.cc:288 +#: src/wx/film_editor.cc:292 msgid "Bottom crop" msgstr "Nedre beskärning" @@ -75,7 +75,7 @@ msgstr "Bläddra..." msgid "But I have to use fader" msgstr "Men jag måste använda mixervolym" -#: src/wx/film_editor.cc:374 +#: src/wx/film_editor.cc:378 msgid "Calculate..." msgstr "Beräkna..." @@ -87,7 +87,7 @@ msgstr "Avbryt" msgid "Channels" msgstr "Kanaler" -#: src/wx/film_editor.cc:325 +#: src/wx/film_editor.cc:329 msgid "Colour look-up table" msgstr "Färguppslagningstabell" @@ -99,7 +99,7 @@ msgstr "Innehåll" msgid "Content Type" msgstr "Innehållstyp" -#: src/wx/film_viewer.cc:415 +#: src/wx/film_viewer.cc:451 #, c-format msgid "Could not decode video for view (%s)" msgstr "Kunde inte avkoda video för visning (%s)" @@ -109,12 +109,12 @@ msgstr "Kunde inte avkoda video för visning (%s)" msgid "Could not make DCP: %s" msgstr "Kunde inte skapa DCP: %s" -#: src/wx/film_viewer.cc:107 +#: src/wx/film_viewer.cc:125 #, c-format msgid "Could not open content file (%s)" msgstr "Kunde inte öppna innehållsfilen (%s)" -#: src/wx/film_editor.cc:509 +#: src/wx/film_editor.cc:513 #, c-format msgid "Could not set content: %s" msgstr "Kunde inte fastställa innehåll: %s" @@ -123,7 +123,7 @@ msgstr "Kunde inte fastställa innehåll: %s" msgid "Create in folder" msgstr "Skapa i katalog" -#: src/wx/film_editor.cc:1363 +#: src/wx/film_editor.cc:1371 #, c-format msgid "Cropped to %dx%d (%.2f:1)\n" msgstr "Beskuren till %dx%d (%.2f:1)\n" @@ -178,7 +178,7 @@ msgid "Edit" msgstr "Redigera" #: src/wx/config_dialog.cc:103 src/wx/config_dialog.cc:122 -#: src/wx/film_editor.cc:308 +#: src/wx/film_editor.cc:312 msgid "Edit..." msgstr "Redigera..." @@ -186,7 +186,7 @@ msgstr "Redigera..." msgid "Encoding Servers" msgstr "Kodningsservrar" -#: src/wx/film_editor.cc:176 +#: src/wx/film_editor.cc:171 msgid "End" msgstr "Slut" @@ -206,11 +206,11 @@ msgstr "Film Egenskaper" msgid "Film name" msgstr "film namn" -#: src/wx/film_editor.cc:303 src/wx/filter_dialog.cc:32 +#: src/wx/film_editor.cc:307 src/wx/filter_dialog.cc:32 msgid "Filters" msgstr "Filter" -#: src/wx/film_editor.cc:268 +#: src/wx/film_editor.cc:272 msgid "Format" msgstr "Format" @@ -234,7 +234,7 @@ msgstr "Gb" msgid "Host name or IP address" msgstr "Värd-namn eller IP-adress" -#: src/wx/film_editor.cc:1273 +#: src/wx/film_editor.cc:1280 msgid "Hz" msgstr "Hz" @@ -246,19 +246,19 @@ msgstr "Jag vill spela upp detta med mixervolym" msgid "IP address" msgstr "IP-adress" -#: src/wx/film_editor.cc:335 +#: src/wx/film_editor.cc:339 msgid "JPEG2000 bandwidth" msgstr "JPEG2000 bandbredd" -#: src/wx/film_editor.cc:273 +#: src/wx/film_editor.cc:277 msgid "Left crop" msgstr "Vänster beskärning" -#: src/wx/film_editor.cc:164 +#: src/wx/film_editor.cc:159 msgid "Length" msgstr "Längd" -#: src/wx/film_editor.cc:339 +#: src/wx/film_editor.cc:343 msgid "MBps" msgstr "MBps" @@ -274,7 +274,7 @@ msgstr "Namn" msgid "New Film" msgstr "Ny Film" -#: src/wx/film_editor.cc:305 src/wx/film_editor.cc:667 +#: src/wx/film_editor.cc:309 src/wx/film_editor.cc:671 msgid "None" msgstr "Inget" @@ -282,11 +282,7 @@ msgstr "Inget" msgid "Original Frame Rate" msgstr "Ursprunglig bildhastighet" -#: src/wx/film_editor.cc:159 -msgid "Original Size" -msgstr "Ursprunglig Storlek" - -#: src/wx/film_editor.cc:1352 +#: src/wx/film_editor.cc:1360 #, c-format msgid "Original video is %dx%d (%.2f:1)\n" msgstr "Original-videon är %dx%d (%.2f:1)\n" @@ -295,7 +291,7 @@ msgstr "Original-videon är %dx%d (%.2f:1)\n" msgid "Package Type (e.g. OV)" msgstr "Förpackningstyp (ex. OV)" -#: src/wx/film_editor.cc:1384 +#: src/wx/film_editor.cc:1392 #, c-format msgid "Padded with black to %dx%d (%.2f:1)\n" msgstr "Svarta kanter tillagda för %dx%d (%.2f:1)\n" @@ -304,7 +300,7 @@ msgstr "Svarta kanter tillagda för %dx%d (%.2f:1)\n" msgid "Peak" msgstr "Topp" -#: src/wx/film_viewer.cc:54 +#: src/wx/film_viewer.cc:58 msgid "Play" msgstr "Spela" @@ -332,7 +328,7 @@ msgstr "Referensomskalare för A/B" msgid "Remove" msgstr "Ta bort" -#: src/wx/film_editor.cc:278 +#: src/wx/film_editor.cc:282 msgid "Right crop" msgstr "Höger beskärning" @@ -340,16 +336,16 @@ msgstr "Höger beskärning" msgid "Running" msgstr "Körs" -#: src/wx/film_editor.cc:1376 +#: src/wx/film_editor.cc:1384 #, c-format msgid "Scaled to %dx%d (%.2f:1)\n" msgstr "Skalad till %dx%d (%.2f:1)\n" -#: src/wx/film_editor.cc:315 +#: src/wx/film_editor.cc:319 msgid "Scaler" msgstr "Omskalare" -#: src/wx/film_editor.cc:407 +#: src/wx/film_editor.cc:411 msgid "Select Audio File" msgstr "Välj audiofil" @@ -365,7 +361,7 @@ msgstr "Server" msgid "Set language" msgstr "Välj språk" -#: src/wx/film_editor.cc:364 +#: src/wx/film_editor.cc:368 msgid "Show Audio..." msgstr "Visa Audio..." @@ -373,7 +369,7 @@ msgstr "Visa Audio..." msgid "Smoothing" msgstr "Utjämning" -#: src/wx/film_editor.cc:173 +#: src/wx/film_editor.cc:168 msgid "Start" msgstr "Start" @@ -385,11 +381,11 @@ msgstr "Studio (ex. TCF)" msgid "Subtitle Language (e.g. FR)" msgstr "Undertextspråk (ex. SV)" -#: src/wx/film_editor.cc:432 +#: src/wx/film_editor.cc:436 msgid "Subtitle Offset" msgstr "Undertext Förskjutning" -#: src/wx/film_editor.cc:441 +#: src/wx/film_editor.cc:445 msgid "Subtitle Scale" msgstr "Undertext Skalning" @@ -433,14 +429,19 @@ msgstr "Antal trådar att använda vid kodning på denna maskin" msgid "Time" msgstr "Tid" -#: src/wx/film_editor.cc:283 +#: src/wx/film_editor.cc:287 msgid "Top crop" msgstr "Övre beskärning" -#: src/wx/film_editor.cc:171 +#: src/wx/film_editor.cc:166 msgid "Trim frames" msgstr "Skippa bilder" +#: src/wx/film_editor.cc:179 +#, fuzzy +msgid "Trim method" +msgstr "Skippa bilder" + #: src/wx/film_editor.cc:125 msgid "Trust content's header" msgstr "Lita på källans information" @@ -457,11 +458,11 @@ msgstr "Använd DCI-namnet" msgid "Use best" msgstr "Använd bästa" -#: src/wx/film_editor.cc:391 +#: src/wx/film_editor.cc:395 msgid "Use content's audio" msgstr "Använd innehållets audio" -#: src/wx/film_editor.cc:401 +#: src/wx/film_editor.cc:405 msgid "Use external audio" msgstr "Använd extern audio" @@ -469,11 +470,11 @@ msgstr "Använd extern audio" msgid "Video" msgstr "Video" -#: src/wx/film_editor.cc:424 +#: src/wx/film_editor.cc:428 msgid "With Subtitles" msgstr "Med Undertexter" -#: src/wx/film_editor.cc:1271 +#: src/wx/film_editor.cc:1278 msgid "channels" msgstr "kanaler" @@ -481,20 +482,28 @@ msgstr "kanaler" msgid "counting..." msgstr "räknar..." -#: src/wx/film_editor.cc:373 +#: src/wx/film_editor.cc:377 msgid "dB" msgstr "dB" -#: src/wx/film_editor.cc:696 src/wx/film_editor.cc:699 +#: src/wx/film_editor.cc:212 +msgid "encode all frames and play the subset" +msgstr "" + +#: src/wx/film_editor.cc:213 +msgid "encode only the subset" +msgstr "" + +#: src/wx/film_editor.cc:694 src/wx/film_editor.cc:697 msgid "frames" msgstr "bilder" #. / TRANSLATORS: this is an abbreviation for milliseconds, the unit of time -#: src/wx/film_editor.cc:386 +#: src/wx/film_editor.cc:390 msgid "ms" msgstr "ms" -#: src/wx/film_editor.cc:436 +#: src/wx/film_editor.cc:440 msgid "pixels" msgstr "pixlar" @@ -506,3 +515,6 @@ msgstr "s" #: src/wx/properties_dialog.cc:62 src/wx/properties_dialog.cc:63 msgid "unknown" msgstr "okänt" + +#~ msgid "Original Size" +#~ msgstr "Ursprunglig Storlek" -- cgit v1.2.3 From 425ef773dbf91d2fecd8e2fbdc20becbfbda46f8 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 23 Apr 2013 16:17:20 +0100 Subject: Connect Trimmer clsas. --- src/lib/ab_transcoder.cc | 37 ++++++++++++++++++++++++++++++------- src/lib/ab_transcoder.h | 2 ++ src/lib/audio_source.cc | 6 ++++++ src/lib/audio_source.h | 1 + src/lib/transcoder.cc | 19 +++++++++++++++---- src/lib/transcoder.h | 2 ++ src/lib/video_source.cc | 8 ++++++++ src/lib/video_source.h | 1 + 8 files changed, 65 insertions(+), 11 deletions(-) (limited to 'src/lib') diff --git a/src/lib/ab_transcoder.cc b/src/lib/ab_transcoder.cc index 6eef397c2..26643b50e 100644 --- a/src/lib/ab_transcoder.cc +++ b/src/lib/ab_transcoder.cc @@ -32,6 +32,7 @@ #include "delay_line.h" #include "gain.h" #include "combiner.h" +#include "trimmer.h" /** @file src/ab_transcoder.cc * @brief A transcoder which uses one Film for the left half of the screen, and a different one @@ -61,26 +62,48 @@ ABTranscoder::ABTranscoder ( _db = decoder_factory (_film_b, o); shared_ptr st = _film_a->audio_stream(); - _matcher.reset (new Matcher (_film_a->log(), st->sample_rate(), _film_a->source_frame_rate())); + if (st) { + _matcher.reset (new Matcher (_film_a->log(), st->sample_rate(), _film_a->source_frame_rate())); + } _delay_line.reset (new DelayLine (_film_a->log(), _film_a->audio_delay() / 1000.0f)); _gain.reset (new Gain (_film_a->log(), _film_a->audio_gain())); + int const sr = st ? st->sample_rate() : 0; + int const trim_start = _film_a->trim_type() == Film::ENCODE ? _film_a->trim_start() : 0; + int const trim_end = _film_a->trim_type() == Film::ENCODE ? _film_a->trim_end() : 0; + _trimmer.reset (new Trimmer ( + _film_a->log(), trim_start, trim_end, _film_a->length().get(), + sr, _film_a->source_frame_rate(), _film_a->dcp_frame_rate() + )); + /* Set up the decoder to use the film's set streams */ _da.video->set_subtitle_stream (_film_a->subtitle_stream ()); _db.video->set_subtitle_stream (_film_a->subtitle_stream ()); - _da.audio->set_audio_stream (_film_a->audio_stream ()); + if (_film_a->audio_stream ()) { + _da.audio->set_audio_stream (_film_a->audio_stream ()); + } _da.video->Video.connect (bind (&Combiner::process_video, _combiner, _1, _2, _3, _4)); _db.video->Video.connect (bind (&Combiner::process_video_b, _combiner, _1, _2, _3, _4)); _combiner->connect_video (_delay_line); - _delay_line->connect_video (_matcher); - _matcher->connect_video (_encoder); + if (_matcher) { + _delay_line->connect_video (_matcher); + _matcher->connect_video (_trimmer); + } else { + _delay_line->connect_video (_trimmer); + } + _trimmer->connect_video (_encoder); _da.audio->connect_audio (_delay_line); - _delay_line->connect_audio (_matcher); - _matcher->connect_audio (_gain); - _gain->connect_audio (_encoder); + if (_matcher) { + _delay_line->connect_audio (_matcher); + _matcher->connect_audio (_gain); + } else { + _delay_line->connect_audio (_gain); + } + _gain->connect_audio (_trimmer); + _trimmer->connect_audio (_encoder); } void diff --git a/src/lib/ab_transcoder.h b/src/lib/ab_transcoder.h index 58a08af04..4f1b14e48 100644 --- a/src/lib/ab_transcoder.h +++ b/src/lib/ab_transcoder.h @@ -39,6 +39,7 @@ class Matcher; class DelayLine; class Gain; class Combiner; +class Trimmer; /** @class ABTranscoder * @brief A transcoder which uses one Film for the left half of the screen, and a different one @@ -68,5 +69,6 @@ private: boost::shared_ptr _matcher; boost::shared_ptr _delay_line; boost::shared_ptr _gain; + boost::shared_ptr _trimmer; boost::shared_ptr _image; }; diff --git a/src/lib/audio_source.cc b/src/lib/audio_source.cc index bca3562cf..d77e89367 100644 --- a/src/lib/audio_source.cc +++ b/src/lib/audio_source.cc @@ -34,3 +34,9 @@ TimedAudioSource::connect_audio (shared_ptr s) { Audio.connect (bind (&TimedAudioSink::process_audio, s, _1, _2)); } + +void +TimedAudioSource::connect_audio (shared_ptr s) +{ + Audio.connect (bind (&AudioSink::process_audio, s, _1)); +} diff --git a/src/lib/audio_source.h b/src/lib/audio_source.h index 3dc998cca..e255d566d 100644 --- a/src/lib/audio_source.h +++ b/src/lib/audio_source.h @@ -48,6 +48,7 @@ public: /** Emitted when some audio data is ready */ boost::signals2::signal, double)> Audio; + void connect_audio (boost::shared_ptr); void connect_audio (boost::shared_ptr); }; diff --git a/src/lib/transcoder.cc b/src/lib/transcoder.cc index e00b2f1e0..a10789e11 100644 --- a/src/lib/transcoder.cc +++ b/src/lib/transcoder.cc @@ -36,6 +36,7 @@ #include "gain.h" #include "video_decoder.h" #include "audio_decoder.h" +#include "trimmer.h" using std::string; using boost::shared_ptr; @@ -61,6 +62,14 @@ Transcoder::Transcoder (shared_ptr f, DecodeOptions o, Job* j, shared_ptr< _delay_line.reset (new DelayLine (f->log(), f->audio_delay() / 1000.0f)); _gain.reset (new Gain (f->log(), f->audio_gain())); + int const sr = st ? st->sample_rate() : 0; + int const trim_start = f->trim_type() == Film::ENCODE ? f->trim_start() : 0; + int const trim_end = f->trim_type() == Film::ENCODE ? f->trim_end() : 0; + _trimmer.reset (new Trimmer ( + f->log(), trim_start, trim_end, f->length().get(), + sr, f->source_frame_rate(), f->dcp_frame_rate() + )); + /* Set up the decoder to use the film's set streams */ _decoders.video->set_subtitle_stream (f->subtitle_stream ()); if (f->audio_stream ()) { @@ -70,19 +79,21 @@ Transcoder::Transcoder (shared_ptr f, DecodeOptions o, Job* j, shared_ptr< _decoders.video->connect_video (_delay_line); if (_matcher) { _delay_line->connect_video (_matcher); - _matcher->connect_video (_encoder); + _matcher->connect_video (_trimmer); } else { - _delay_line->Video.connect (bind (&Encoder::process_video, _encoder, _1, _2, _3)); + _delay_line->connect_video (_trimmer); } + _trimmer->connect_video (_encoder); _decoders.audio->connect_audio (_delay_line); if (_matcher) { _delay_line->connect_audio (_matcher); _matcher->connect_audio (_gain); } else { - _delay_line->Audio.connect (bind (&Encoder::process_audio, _encoder, _1)); + _delay_line->connect_audio (_gain); } - _gain->connect_audio (_encoder); + _gain->connect_audio (_trimmer); + _trimmer->connect_audio (_encoder); } /** Run the decoder, passing its output to the encoder, until the decoder diff --git a/src/lib/transcoder.h b/src/lib/transcoder.h index b0c263d07..f5b8ae6e3 100644 --- a/src/lib/transcoder.h +++ b/src/lib/transcoder.h @@ -35,6 +35,7 @@ class Gain; class VideoDecoder; class AudioDecoder; class DelayLine; +class Trimmer; /** @class Transcoder * @brief A class which takes a Film and some Options, then uses those to transcode the film. @@ -68,4 +69,5 @@ protected: boost::shared_ptr _matcher; boost::shared_ptr _delay_line; boost::shared_ptr _gain; + boost::shared_ptr _trimmer; }; diff --git a/src/lib/video_source.cc b/src/lib/video_source.cc index af6f941fd..539243402 100644 --- a/src/lib/video_source.cc +++ b/src/lib/video_source.cc @@ -34,3 +34,11 @@ TimedVideoSource::connect_video (shared_ptr s) { Video.connect (bind (&TimedVideoSink::process_video, s, _1, _2, _3, _4)); } + +void +TimedVideoSource::connect_video (shared_ptr s) +{ + Video.connect (bind (&VideoSink::process_video, s, _1, _2, _3)); +} + + diff --git a/src/lib/video_source.h b/src/lib/video_source.h index 705b0023a..e4a8ab058 100644 --- a/src/lib/video_source.h +++ b/src/lib/video_source.h @@ -65,6 +65,7 @@ public: */ boost::signals2::signal, bool, boost::shared_ptr, double)> Video; + void connect_video (boost::shared_ptr); void connect_video (boost::shared_ptr); }; -- cgit v1.2.3 From be1862fefb1378c78bcc4bd6334694797755ea47 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 23 Apr 2013 20:46:45 +0100 Subject: Add a test; turn off verbose logging by default in makedcp; improve log message. --- src/lib/matcher.cc | 6 +++++- src/tools/makedcp.cc | 2 +- test/test.cc | 59 +++++++++++++++++++++++++++++++++++++--------------- 3 files changed, 48 insertions(+), 19 deletions(-) (limited to 'src/lib') diff --git a/src/lib/matcher.cc b/src/lib/matcher.cc index 34ddc86d6..dd0312f67 100644 --- a/src/lib/matcher.cc +++ b/src/lib/matcher.cc @@ -94,7 +94,11 @@ Matcher::process_audio (boost::shared_ptr b, double t) { _channels = b->channels (); - _log->log (String::compose ("Matcher audio @ %1 [video=%2, audio=%3, pending_audio=%4]", t, _video_frames, _audio_frames, _pending_audio.size())); + _log->log (String::compose ( + "Matcher audio (%1 frames) @ %2 [video=%3, audio=%4, pending_audio=%5]", + b->frames(), t, _video_frames, _audio_frames, _pending_audio.size() + ) + ); if (!_first_input) { _first_input = t; diff --git a/src/tools/makedcp.cc b/src/tools/makedcp.cc index 0c6390771..c594991a6 100644 --- a/src/tools/makedcp.cc +++ b/src/tools/makedcp.cc @@ -64,7 +64,7 @@ main (int argc, char* argv[]) bool test_mode = false; bool progress = true; bool no_remote = false; - int log_level = 1; + int log_level = 0; int option_index = 0; while (1) { diff --git a/test/test.cc b/test/test.cc index b0b2cef7d..595d8fc93 100644 --- a/test/test.cc +++ b/test/test.cc @@ -123,52 +123,77 @@ BOOST_AUTO_TEST_CASE (make_black_test) } } -shared_ptr trimmer_test_last; +shared_ptr trimmer_test_last_video; +shared_ptr trimmer_test_last_audio; void -trimmer_test_helper (shared_ptr audio) +trimmer_test_video_helper (shared_ptr image, bool, shared_ptr) { - trimmer_test_last = audio; + trimmer_test_last_video = image; } +void +trimmer_test_audio_helper (shared_ptr audio) +{ + trimmer_test_last_audio = audio; +} + +BOOST_AUTO_TEST_CASE (trimmer_passthrough_test) +{ + Trimmer trimmer (shared_ptr (), 0, 0, 200, 48000, 25, 25); + trimmer.Video.connect (bind (&trimmer_test_video_helper, _1, _2, _3)); + trimmer.Audio.connect (bind (&trimmer_test_audio_helper, _1)); + + shared_ptr video (new SimpleImage (PIX_FMT_RGB24, libdcp::Size (1998, 1080), true)); + shared_ptr audio (new AudioBuffers (6, 42 * 1920)); + + trimmer.process_video (video, false, shared_ptr ()); + trimmer.process_audio (audio); + + BOOST_CHECK_EQUAL (video.get(), trimmer_test_last_video.get()); + BOOST_CHECK_EQUAL (audio.get(), trimmer_test_last_audio.get()); + BOOST_CHECK_EQUAL (audio->frames(), trimmer_test_last_audio->frames()); +} + + /** Test the audio handling of the Trimmer */ -BOOST_AUTO_TEST_CASE (trimmer_test) +BOOST_AUTO_TEST_CASE (trimmer_audio_test) { Trimmer trimmer (shared_ptr (), 25, 75, 200, 48000, 25, 25); - trimmer.Audio.connect (bind (&trimmer_test_helper, _1)); + trimmer.Audio.connect (bind (&trimmer_test_audio_helper, _1)); /* 21 video frames-worth of audio frames; should be completely stripped */ - trimmer_test_last.reset (); + trimmer_test_last_audio.reset (); shared_ptr audio (new AudioBuffers (6, 21 * 1920)); trimmer.process_audio (audio); - BOOST_CHECK (trimmer_test_last == 0); + BOOST_CHECK (trimmer_test_last_audio == 0); /* 42 more video frames-worth, 4 should be stripped from the start */ audio.reset (new AudioBuffers (6, 42 * 1920)); trimmer.process_audio (audio); - BOOST_CHECK (trimmer_test_last); - BOOST_CHECK_EQUAL (trimmer_test_last->frames(), 38 * 1920); + BOOST_CHECK (trimmer_test_last_audio); + BOOST_CHECK_EQUAL (trimmer_test_last_audio->frames(), 38 * 1920); /* 42 more video frames-worth, should be kept as-is */ - trimmer_test_last.reset (); + trimmer_test_last_audio.reset (); audio.reset (new AudioBuffers (6, 42 * 1920)); trimmer.process_audio (audio); - BOOST_CHECK (trimmer_test_last); - BOOST_CHECK_EQUAL (trimmer_test_last->frames(), 42 * 1920); + BOOST_CHECK (trimmer_test_last_audio); + BOOST_CHECK_EQUAL (trimmer_test_last_audio->frames(), 42 * 1920); /* 25 more video frames-worth, 5 should be trimmed from the end */ - trimmer_test_last.reset (); + trimmer_test_last_audio.reset (); audio.reset (new AudioBuffers (6, 25 * 1920)); trimmer.process_audio (audio); - BOOST_CHECK (trimmer_test_last); - BOOST_CHECK_EQUAL (trimmer_test_last->frames(), 20 * 1920); + BOOST_CHECK (trimmer_test_last_audio); + BOOST_CHECK_EQUAL (trimmer_test_last_audio->frames(), 20 * 1920); /* Now some more; all should be trimmed */ - trimmer_test_last.reset (); + trimmer_test_last_audio.reset (); audio.reset (new AudioBuffers (6, 100 * 1920)); trimmer.process_audio (audio); - BOOST_CHECK (trimmer_test_last == 0); + BOOST_CHECK (trimmer_test_last_audio == 0); } -- cgit v1.2.3 From 8dd9ea3086b4934f2719648ffa6333c0d106ff36 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 24 Apr 2013 01:02:25 +0100 Subject: Some const correctness. --- src/lib/analyse_audio_job.cc | 2 +- src/lib/analyse_audio_job.h | 2 +- src/lib/audio_sink.h | 4 +- src/lib/audio_source.h | 4 +- src/lib/combiner.cc | 6 +-- src/lib/combiner.h | 4 +- src/lib/delay_line.cc | 4 +- src/lib/delay_line.h | 4 +- src/lib/encoder.cc | 4 +- src/lib/encoder.h | 4 +- src/lib/gain.cc | 2 +- src/lib/gain.h | 2 +- src/lib/image.cc | 6 +++ src/lib/image.h | 6 +++ src/lib/matcher.cc | 9 +++-- src/lib/matcher.h | 10 ++--- src/lib/trimmer.cc | 10 +++-- src/lib/trimmer.h | 4 +- src/lib/util.cc | 90 +++++++++++++++++++++++++++++--------------- src/lib/util.h | 1 + src/lib/video_sink.h | 4 +- src/lib/video_source.h | 4 +- src/tools/servomatictest.cc | 2 +- src/wx/film_viewer.cc | 4 +- src/wx/film_viewer.h | 6 +-- test/test.cc | 8 ++-- 26 files changed, 125 insertions(+), 81 deletions(-) (limited to 'src/lib') diff --git a/src/lib/analyse_audio_job.cc b/src/lib/analyse_audio_job.cc index 43eecbcbd..88cd65fee 100644 --- a/src/lib/analyse_audio_job.cc +++ b/src/lib/analyse_audio_job.cc @@ -84,7 +84,7 @@ AnalyseAudioJob::run () } void -AnalyseAudioJob::audio (shared_ptr b) +AnalyseAudioJob::audio (shared_ptr b) { for (int i = 0; i < b->frames(); ++i) { for (int j = 0; j < b->channels(); ++j) { diff --git a/src/lib/analyse_audio_job.h b/src/lib/analyse_audio_job.h index dc1e073ee..5435e0a7c 100644 --- a/src/lib/analyse_audio_job.h +++ b/src/lib/analyse_audio_job.h @@ -31,7 +31,7 @@ public: void run (); private: - void audio (boost::shared_ptr); + void audio (boost::shared_ptr); int64_t _done; int64_t _samples_per_point; diff --git a/src/lib/audio_sink.h b/src/lib/audio_sink.h index f34b24f88..69b3a4b75 100644 --- a/src/lib/audio_sink.h +++ b/src/lib/audio_sink.h @@ -24,14 +24,14 @@ class AudioSink { public: /** Call with some audio data */ - virtual void process_audio (boost::shared_ptr) = 0; + virtual void process_audio (boost::shared_ptr) = 0; }; class TimedAudioSink { public: /** Call with some audio data */ - virtual void process_audio (boost::shared_ptr, double t) = 0; + virtual void process_audio (boost::shared_ptr, double t) = 0; }; #endif diff --git a/src/lib/audio_source.h b/src/lib/audio_source.h index e255d566d..c13f1636b 100644 --- a/src/lib/audio_source.h +++ b/src/lib/audio_source.h @@ -35,7 +35,7 @@ class AudioSource { public: /** Emitted when some audio data is ready */ - boost::signals2::signal)> Audio; + boost::signals2::signal)> Audio; void connect_audio (boost::shared_ptr); }; @@ -46,7 +46,7 @@ class TimedAudioSource { public: /** Emitted when some audio data is ready */ - boost::signals2::signal, double)> Audio; + boost::signals2::signal, double)> Audio; void connect_audio (boost::shared_ptr); void connect_audio (boost::shared_ptr); diff --git a/src/lib/combiner.cc b/src/lib/combiner.cc index 0a9eaf6b6..250528aeb 100644 --- a/src/lib/combiner.cc +++ b/src/lib/combiner.cc @@ -33,9 +33,9 @@ Combiner::Combiner (shared_ptr log) * @param image Frame image. */ void -Combiner::process_video (shared_ptr image, bool, shared_ptr, double) +Combiner::process_video (shared_ptr image, bool, shared_ptr, double) { - _image = image; + _image = image->clone (); } /** Process video for the right half of the frame. @@ -43,7 +43,7 @@ Combiner::process_video (shared_ptr image, bool, shared_ptr, do * @param sub Subtitle (which will be put onto the whole frame) */ void -Combiner::process_video_b (shared_ptr image, bool, shared_ptr sub, double t) +Combiner::process_video_b (shared_ptr image, bool, shared_ptr sub, double t) { /* Copy the right half of this image into our _image */ /* XXX: this should probably be in the Image class */ diff --git a/src/lib/combiner.h b/src/lib/combiner.h index a8f1fa804..7ed316e26 100644 --- a/src/lib/combiner.h +++ b/src/lib/combiner.h @@ -33,8 +33,8 @@ class Combiner : public TimedVideoProcessor public: Combiner (boost::shared_ptr log); - void process_video (boost::shared_ptr i, bool, boost::shared_ptr s, double); - void process_video_b (boost::shared_ptr i, bool, boost::shared_ptr s, double); + void process_video (boost::shared_ptr i, bool, boost::shared_ptr s, double); + void process_video_b (boost::shared_ptr i, bool, boost::shared_ptr s, double); private: /** The image that we are currently working on */ diff --git a/src/lib/delay_line.cc b/src/lib/delay_line.cc index 9e6baeba8..b0180800a 100644 --- a/src/lib/delay_line.cc +++ b/src/lib/delay_line.cc @@ -37,7 +37,7 @@ DelayLine::DelayLine (shared_ptr log, double seconds) } void -DelayLine::process_audio (shared_ptr data, double t) +DelayLine::process_audio (shared_ptr data, double t) { if (_seconds > 0) { t += _seconds; @@ -47,7 +47,7 @@ DelayLine::process_audio (shared_ptr data, double t) } void -DelayLine::process_video (boost::shared_ptr image, bool same, boost::shared_ptr sub, double t) +DelayLine::process_video (shared_ptr image, bool same, boost::shared_ptr sub, double t) { if (_seconds < 0) { t += _seconds; diff --git a/src/lib/delay_line.h b/src/lib/delay_line.h index 90f1dcfa7..781dce88a 100644 --- a/src/lib/delay_line.h +++ b/src/lib/delay_line.h @@ -26,8 +26,8 @@ class DelayLine : public TimedAudioVideoProcessor public: DelayLine (boost::shared_ptr log, double); - void process_video (boost::shared_ptr, bool, boost::shared_ptr, double); - void process_audio (boost::shared_ptr, double); + void process_video (boost::shared_ptr, bool, boost::shared_ptr, double); + void process_audio (boost::shared_ptr, double); private: double _seconds; diff --git a/src/lib/encoder.cc b/src/lib/encoder.cc index 7b338407e..7a1eea069 100644 --- a/src/lib/encoder.cc +++ b/src/lib/encoder.cc @@ -231,7 +231,7 @@ Encoder::frame_done () } void -Encoder::process_video (shared_ptr image, bool same, boost::shared_ptr sub) +Encoder::process_video (shared_ptr image, bool same, boost::shared_ptr sub) { FrameRateConversion frc (_film->source_frame_rate(), _film->dcp_frame_rate()); @@ -294,7 +294,7 @@ Encoder::process_video (shared_ptr image, bool same, boost::shared_ptr data) +Encoder::process_audio (shared_ptr data) { #if HAVE_SWRESAMPLE /* Maybe sample-rate convert */ diff --git a/src/lib/encoder.h b/src/lib/encoder.h index 86880bc34..70e81a7e0 100644 --- a/src/lib/encoder.h +++ b/src/lib/encoder.h @@ -73,10 +73,10 @@ public: * @param same true if i is the same as the last time we were called. * @param s A subtitle that should be on this frame, or 0. */ - void process_video (boost::shared_ptr i, bool same, boost::shared_ptr s); + void process_video (boost::shared_ptr i, bool same, boost::shared_ptr s); /** Call with some audio data */ - void process_audio (boost::shared_ptr); + void process_audio (boost::shared_ptr); /** Called when a processing run has finished */ virtual void process_end (); diff --git a/src/lib/gain.cc b/src/lib/gain.cc index df7011d2e..ccd779d71 100644 --- a/src/lib/gain.cc +++ b/src/lib/gain.cc @@ -30,7 +30,7 @@ Gain::Gain (shared_ptr log, float gain) } void -Gain::process_audio (shared_ptr b) +Gain::process_audio (shared_ptr b) { if (_gain != 0) { float const linear_gain = pow (10, _gain / 20); diff --git a/src/lib/gain.h b/src/lib/gain.h index d462e5aee..61fef5e85 100644 --- a/src/lib/gain.h +++ b/src/lib/gain.h @@ -24,7 +24,7 @@ class Gain : public AudioProcessor public: Gain (boost::shared_ptr log, float gain); - void process_audio (boost::shared_ptr); + void process_audio (boost::shared_ptr); private: float _gain; diff --git a/src/lib/image.cc b/src/lib/image.cc index 2355d22e5..9bcbb87ab 100644 --- a/src/lib/image.cc +++ b/src/lib/image.cc @@ -583,6 +583,12 @@ SimpleImage::aligned () const return _aligned; } +shared_ptr +SimpleImage::clone () const +{ + return shared_ptr (new SimpleImage (*this)); +} + FilterBufferImage::FilterBufferImage (AVPixelFormat p, AVFilterBufferRef* b) : Image (p) , _buffer (b) diff --git a/src/lib/image.h b/src/lib/image.h index 6b9ade99e..31035d272 100644 --- a/src/lib/image.h +++ b/src/lib/image.h @@ -70,6 +70,8 @@ public: virtual bool aligned () const = 0; + virtual boost::shared_ptr clone () const = 0; + int components () const; int lines (int) const; @@ -118,6 +120,9 @@ private: /* Not allowed */ FilterBufferImage (FilterBufferImage const &); FilterBufferImage& operator= (FilterBufferImage const &); + boost::shared_ptr clone () const { + assert (false); + } AVFilterBufferRef* _buffer; int* _line_size; @@ -139,6 +144,7 @@ public: int * stride () const; libdcp::Size size () const; bool aligned () const; + boost::shared_ptr clone () const; protected: void allocate (); diff --git a/src/lib/matcher.cc b/src/lib/matcher.cc index dd0312f67..9924c003a 100644 --- a/src/lib/matcher.cc +++ b/src/lib/matcher.cc @@ -41,7 +41,7 @@ Matcher::Matcher (shared_ptr log, int sample_rate, float frames_per_second) } void -Matcher::process_video (boost::shared_ptr image, bool same, boost::shared_ptr sub, double t) +Matcher::process_video (boost::shared_ptr image, bool same, boost::shared_ptr sub, double t) { _pixel_format = image->pixel_format (); _size = image->size (); @@ -90,7 +90,7 @@ Matcher::process_video (boost::shared_ptr image, bool same, boost::shared } void -Matcher::process_audio (boost::shared_ptr b, double t) +Matcher::process_audio (boost::shared_ptr b, double t) { _channels = b->channels (); @@ -202,8 +202,9 @@ void Matcher::repeat_last_video () { if (!_last_image) { - _last_image.reset (new SimpleImage (_pixel_format.get(), _size.get(), true)); - _last_image->make_black (); + shared_ptr im (new SimpleImage (_pixel_format.get(), _size.get(), true)); + im->make_black (); + _last_image = im; } Video (_last_image, true, _last_subtitle); diff --git a/src/lib/matcher.h b/src/lib/matcher.h index f54aa4b6a..41aa373a4 100644 --- a/src/lib/matcher.h +++ b/src/lib/matcher.h @@ -25,8 +25,8 @@ class Matcher : public Processor, public TimedAudioSink, public TimedVideoSink, { public: Matcher (boost::shared_ptr log, int sample_rate, float frames_per_second); - void process_video (boost::shared_ptr i, bool, boost::shared_ptr s, double); - void process_audio (boost::shared_ptr, double); + void process_video (boost::shared_ptr i, bool, boost::shared_ptr s, double); + void process_audio (boost::shared_ptr, double); void process_end (); private: @@ -43,19 +43,19 @@ private: boost::optional _channels; struct AudioRecord { - AudioRecord (boost::shared_ptr a, double t) + AudioRecord (boost::shared_ptr a, double t) : audio (a) , time (t) {} - boost::shared_ptr audio; + boost::shared_ptr audio; double time; }; std::list _pending_audio; boost::optional _first_input; - boost::shared_ptr _last_image; + boost::shared_ptr _last_image; boost::shared_ptr _last_subtitle; bool _had_first_video; diff --git a/src/lib/trimmer.cc b/src/lib/trimmer.cc index 68364e50a..39ec44fcb 100644 --- a/src/lib/trimmer.cc +++ b/src/lib/trimmer.cc @@ -56,7 +56,7 @@ Trimmer::Trimmer ( } void -Trimmer::process_video (shared_ptr image, bool same, shared_ptr sub) +Trimmer::process_video (shared_ptr image, bool same, shared_ptr sub) { if (_video_in >= _video_start && _video_in <= _video_end) { Video (image, same, sub); @@ -66,7 +66,7 @@ Trimmer::process_video (shared_ptr image, bool same, shared_ptr } void -Trimmer::process_audio (shared_ptr audio) +Trimmer::process_audio (shared_ptr audio) { int64_t offset = _audio_start - _audio_in; if (offset > audio->frames()) { @@ -91,8 +91,10 @@ Trimmer::process_audio (shared_ptr audio) _audio_in += audio->frames (); if (offset != 0 || length != audio->frames ()) { - audio->move (offset, 0, length); - audio->set_frames (length); + shared_ptr copy (new AudioBuffers (audio)); + copy->move (offset, 0, length); + copy->set_frames (length); + audio = copy; } Audio (audio); diff --git a/src/lib/trimmer.h b/src/lib/trimmer.h index ff7e9514d..45b3f149a 100644 --- a/src/lib/trimmer.h +++ b/src/lib/trimmer.h @@ -24,8 +24,8 @@ class Trimmer : public AudioVideoProcessor public: Trimmer (boost::shared_ptr, int, int, int, int, float, int); - void process_video (boost::shared_ptr i, bool, boost::shared_ptr s); - void process_audio (boost::shared_ptr); + void process_video (boost::shared_ptr i, bool, boost::shared_ptr s); + void process_audio (boost::shared_ptr); private: friend class trimmer_test; diff --git a/src/lib/util.cc b/src/lib/util.cc index e43b598ab..859aa6de7 100644 --- a/src/lib/util.cc +++ b/src/lib/util.cc @@ -63,11 +63,24 @@ extern "C" { #include "i18n.h" -using namespace std; -using namespace boost; +using std::cout; +using std::string; +using std::stringstream; +using std::list; +using std::ostream; +using std::vector; +using std::ifstream; +using std::istream; +using std::min; +using std::max; +using std::multimap; +using std::pair; +using boost::shared_ptr; +using boost::lexical_cast; +using boost::optional; using libdcp::Size; -thread::id ui_thread; +boost::thread::id ui_thread; /** Convert some number of seconds to a string representation * in hours, minutes and seconds. @@ -87,9 +100,9 @@ seconds_to_hms (int s) stringstream hms; hms << h << N_(":"); hms.width (2); - hms << setfill ('0') << m << N_(":"); + hms << std::setfill ('0') << m << N_(":"); hms.width (2); - hms << setfill ('0') << s; + hms << std::setfill ('0') << s; return hms.str (); } @@ -185,7 +198,7 @@ stacktrace (ostream& out, int levels) if (strings) { for (i = 0; i < size && (levels == 0 || i < size_t(levels)); i++) { - out << N_(" ") << demangle (strings[i]) << endl; + out << N_(" ") << demangle (strings[i]) << "\n"; } free (strings); @@ -243,7 +256,7 @@ dvdomatic_setup () Filter::setup_filters (); SoundProcessor::setup_sound_processors (); - ui_thread = this_thread::get_id (); + ui_thread = boost::this_thread::get_id (); } #ifdef DVDOMATIC_WINDOWS @@ -338,7 +351,7 @@ md5_digest (void const * data, int size) stringstream s; for (int i = 0; i < MD5_DIGEST_LENGTH; ++i) { - s << hex << setfill('0') << setw(2) << ((int) digest[i]); + s << std::hex << std::setfill('0') << std::setw(2) << ((int) digest[i]); } return s.str (); @@ -350,14 +363,14 @@ md5_digest (void const * data, int size) string md5_digest (string file) { - ifstream f (file.c_str(), ios::binary); + ifstream f (file.c_str(), std::ios::binary); if (!f.good ()) { throw OpenFileError (file); } - f.seekg (0, ios::end); + f.seekg (0, std::ios::end); int bytes = f.tellg (); - f.seekg (0, ios::beg); + f.seekg (0, std::ios::beg); int const buffer_size = 64 * 1024; char buffer[buffer_size]; @@ -376,7 +389,7 @@ md5_digest (string file) stringstream s; for (int i = 0; i < MD5_DIGEST_LENGTH; ++i) { - s << hex << setfill('0') << setw(2) << ((int) digest[i]); + s << std::hex << std::setfill('0') << std::setw(2) << ((int) digest[i]); } return s.str (); @@ -441,8 +454,8 @@ best_dcp_frame_rate (float source_fps) } /* Pick the best one, bailing early if we hit an exact match */ - float error = numeric_limits::max (); - boost::optional best; + float error = std::numeric_limits::max (); + optional best; list::iterator i = candidates.begin(); while (i != candidates.end()) { @@ -509,16 +522,16 @@ Socket::Socket (int timeout) , _socket (_io_service) , _timeout (timeout) { - _deadline.expires_at (posix_time::pos_infin); + _deadline.expires_at (boost::posix_time::pos_infin); check (); } void Socket::check () { - if (_deadline.expires_at() <= asio::deadline_timer::traits_type::now ()) { + if (_deadline.expires_at() <= boost::asio::deadline_timer::traits_type::now ()) { _socket.close (); - _deadline.expires_at (posix_time::pos_infin); + _deadline.expires_at (boost::posix_time::pos_infin); } _deadline.async_wait (boost::bind (&Socket::check, this)); @@ -528,14 +541,14 @@ Socket::check () * @param endpoint End-point to connect to. */ void -Socket::connect (asio::ip::basic_resolver_entry const & endpoint) +Socket::connect (boost::asio::ip::basic_resolver_entry const & endpoint) { - _deadline.expires_from_now (posix_time::seconds (_timeout)); - system::error_code ec = asio::error::would_block; - _socket.async_connect (endpoint, lambda::var(ec) = lambda::_1); + _deadline.expires_from_now (boost::posix_time::seconds (_timeout)); + boost::system::error_code ec = boost::asio::error::would_block; + _socket.async_connect (endpoint, boost::lambda::var(ec) = boost::lambda::_1); do { _io_service.run_one(); - } while (ec == asio::error::would_block); + } while (ec == boost::asio::error::would_block); if (ec || !_socket.is_open ()) { throw NetworkError (_("connect timed out")); @@ -549,14 +562,14 @@ Socket::connect (asio::ip::basic_resolver_entry const & endpoint) void Socket::write (uint8_t const * data, int size) { - _deadline.expires_from_now (posix_time::seconds (_timeout)); - system::error_code ec = asio::error::would_block; + _deadline.expires_from_now (boost::posix_time::seconds (_timeout)); + boost::system::error_code ec = boost::asio::error::would_block; - asio::async_write (_socket, asio::buffer (data, size), lambda::var(ec) = lambda::_1); + boost::asio::async_write (_socket, boost::asio::buffer (data, size), boost::lambda::var(ec) = boost::lambda::_1); do { _io_service.run_one (); - } while (ec == asio::error::would_block); + } while (ec == boost::asio::error::would_block); if (ec) { throw NetworkError (ec.message ()); @@ -577,14 +590,14 @@ Socket::write (uint32_t v) void Socket::read (uint8_t* data, int size) { - _deadline.expires_from_now (posix_time::seconds (_timeout)); - system::error_code ec = asio::error::would_block; + _deadline.expires_from_now (boost::posix_time::seconds (_timeout)); + boost::system::error_code ec = boost::asio::error::would_block; - asio::async_read (_socket, asio::buffer (data, size), lambda::var(ec) = lambda::_1); + boost::asio::async_read (_socket, boost::asio::buffer (data, size), boost::lambda::var(ec) = boost::lambda::_1); do { _io_service.run_one (); - } while (ec == asio::error::would_block); + } while (ec == boost::asio::error::would_block); if (ec) { throw NetworkError (ec.message ()); @@ -761,6 +774,21 @@ AudioBuffers::AudioBuffers (AudioBuffers const & other) } } +/* XXX: it's a shame that this is a copy-and-paste of the above; + probably fixable with c++0x. +*/ +AudioBuffers::AudioBuffers (boost::shared_ptr other) + : _channels (other->_channels) + , _frames (other->_frames) + , _allocated_frames (other->_frames) +{ + _data = new float*[_channels]; + for (int i = 0; i < _channels; ++i) { + _data[i] = new float[_frames]; + memcpy (_data[i], other->_data[i], _frames * sizeof (float)); + } +} + /** AudioBuffers destructor */ AudioBuffers::~AudioBuffers () { @@ -865,7 +893,7 @@ AudioBuffers::move (int from, int to, int frames) void ensure_ui_thread () { - assert (this_thread::get_id() == ui_thread); + assert (boost::this_thread::get_id() == ui_thread); } /** @param v Source video frame. diff --git a/src/lib/util.h b/src/lib/util.h index 31d0fc967..99670110e 100644 --- a/src/lib/util.h +++ b/src/lib/util.h @@ -241,6 +241,7 @@ class AudioBuffers public: AudioBuffers (int channels, int frames); AudioBuffers (AudioBuffers const &); + AudioBuffers (boost::shared_ptr); ~AudioBuffers (); float** data () const { diff --git a/src/lib/video_sink.h b/src/lib/video_sink.h index 32c7f3b38..0170c7350 100644 --- a/src/lib/video_sink.h +++ b/src/lib/video_sink.h @@ -34,7 +34,7 @@ public: * @param same true if i is the same as last time we were called. * @param s A subtitle that should be on this frame, or 0. */ - virtual void process_video (boost::shared_ptr i, bool same, boost::shared_ptr s) = 0; + virtual void process_video (boost::shared_ptr i, bool same, boost::shared_ptr s) = 0; }; class TimedVideoSink @@ -46,7 +46,7 @@ public: * @param s A subtitle that should be on this frame, or 0. * @param t Source timestamp. */ - virtual void process_video (boost::shared_ptr i, bool same, boost::shared_ptr s, double t) = 0; + virtual void process_video (boost::shared_ptr i, bool same, boost::shared_ptr s, double t) = 0; }; #endif diff --git a/src/lib/video_source.h b/src/lib/video_source.h index e4a8ab058..748cb6fe9 100644 --- a/src/lib/video_source.h +++ b/src/lib/video_source.h @@ -45,7 +45,7 @@ public: * Second parameter is true if the image is the same as the last one that was emitted. * Third parameter is either 0 or a subtitle that should be on this frame. */ - boost::signals2::signal, bool, boost::shared_ptr)> Video; + boost::signals2::signal, bool, boost::shared_ptr)> Video; void connect_video (boost::shared_ptr); }; @@ -63,7 +63,7 @@ public: * Third parameter is either 0 or a subtitle that should be on this frame. * Fourth parameter is the source timestamp of this frame. */ - boost::signals2::signal, bool, boost::shared_ptr, double)> Video; + boost::signals2::signal, bool, boost::shared_ptr, double)> Video; void connect_video (boost::shared_ptr); void connect_video (boost::shared_ptr); diff --git a/src/tools/servomatictest.cc b/src/tools/servomatictest.cc index f5756c693..5e1cf49b4 100644 --- a/src/tools/servomatictest.cc +++ b/src/tools/servomatictest.cc @@ -47,7 +47,7 @@ static shared_ptr log_ (new FileLog ("servomatictest.log")); static int frame = 0; void -process_video (shared_ptr image, bool, shared_ptr sub) +process_video (shared_ptr image, bool, shared_ptr sub) { shared_ptr local ( new DCPVideoFrame ( diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc index 8508ec2a2..4f2985a06 100644 --- a/src/wx/film_viewer.cc +++ b/src/wx/film_viewer.cc @@ -308,7 +308,7 @@ FilmViewer::raw_to_display () return; } - boost::shared_ptr input = _raw_frame; + boost::shared_ptr input = _raw_frame; pair const s = Filter::ffmpeg_strings (_film->filters()); if (!s.second.empty ()) { @@ -400,7 +400,7 @@ FilmViewer::check_play_state () } void -FilmViewer::process_video (shared_ptr image, bool, shared_ptr sub, double t) +FilmViewer::process_video (shared_ptr image, bool, shared_ptr sub, double t) { _raw_frame = image; _raw_sub = sub; diff --git a/src/wx/film_viewer.h b/src/wx/film_viewer.h index a78c772a4..ed5874fbc 100644 --- a/src/wx/film_viewer.h +++ b/src/wx/film_viewer.h @@ -48,7 +48,7 @@ private: void slider_moved (wxScrollEvent &); void play_clicked (wxCommandEvent &); void timer (wxTimerEvent &); - void process_video (boost::shared_ptr, bool, boost::shared_ptr, double); + void process_video (boost::shared_ptr, bool, boost::shared_ptr, double); void calculate_sizes (); void check_play_state (); void update_from_raw (); @@ -72,9 +72,9 @@ private: wxTimer _timer; Decoders _decoders; - boost::shared_ptr _raw_frame; + boost::shared_ptr _raw_frame; boost::shared_ptr _raw_sub; - boost::shared_ptr _display_frame; + boost::shared_ptr _display_frame; /* The x offset at which we display the actual film content; this corresponds to the film's padding converted to our coordinates. */ diff --git a/test/test.cc b/test/test.cc index 595d8fc93..496c91519 100644 --- a/test/test.cc +++ b/test/test.cc @@ -123,17 +123,17 @@ BOOST_AUTO_TEST_CASE (make_black_test) } } -shared_ptr trimmer_test_last_video; -shared_ptr trimmer_test_last_audio; +shared_ptr trimmer_test_last_video; +shared_ptr trimmer_test_last_audio; void -trimmer_test_video_helper (shared_ptr image, bool, shared_ptr) +trimmer_test_video_helper (shared_ptr image, bool, shared_ptr) { trimmer_test_last_video = image; } void -trimmer_test_audio_helper (shared_ptr audio) +trimmer_test_audio_helper (shared_ptr audio) { trimmer_test_last_audio = audio; } -- cgit v1.2.3 From 9c591cc25317fa7f8eac7bd7ca36a741a519e5d0 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 24 Apr 2013 01:18:49 +0100 Subject: Hack around no-trim altering the ends of encodes. --- src/lib/trimmer.cc | 14 +++++++++++++- src/lib/trimmer.h | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) (limited to 'src/lib') diff --git a/src/lib/trimmer.cc b/src/lib/trimmer.cc index 39ec44fcb..0746b7410 100644 --- a/src/lib/trimmer.cc +++ b/src/lib/trimmer.cc @@ -53,12 +53,19 @@ Trimmer::Trimmer ( _audio_start = video_frames_to_audio_frames (_video_start, audio_sample_rate, frames_per_second); _audio_end = video_frames_to_audio_frames (_video_end, audio_sample_rate, frames_per_second); } + + /* XXX: this is a hack; this flag means that no trim is happening at the end of the film, and I'm + using that to prevent audio trim being rounded to video trim, which breaks the current set + of regression tests. This could be removed if a) the regression tests are regenerated and b) + I can work out what DCP length should be. + */ + _no_trim = (_video_start == 0) && (_video_end == (video_length - video_trim_end)); } void Trimmer::process_video (shared_ptr image, bool same, shared_ptr sub) { - if (_video_in >= _video_start && _video_in <= _video_end) { + if (_no_trim || (_video_in >= _video_start && _video_in <= _video_end)) { Video (image, same, sub); } @@ -68,6 +75,11 @@ Trimmer::process_video (shared_ptr image, bool same, shared_ptr audio) { + if (_no_trim) { + Audio (audio); + return; + } + int64_t offset = _audio_start - _audio_in; if (offset > audio->frames()) { _audio_in += audio->frames (); diff --git a/src/lib/trimmer.h b/src/lib/trimmer.h index 45b3f149a..98a118fb2 100644 --- a/src/lib/trimmer.h +++ b/src/lib/trimmer.h @@ -36,4 +36,5 @@ private: int64_t _audio_start; int64_t _audio_end; int64_t _audio_in; + bool _no_trim; }; -- cgit v1.2.3 From 6aa1a3e3808319d26659d3008a83f79f695fb6b2 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 24 Apr 2013 16:28:16 +0100 Subject: Try to fix crash with still-image DCPs. --- src/lib/transcoder.cc | 2 +- src/lib/trimmer.cc | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'src/lib') diff --git a/src/lib/transcoder.cc b/src/lib/transcoder.cc index a10789e11..4d3f29e83 100644 --- a/src/lib/transcoder.cc +++ b/src/lib/transcoder.cc @@ -66,7 +66,7 @@ Transcoder::Transcoder (shared_ptr f, DecodeOptions o, Job* j, shared_ptr< int const trim_start = f->trim_type() == Film::ENCODE ? f->trim_start() : 0; int const trim_end = f->trim_type() == Film::ENCODE ? f->trim_end() : 0; _trimmer.reset (new Trimmer ( - f->log(), trim_start, trim_end, f->length().get(), + f->log(), trim_start, trim_end, f->length().get_value_or(0), sr, f->source_frame_rate(), f->dcp_frame_rate() )); diff --git a/src/lib/trimmer.cc b/src/lib/trimmer.cc index 0746b7410..b7afc9299 100644 --- a/src/lib/trimmer.cc +++ b/src/lib/trimmer.cc @@ -28,7 +28,8 @@ using boost::shared_ptr; Trimmer::Trimmer ( shared_ptr log, int video_trim_start, - int video_trim_end, int video_length, + int video_trim_end, + int video_length, int audio_sample_rate, float frames_per_second, int dcp_frames_per_second -- cgit v1.2.3 From 7b2ec1dd69951649f2c912fcf90b22913b1f6c3a Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 25 Apr 2013 13:44:02 +0100 Subject: Remove Image::clone in favour of a copy constructor for SimpleImage; clean up A/B transcoder slightly; fix combiner if image strides differ; try to fix problems when destroying Encoders; fix SimpleImage copy constructor to cope with aligned images; don't call encoder::process_end if the encode throws an exception. --- src/lib/ab_transcoder.cc | 14 +++++--------- src/lib/combiner.cc | 7 +++---- src/lib/encoder.cc | 4 +++- src/lib/image.cc | 34 +++++++++++++++++++++++++++------- src/lib/image.h | 7 +------ src/lib/transcoder.cc | 37 ++++++++++++++++--------------------- 6 files changed, 55 insertions(+), 48 deletions(-) (limited to 'src/lib') diff --git a/src/lib/ab_transcoder.cc b/src/lib/ab_transcoder.cc index 26643b50e..d8f13dae4 100644 --- a/src/lib/ab_transcoder.cc +++ b/src/lib/ab_transcoder.cc @@ -122,25 +122,21 @@ ABTranscoder::go () } else { done[2] = true; } - + if (_job) { _da.video->set_progress (_job); } - + if (done[0] && done[1] && done[2]) { break; } } - - if (_delay_line) { - _delay_line->process_end (); - } + + _delay_line->process_end (); if (_matcher) { _matcher->process_end (); } - if (_gain) { - _gain->process_end (); - } + _gain->process_end (); _encoder->process_end (); } diff --git a/src/lib/combiner.cc b/src/lib/combiner.cc index 250528aeb..367cefa7f 100644 --- a/src/lib/combiner.cc +++ b/src/lib/combiner.cc @@ -35,7 +35,7 @@ Combiner::Combiner (shared_ptr log) void Combiner::process_video (shared_ptr image, bool, shared_ptr, double) { - _image = image->clone (); + _image.reset (new SimpleImage (image)); } /** Process video for the right half of the frame. @@ -50,15 +50,14 @@ Combiner::process_video_b (shared_ptr image, bool, shared_ptrcomponents(); ++i) { int const line_size = image->line_size()[i]; int const half_line_size = line_size / 2; - int const stride = image->stride()[i]; uint8_t* p = _image->data()[i]; uint8_t* q = image->data()[i]; for (int j = 0; j < image->lines (i); ++j) { memcpy (p + half_line_size, q + half_line_size, half_line_size); - p += stride; - q += stride; + p += _image->stride()[i]; + q += image->stride()[i]; } } diff --git a/src/lib/encoder.cc b/src/lib/encoder.cc index 7a1eea069..cff9899ac 100644 --- a/src/lib/encoder.cc +++ b/src/lib/encoder.cc @@ -333,7 +333,9 @@ Encoder::terminate_threads () lock.unlock (); for (list::iterator i = _threads.begin(); i != _threads.end(); ++i) { - (*i)->join (); + if ((*i)->joinable ()) { + (*i)->join (); + } delete *i; } } diff --git a/src/lib/image.cc b/src/lib/image.cc index 9bcbb87ab..1be41fecf 100644 --- a/src/lib/image.cc +++ b/src/lib/image.cc @@ -509,7 +509,33 @@ SimpleImage::SimpleImage (SimpleImage const & other) allocate (); for (int i = 0; i < components(); ++i) { - memcpy (_data[i], other._data[i], _line_size[i] * lines(i)); + uint8_t* p = _data[i]; + uint8_t* q = other._data[i]; + for (int j = 0; j < lines(i); ++j) { + memcpy (p, q, _line_size[i]); + p += stride()[i]; + q += other.stride()[i]; + } + } +} + +SimpleImage::SimpleImage (shared_ptr other) + : Image (*other.get()) +{ + _size = other->size (); + _aligned = true; + + allocate (); + + for (int i = 0; i < components(); ++i) { + assert(line_size()[i] == other->line_size()[i]); + uint8_t* p = _data[i]; + uint8_t* q = other->data()[i]; + for (int j = 0; j < lines(i); ++j) { + memcpy (p, q, line_size()[i]); + p += stride()[i]; + q += other->stride()[i]; + } } } @@ -583,12 +609,6 @@ SimpleImage::aligned () const return _aligned; } -shared_ptr -SimpleImage::clone () const -{ - return shared_ptr (new SimpleImage (*this)); -} - FilterBufferImage::FilterBufferImage (AVPixelFormat p, AVFilterBufferRef* b) : Image (p) , _buffer (b) diff --git a/src/lib/image.h b/src/lib/image.h index 31035d272..62961a92e 100644 --- a/src/lib/image.h +++ b/src/lib/image.h @@ -70,8 +70,6 @@ public: virtual bool aligned () const = 0; - virtual boost::shared_ptr clone () const = 0; - int components () const; int lines (int) const; @@ -120,9 +118,6 @@ private: /* Not allowed */ FilterBufferImage (FilterBufferImage const &); FilterBufferImage& operator= (FilterBufferImage const &); - boost::shared_ptr clone () const { - assert (false); - } AVFilterBufferRef* _buffer; int* _line_size; @@ -136,6 +131,7 @@ class SimpleImage : public Image public: SimpleImage (AVPixelFormat, libdcp::Size, bool); SimpleImage (SimpleImage const &); + SimpleImage (boost::shared_ptr); SimpleImage& operator= (SimpleImage const &); ~SimpleImage (); @@ -144,7 +140,6 @@ public: int * stride () const; libdcp::Size size () const; bool aligned () const; - boost::shared_ptr clone () const; protected: void allocate (); diff --git a/src/lib/transcoder.cc b/src/lib/transcoder.cc index 4d3f29e83..faafcaf8b 100644 --- a/src/lib/transcoder.cc +++ b/src/lib/transcoder.cc @@ -103,31 +103,26 @@ void Transcoder::go () { _encoder->process_begin (); - try { - bool done[2] = { false, false }; - - while (1) { - if (!done[0]) { - done[0] = _decoders.video->pass (); - if (_job) { - _decoders.video->set_progress (_job); - } - } - - if (!done[1] && _decoders.audio && dynamic_pointer_cast (_decoders.audio) != dynamic_pointer_cast (_decoders.video)) { - done[1] = _decoders.audio->pass (); - } else { - done[1] = true; - } - if (done[0] && done[1]) { - break; + bool done[2] = { false, false }; + + while (1) { + if (!done[0]) { + done[0] = _decoders.video->pass (); + if (_job) { + _decoders.video->set_progress (_job); } } - } catch (...) { - _encoder->process_end (); - throw; + if (!done[1] && _decoders.audio && dynamic_pointer_cast (_decoders.audio) != dynamic_pointer_cast (_decoders.video)) { + done[1] = _decoders.audio->pass (); + } else { + done[1] = true; + } + + if (done[0] && done[1]) { + break; + } } _delay_line->process_end (); -- cgit v1.2.3