X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fimage_content.cc;h=acaedf0505d746b71661d89581192f7ef52d86ec;hb=73f52e94953848c696725defd3d7f5c4c30707e2;hp=db02c6059ed494f553df16c9ea658255b833569d;hpb=a79d78d8bb6d51f6662f1f63b9f8fd19e1a0c5f1;p=dcpomatic.git diff --git a/src/lib/image_content.cc b/src/lib/image_content.cc index db02c6059..acaedf050 100644 --- a/src/lib/image_content.cc +++ b/src/lib/image_content.cc @@ -20,10 +20,11 @@ #include #include "image_content.h" #include "image_examiner.h" -#include "config.h" #include "compose.hpp" #include "film.h" #include "job.h" +#include "frame_rate_change.h" +#include "exceptions.h" #include "i18n.h" @@ -44,13 +45,17 @@ ImageContent::ImageContent (shared_ptr 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()); } } -ImageContent::ImageContent (shared_ptr f, shared_ptr node, int version) +ImageContent::ImageContent (shared_ptr f, cxml::ConstNodePtr node, int version) : Content (f, node) , VideoContent (f, node, version) { @@ -125,7 +130,7 @@ ImageContent::full_length () const { shared_ptr film = _film.lock (); assert (film); - return DCPTime (video_length(), FrameRateChange (video_frame_rate(), film->video_frame_rate())); + return DCPTime (video_length_after_3d_combine(), FrameRateChange (video_frame_rate(), film->video_frame_rate())); } string @@ -133,7 +138,7 @@ ImageContent::identifier () const { stringstream s; s << VideoContent::identifier (); - s << "_" << video_length(); + s << "_" << video_length().get(); return s.str (); }