projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
More fr_FR tweaks from Lilian.
[dcpomatic.git]
/
src
/
lib
/
imagemagick_decoder.cc
diff --git
a/src/lib/imagemagick_decoder.cc
b/src/lib/imagemagick_decoder.cc
index 131eaa5007cd2443967e6c64c6b8ac74763be96a..5dc0b7b06d6ff9cfad6116ff12c7f7b6c1a4c7e0 100644
(file)
--- a/
src/lib/imagemagick_decoder.cc
+++ b/
src/lib/imagemagick_decoder.cc
@@
-25,13
+25,16
@@
#include "film.h"
#include "exceptions.h"
#include "film.h"
#include "exceptions.h"
+#include "i18n.h"
+
using std::cout;
using boost::shared_ptr;
using std::cout;
using boost::shared_ptr;
+using libdcp::Size;
ImageMagickDecoder::ImageMagickDecoder (
ImageMagickDecoder::ImageMagickDecoder (
- boost::shared_ptr<Film> f,
boost::shared_ptr<const DecodeOptions> o, Job* j
)
- : Decoder (f, o
, j
)
- , VideoDecoder (f, o
, j
)
+ boost::shared_ptr<Film> f,
DecodeOptions o
)
+ : Decoder (f, o)
+ , VideoDecoder (f, o)
{
if (boost::filesystem::is_directory (_film->content_path())) {
for (
{
if (boost::filesystem::is_directory (_film->content_path())) {
for (
@@
-50,17
+53,17
@@
ImageMagickDecoder::ImageMagickDecoder (
_iter = _files.begin ();
}
_iter = _files.begin ();
}
-Size
+
libdcp::
Size
ImageMagickDecoder::native_size () const
{
if (_files.empty ()) {
ImageMagickDecoder::native_size () const
{
if (_files.empty ()) {
- throw DecodeError (
"no still image files found"
);
+ throw DecodeError (
_("no still image files found")
);
}
/* Look at the first file and assume its size holds for all */
using namespace MagickCore;
Magick::Image* image = new Magick::Image (_film->content_path ());
}
/* Look at the first file and assume its size holds for all */
using namespace MagickCore;
Magick::Image* image = new Magick::Image (_film->content_path ());
-
Size const s =
Size (image->columns(), image->rows());
+
libdcp::Size const s = libdcp::
Size (image->columns(), image->rows());
delete image;
return s;
delete image;
return s;
@@
-70,12
+73,17
@@
bool
ImageMagickDecoder::pass ()
{
if (_iter == _files.end()) {
ImageMagickDecoder::pass ()
{
if (_iter == _files.end()) {
- return true;
+ if (video_frame() >= _film->still_duration_in_frames()) {
+ return true;
+ }
+
+ repeat_last_video ();
+ return false;
}
Magick::Image* magick_image = new Magick::Image (_film->content_path ());
}
Magick::Image* magick_image = new Magick::Image (_film->content_path ());
- Size size = native_size ();
+
libdcp::
Size size = native_size ();
shared_ptr<Image> image (new SimpleImage (PIX_FMT_RGB24, size, false));
using namespace MagickCore;
shared_ptr<Image> image (new SimpleImage (PIX_FMT_RGB24, size, false));
using namespace MagickCore;
@@
-92,7
+100,7
@@
ImageMagickDecoder::pass ()
delete magick_image;
delete magick_image;
- image = image->crop (_film->crop(),
fals
e);
+ image = image->crop (_film->crop(),
tru
e);
emit_video (image, 0);
emit_video (image, 0);