diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/image_content.cc | 6 | ||||
| -rw-r--r-- | src/lib/job.cc | 4 | ||||
| -rw-r--r-- | src/lib/piece.h | 43 | ||||
| -rw-r--r-- | src/lib/player.h | 29 | ||||
| -rw-r--r-- | src/lib/po/es_ES.po | 178 | ||||
| -rw-r--r-- | src/lib/po/fr_FR.po | 2 | ||||
| -rw-r--r-- | src/lib/util.cc | 2 |
7 files changed, 151 insertions, 113 deletions
diff --git a/src/lib/image_content.cc b/src/lib/image_content.cc index d7b37a835..56c83d3f7 100644 --- a/src/lib/image_content.cc +++ b/src/lib/image_content.cc @@ -44,7 +44,11 @@ ImageContent::ImageContent (shared_ptr<const Film> f, boost::filesystem::path p) _paths.push_back (i->path ()); } } - + + if (_paths.empty()) { + throw FileError (_("No valid image files were found in the folder."), p); + } + sort (_paths.begin(), _paths.end()); } } diff --git a/src/lib/job.cc b/src/lib/job.cc index 3639e5283..c6a6b90a8 100644 --- a/src/lib/job.cc +++ b/src/lib/job.cc @@ -110,7 +110,7 @@ Job::run_wrapper () set_error ( e.what (), - _("It is not known what caused this error. The best idea is to report the problem to the DCP-o-matic mailing list (carl@dcpomatic.com)") + _("It is not known what caused this error. Please report the problem to the DCP-o-matic author (carl@dcpomatic.com).") ); set_progress (1); @@ -120,7 +120,7 @@ Job::run_wrapper () set_error ( _("Unknown error"), - _("It is not known what caused this error. The best idea is to report the problem to the DCP-o-matic mailing list (carl@dcpomatic.com)") + _("It is not known what caused this error. Please report the problem to the DCP-o-matic author (carl@dcpomatic.com).") ); set_progress (1); diff --git a/src/lib/piece.h b/src/lib/piece.h new file mode 100644 index 000000000..976409381 --- /dev/null +++ b/src/lib/piece.h @@ -0,0 +1,43 @@ +/* + Copyright (C) 2013-2014 Carl Hetherington <cth@carlh.net> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#ifndef DCPOMATIC_PIECE_H +#define DCPOMATIC_PIECE_H + +#include "types.h" +#include "video_content.h" + +class Content; +class Decoder; + +class Piece +{ +public: + Piece (boost::shared_ptr<Content> c, boost::shared_ptr<Decoder> d, FrameRateChange f) + : content (c) + , decoder (d) + , frc (f) + {} + + boost::shared_ptr<Content> content; + boost::shared_ptr<Decoder> decoder; + FrameRateChange frc; +}; + +#endif diff --git a/src/lib/player.h b/src/lib/player.h index d83045ab1..62ba89e6c 100644 --- a/src/lib/player.h +++ b/src/lib/player.h @@ -31,6 +31,7 @@ #include "dcpomatic_time.h" #include "content_subtitle.h" #include "position_image.h" +#include "piece.h" class Job; class Film; @@ -73,18 +74,26 @@ public: void dump (boost::shared_ptr<Log>) const; }; -class Piece +/** A wrapper for an Image which contains some pending operations; these may + * not be necessary if the receiver of the PlayerImage throws it away. + */ +class PlayerImage { public: - Piece (boost::shared_ptr<Content> c, boost::shared_ptr<Decoder> d, FrameRateChange f) - : content (c) - , decoder (d) - , frc (f) - {} - - boost::shared_ptr<Content> content; - boost::shared_ptr<Decoder> decoder; - FrameRateChange frc; + PlayerImage (boost::shared_ptr<const Image>, Crop, dcp::Size, dcp::Size, Scaler const *); + + void set_subtitle (boost::shared_ptr<const Image>, Position<int>); + + boost::shared_ptr<Image> image (); + +private: + boost::shared_ptr<const Image> _in; + Crop _crop; + dcp::Size _inter_size; + dcp::Size _out_size; + Scaler const * _scaler; + boost::shared_ptr<const Image> _subtitle_image; + Position<int> _subtitle_position; }; /** @class Player diff --git a/src/lib/po/es_ES.po b/src/lib/po/es_ES.po index 5144bbb0f..337185c5f 100644 --- a/src/lib/po/es_ES.po +++ b/src/lib/po/es_ES.po @@ -8,35 +8,34 @@ msgstr "" "Project-Id-Version: LIBDCPOMATIC\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-03-31 16:10+0100\n" -"PO-Revision-Date: 2013-11-09 03:09-0500\n" +"PO-Revision-Date: 2014-04-20 10:12-0500\n" "Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n" "Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n" -"Language: es-ES\n" +"Language: es_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.5.7\n" +"X-Generator: Poedit 1.6.4\n" #: src/lib/sndfile_content.cc:62 msgid "%1 [audio]" -msgstr "" +msgstr "%1 [audio]" #: src/lib/ffmpeg_content.cc:207 msgid "%1 [movie]" -msgstr "" +msgstr "%1 [película]" #: src/lib/sndfile_content.cc:83 msgid "%1 channels, %2kHz, %3 samples" -msgstr "" +msgstr "%1 canales, %2kHz, %3 muestras" #: src/lib/ffmpeg_content.cc:242 -#, fuzzy msgid "%1 frames; %2 frames per second" -msgstr "fotogramas por segundo" +msgstr "%1 imágenes; %2 imágenes per second" #: src/lib/video_content.cc:205 msgid "%1x%2 pixels (%3:1)" -msgstr "" +msgstr "%1x%2 pixels (%3:1)" #: src/lib/ratio.cc:35 msgid "1.19" @@ -60,7 +59,7 @@ msgstr "reducción de ruido 3D" #: src/lib/ratio.cc:36 msgid "4:3" -msgstr "" +msgstr "4:3" #: src/lib/ratio.cc:37 msgid "Academy" @@ -75,9 +74,8 @@ msgid "An error occurred whilst handling the file %1." msgstr "Ha ocurrido un error con el fichero %1." #: src/lib/analyse_audio_job.cc:48 -#, fuzzy msgid "Analyse audio" -msgstr "Analizar audio de %1" +msgstr "Analizar audio" #: src/lib/scaler.cc:64 msgid "Area" @@ -105,79 +103,77 @@ msgstr "Centro" #: src/lib/writer.cc:77 msgid "Checking existing image data" -msgstr "" +msgstr "Comprobando las imágenes existentes" #: src/lib/writer.cc:460 msgid "Computing audio digest" -msgstr "" +msgstr "Calculando la firma resumen del audio" #: src/lib/image_content.cc:100 msgid "Computing digest" -msgstr "" +msgstr "Calculando la firma resumen" #: src/lib/writer.cc:456 msgid "Computing image digest" -msgstr "" +msgstr "Calculando la firma resumen de imagen" #: src/lib/util.cc:838 -#, fuzzy msgid "Content and DCP have the same rate.\n" msgstr "La fuente y el DCP tienen la misma velocidad.\n" #: src/lib/audio_content.cc:82 msgid "Content to be joined must have the same audio delay." -msgstr "" +msgstr "Para unir contenido debe tener el mismo retardo de audio." #: src/lib/audio_content.cc:78 msgid "Content to be joined must have the same audio gain." -msgstr "" +msgstr "Para unir contenido debe tener la misma ganancia de audio." #: src/lib/video_content.cc:140 msgid "Content to be joined must have the same colour conversion." -msgstr "" +msgstr "Para unir contenido debe tener la misma conversión de color." #: src/lib/video_content.cc:132 msgid "Content to be joined must have the same crop." -msgstr "" +msgstr "Para unir contenido debe tener el mismo recorte." #: src/lib/video_content.cc:120 msgid "Content to be joined must have the same picture size." -msgstr "" +msgstr "Para unir contenido debe tener el mismo tamaño de imagen." #: src/lib/video_content.cc:136 -#, fuzzy msgid "Content to be joined must have the same scale setting." -msgstr "La fuente y el DCP tienen la misma velocidad." +msgstr "Para unir contenido debe tener la misma redimensión." #: src/lib/subtitle_content.cc:74 -#, fuzzy msgid "Content to be joined must have the same subtitle X offset." -msgstr "La fuente y el DCP tienen la misma velocidad." +msgstr "" +"Para unir contenido debe tener el mismo desplazamiento de subtítulo en X." #: src/lib/subtitle_content.cc:78 -#, fuzzy msgid "Content to be joined must have the same subtitle Y offset." -msgstr "La fuente y el DCP tienen la misma velocidad." +msgstr "" +"Para unir contenido debe tener el mismo desplazamiento de subtítulo en Y." #: src/lib/subtitle_content.cc:82 msgid "Content to be joined must have the same subtitle scale." -msgstr "" +msgstr "Para unir contenido debe tener el mismo tamaño de subtítulo." #: src/lib/video_content.cc:124 msgid "Content to be joined must have the same video frame rate." -msgstr "" +msgstr "Para unir contenido debe tener la misma velocidad de imagen." #: src/lib/video_content.cc:128 msgid "Content to be joined must have the same video frame type." -msgstr "" +msgstr "Para unir contenido debe tener el mismo tamaño de imagen." #: src/lib/ffmpeg_content.cc:112 msgid "Content to be joined must use the same audio stream." -msgstr "" +msgstr "Para unir contenido debe usar el mismo tipo de audio." #: src/lib/ffmpeg_content.cc:108 msgid "Content to be joined must use the same subtitle stream." -msgstr "" +msgstr "Para unir contenido debe tener el mismo tipo de subtítulos." #: src/lib/scp_dcp_job.cc:110 msgid "Copy DCP to TMS" @@ -192,18 +188,16 @@ msgid "Could not create remote directory %1 (%2)" msgstr "No se pudo crear la carpeta remota %1 (%2)" #: src/lib/job.cc:90 -#, fuzzy msgid "Could not open %1" -msgstr "no se pudo abrir el fichero %1" +msgstr "No se pudo abrir %1" #: src/lib/scp_dcp_job.cc:182 msgid "Could not open %1 to send" msgstr "No se pudo abrir %1 para enviar" #: src/lib/internet.cc:72 -#, fuzzy msgid "Could not open downloaded ZIP file" -msgstr "no se pudo abrir el fichero %1" +msgstr "No se puedo abrir el fichero ZIP descargado" #: src/lib/film.cc:990 msgid "Could not read DCP to make KDM for" @@ -218,14 +212,12 @@ msgid "Could not write to remote file (%1)" msgstr "No se pudo escribir el fichero remoto (%1)" #: src/lib/util.cc:850 -#, fuzzy msgid "DCP will run at %1%% of the content speed.\n" msgstr "El DCP se reproducirá al %1%% de la velocidad de la fuente.\n" #: src/lib/util.cc:841 -#, fuzzy msgid "DCP will use every other frame of the content.\n" -msgstr "El DCP usará fotogramas alternos de la fuente.\n" +msgstr "El DCP usará imágenes alternas de la fuente.\n" #: src/lib/job.cc:91 msgid "" @@ -238,7 +230,7 @@ msgstr "" #: src/lib/ffmpeg_content.cc:89 msgid "" "DCP-o-matic no longer supports the `%1' filter, so it has been turned off." -msgstr "" +msgstr "DCP-o-matic ya no ofrece el filtro `%1', así que ha sido desactivado." #: src/lib/filter.cc:65 src/lib/filter.cc:66 src/lib/filter.cc:67 msgid "De-interlacing" @@ -255,33 +247,38 @@ msgid "" "Best regards,\n" "DCP-o-matic" msgstr "" +"Estimado proyeccionista\n" +"\n" +"Adjuntas encontrará las llaves KDM para $CPL_NAME.\n" +"\n" +"Estas llaves KDM son válidas desde $START_TIME hasta $END_TIME.\n" +"\n" +"Atentamente,\n" +"DCP-o-matic" #: src/lib/dolby_cp750.cc:27 -#, fuzzy msgid "Dolby CP650 and CP750" -msgstr "Dolby CP750" +msgstr "Dolby CP650 and CP750" #: src/lib/internet.cc:65 msgid "Download failed (%1/%2 error %3)" -msgstr "" +msgstr "Descarga fallida (%1/%2 error %3)" #: src/lib/util.cc:843 -#, fuzzy msgid "Each content frame will be doubled in the DCP.\n" -msgstr "Se doblará cada fotograma de la fuente en el DCP.\n" +msgstr "Se doblará cada imagen en el DCP.\n" #: src/lib/util.cc:845 -#, fuzzy msgid "Each content frame will be repeated %1 more times in the DCP.\n" -msgstr "Se doblará cada fotograma de la fuente en el DCP.\n" +msgstr "Cada imagen será repetida otras %1 veces en el DCP.\n" #: src/lib/send_kdm_email_job.cc:50 msgid "Email KDMs for %1" -msgstr "" +msgstr "Enviar por email las KDM para %1" #: src/lib/writer.cc:120 msgid "Encoding image data" -msgstr "" +msgstr "Codificando imagen" #: src/lib/job.cc:320 msgid "Error (%1)" @@ -309,7 +306,7 @@ msgstr "Flat" #: src/lib/ratio.cc:43 msgid "Full frame" -msgstr "" +msgstr "Frame completo" #: src/lib/scaler.cc:65 msgid "Gaussian" @@ -321,7 +318,7 @@ msgstr "Gradient debander" #: src/lib/util.cc:806 msgid "Hearing impaired" -msgstr "" +msgstr "Sordos" #: src/lib/filter.cc:71 msgid "High quality 3D denoiser" @@ -349,12 +346,11 @@ msgstr "Izquierda" #: src/lib/util.cc:808 msgid "Left centre" -msgstr "" +msgstr "Centro izquierda" #: src/lib/util.cc:810 -#, fuzzy msgid "Left rear surround" -msgstr "Surround izquierda" +msgstr "Surround trasero izquierda" #: src/lib/util.cc:804 msgid "Left surround" @@ -362,7 +358,7 @@ msgstr "Surround izquierda" #: src/lib/util.cc:803 msgid "Lfe (sub)" -msgstr "" +msgstr "Lfe (bajos)" #: src/lib/filter.cc:68 src/lib/filter.cc:69 src/lib/filter.cc:72 msgid "Misc" @@ -374,12 +370,11 @@ msgstr "Motion compensating deinterlacer" #: src/lib/video_content.cc:447 msgid "No scale" -msgstr "" +msgstr "No redimensionar" #: src/lib/video_content.cc:444 -#, fuzzy msgid "No stretch" -msgstr "Flat sin deformación" +msgstr "Sin deformación" #: src/lib/filter.cc:70 src/lib/filter.cc:71 src/lib/filter.cc:73 msgid "Noise reduction" @@ -392,14 +387,15 @@ msgstr "OK (ejecución %1)" #: src/lib/content.cc:100 msgid "Only the first piece of content to be joined can have a start trim." msgstr "" +"Solo la primera pieza a ser unida puede tener un recorte en su comienzo." #: src/lib/content.cc:104 msgid "Only the last piece of content to be joined can have an end trim." -msgstr "" +msgstr "Solo la última pieza a ser unida puede tener un recorte en su final." #: src/lib/job.cc:103 msgid "Out of memory" -msgstr "" +msgstr "Falta de memoria" #: src/lib/filter.cc:73 msgid "Overcomplete wavelet denoiser" @@ -418,9 +414,8 @@ msgid "Rating" msgstr "Clasificación" #: src/lib/config.cc:84 src/lib/config.cc:168 -#, fuzzy msgid "Rec. 709" -msgstr "Rec 709" +msgstr "Rec. 709" #: src/lib/util.cc:801 msgid "Right" @@ -428,12 +423,11 @@ msgstr "Derecha" #: src/lib/util.cc:809 msgid "Right centre" -msgstr "" +msgstr "Centro derecha" #: src/lib/util.cc:811 -#, fuzzy msgid "Right rear surround" -msgstr "Surround derecha" +msgstr "Surround trasero derecha" #: src/lib/util.cc:805 msgid "Right surround" @@ -481,15 +475,14 @@ msgstr "" #: src/lib/job.cc:103 msgid "There was not enough memory to do this." -msgstr "" +msgstr "No hubo suficiente memoria para hacer esto." #: src/lib/film.cc:406 -#, fuzzy msgid "" "This film was created with a newer version of DCP-o-matic, and it cannot be " "loaded into this version. Sorry!" msgstr "" -"Esta película se creó con una versión antigua de DCP-o-matic, y " +"Esta película se creó con una versión más reciente de DCP-o-matic, y " "desgraciadamente no s puede cargar. Necesitas crear una nueva película, " "volver a añadir y configurar ton contenido. ¡Lo siento!" @@ -517,7 +510,7 @@ msgstr "Transitional" #: src/lib/internet.cc:77 msgid "Unexpected ZIP file contents" -msgstr "" +msgstr "Contenidos inesperados del fichero ZIP" #: src/lib/job.cc:120 msgid "Unknown error" @@ -537,7 +530,7 @@ msgstr "Sin título" #: src/lib/util.cc:807 msgid "Visually impaired" -msgstr "" +msgstr "Ciegos" #: src/lib/scp_dcp_job.cc:102 msgid "Waiting" @@ -557,12 +550,11 @@ msgstr "Tienes que añadir contenido al DCP antes de crearlo." #: src/lib/image_content.cc:68 msgid "[moving images]" -msgstr "" +msgstr "[imágenes en movimiento]" #: src/lib/image_content.cc:66 -#, fuzzy msgid "[still]" -msgstr "imagen fija" +msgstr "[imagen fija]" #: src/lib/film.cc:247 msgid "cannot contain slashes" @@ -577,9 +569,8 @@ msgid "connecting" msgstr "conectando" #: src/lib/film.cc:295 -#, fuzzy msgid "container" -msgstr "contenido" +msgstr "continente" #: src/lib/film.cc:303 msgid "content type" @@ -590,9 +581,8 @@ msgid "copying %1" msgstr "copiando %1" #: src/lib/exceptions.cc:36 -#, fuzzy msgid "could not create file %1" -msgstr "No se pudo escribir el fichero remoto (%1)" +msgstr "No se pudo crear el fichero (%1)" #: src/lib/ffmpeg.cc:176 msgid "could not find audio decoder" @@ -608,15 +598,13 @@ msgstr "no se pudo encontrar decodificador de vídeo" #: src/lib/writer.cc:424 msgid "could not move audio MXF into the DCP (%1)" -msgstr "" +msgstr "no s puedo mover el audio MXF en el DCP (%1)" #: src/lib/sndfile_decoder.cc:56 -#, fuzzy msgid "could not open audio file for reading" -msgstr "no se pudo abrir el fichero para lectura" +msgstr "no se pudo abrir el fichero de audio para lectura" #: src/lib/exceptions.cc:29 -#, fuzzy msgid "could not open file %1" msgstr "no se pudo abrir el fichero %1" @@ -625,21 +613,18 @@ msgid "could not open file for reading" msgstr "no se pudo abrir el fichero para lectura" #: src/lib/dcp_video_frame.cc:358 -#, fuzzy msgid "could not read encoded data" -msgstr "no se encontró el decodificador de audio" +msgstr "no se pudo leer la información codificada" #: src/lib/exceptions.cc:42 -#, fuzzy msgid "could not read from file %1 (%2)" -msgstr "No se pudo crear la carpeta remota %1 (%2)" +msgstr "No se pudo leer del fichero %1 (%2)" #: src/lib/resampler.cc:102 msgid "could not run sample-rate converter" msgstr "no se pudo ejecutar el conversor de velocidad" #: src/lib/resampler.cc:83 -#, fuzzy msgid "could not run sample-rate converter for %1 samples (%2) (%3)" msgstr "no se pudo ejecutar el conversor de velocidad" @@ -652,29 +637,28 @@ msgid "could not start SSH session" msgstr "no se pudo abrir la sesión SSH" #: src/lib/exceptions.cc:48 -#, fuzzy msgid "could not write to file %1 (%2)" -msgstr "No se pudo escribir el fichero remoto (%1)" +msgstr "No se pudo escribir en el fichero (%1)" #: src/lib/util.cc:601 msgid "error during async_accept (%1)" -msgstr "" +msgstr "error durante async_accept (%1)" #: src/lib/util.cc:577 msgid "error during async_connect (%1)" -msgstr "" +msgstr "error durante async_connect (%1)" #: src/lib/util.cc:650 msgid "error during async_read (%1)" -msgstr "" +msgstr "error durante async_read (%1)" #: src/lib/util.cc:622 msgid "error during async_write (%1)" -msgstr "" +msgstr "error durante async_write (%1)" #: src/lib/transcode_job.cc:100 msgid "frames per second" -msgstr "fotogramas por segundo" +msgstr "imágenes por segundo" #: src/lib/util.cc:152 msgid "hour" @@ -702,7 +686,7 @@ msgstr "falta una configuración obligatoria %1" #: src/lib/image_content.cc:83 msgid "moving" -msgstr "" +msgstr "moviendo" #: src/lib/ffmpeg_decoder.cc:575 msgid "multi-part subtitles not yet supported" @@ -735,14 +719,12 @@ msgid "seconds" msgstr "segundos" #: src/lib/image_content.cc:81 -#, fuzzy msgid "still" msgstr "imagen fija" #: src/lib/ffmpeg_examiner.cc:168 -#, fuzzy msgid "unknown" -msgstr "Error desconocido" +msgstr "desconocido" #~ msgid "Cubic interpolating deinterlacer" #~ msgstr "Desentrelazado por interpolación cúbica" diff --git a/src/lib/po/fr_FR.po b/src/lib/po/fr_FR.po index b96ca580d..b88099016 100644 --- a/src/lib/po/fr_FR.po +++ b/src/lib/po/fr_FR.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: DCP-o-matic FRENCH\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-03-31 16:10+0100\n" -"PO-Revision-Date: 2014-04-06 03:02+0100\n" +"PO-Revision-Date: 2014-04-18 22:51+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr_FR\n" diff --git a/src/lib/util.cc b/src/lib/util.cc index 40e9d9c2e..c23deb59e 100644 --- a/src/lib/util.cc +++ b/src/lib/util.cc @@ -785,7 +785,7 @@ valid_image_file (boost::filesystem::path f) { string ext = f.extension().string(); transform (ext.begin(), ext.end(), ext.begin(), ::tolower); - return (ext == ".tif" || ext == ".tiff" || ext == ".jpg" || ext == ".jpeg" || ext == ".png" || ext == ".bmp" || ext == ".tga"); + return (ext == ".tif" || ext == ".tiff" || ext == ".jpg" || ext == ".jpeg" || ext == ".png" || ext == ".bmp" || ext == ".tga" || ext == ".dpx"); } string |
