Hopefully fix some still-image frame rate confusion.
[dcpomatic.git] / src / lib / imagemagick_content.cc
index f9ee8cc84029d0cceb01ce845d272ceda8a62484..79623b21c493ef62293fdc9f8e55526aaa08e4d3 100644 (file)
@@ -76,18 +76,12 @@ ImageMagickContent::examine (shared_ptr<Job> job)
        
        shared_ptr<ImageMagickExaminer> examiner (new ImageMagickExaminer (film, shared_from_this()));
 
-       set_video_length (Config::instance()->default_still_length() * 24);
+       set_video_length (Config::instance()->default_still_length() * video_frame_rate());
        take_from_video_examiner (examiner);
 }
 
-shared_ptr<Content>
-ImageMagickContent::clone () const
-{
-       return shared_ptr<Content> (new ImageMagickContent (*this));
-}
-
 void
-ImageMagickContent::set_video_length (ContentVideoFrame len)
+ImageMagickContent::set_video_length (VideoContent::Frame len)
 {
        {
                boost::mutex::scoped_lock lm (_mutex);
@@ -103,7 +97,15 @@ ImageMagickContent::length () const
        shared_ptr<const Film> film = _film.lock ();
        assert (film);
        
-       FrameRateConversion frc (24, film->dcp_video_frame_rate ());
-       return video_length() * frc.factor() * TIME_HZ / film->dcp_video_frame_rate ();
+       FrameRateConversion frc (video_frame_rate(), film->dcp_video_frame_rate ());
+       return video_length() * frc.factor() * TIME_HZ / video_frame_rate();
 }
 
+string
+ImageMagickContent::identifier () const
+{
+       stringstream s;
+       s << VideoContent::identifier ();
+       s << "_" << video_length();
+       return s.str ();
+}