Back-port v2's rename and slight extension of FrameRateConversion.
[dcpomatic.git] / src / lib / image_content.cc
index 2d29df0c4bf2fa5a25b32e7e3aa7d200c6c3ca4c..6acf0bab924001eaa5b51e1d1349ce134e5e719c 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2013 Carl Hetherington <cth@carlh.net>
+    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
@@ -24,6 +24,7 @@
 #include "compose.hpp"
 #include "film.h"
 #include "job.h"
+#include "frame_rate_change.h"
 
 #include "i18n.h"
 
@@ -44,15 +45,19 @@ 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());
        }
 }
 
 
-ImageContent::ImageContent (shared_ptr<const Film> f, shared_ptr<const cxml::Node> node, int)
+ImageContent::ImageContent (shared_ptr<const Film> f, shared_ptr<const cxml::Node> node, int version)
        : Content (f, node)
-       , VideoContent (f, node)
+       , VideoContent (f, node, version)
 {
        
 }
@@ -126,8 +131,8 @@ ImageContent::full_length () const
        shared_ptr<const Film> film = _film.lock ();
        assert (film);
        
-       FrameRateConversion frc (video_frame_rate(), film->video_frame_rate ());
-       return video_length() * frc.factor() * TIME_HZ / video_frame_rate();
+       FrameRateChange frc (video_frame_rate(), film->video_frame_rate ());
+       return video_length_after_3d_combine() * frc.factor() * TIME_HZ / video_frame_rate();
 }
 
 string