Merge 1.0
authorCarl Hetherington <cth@carlh.net>
Sat, 28 Dec 2013 15:09:30 +0000 (15:09 +0000)
committerCarl Hetherington <cth@carlh.net>
Sat, 28 Dec 2013 15:09:30 +0000 (15:09 +0000)
1  2 
src/lib/content.cc
src/lib/content.h
src/lib/film.cc
src/lib/film.h
src/lib/image_decoder.cc
src/lib/playlist.cc
src/lib/playlist.h
src/wx/film_editor.cc

Simple merge
Simple merge
diff --cc src/lib/film.cc
index 8e93667d5e54ad1ccb7474257e6536ce97a1bd27,1bf35cc5fffde98ced3c2a2598c0a41926f129c4..98b7bf6b90595589e48326b0157e40739ff92e17
@@@ -860,18 -860,6 +860,12 @@@ Film::best_video_frame_rate () cons
        return _playlist->best_dcp_frame_rate ();
  }
  
- bool
- Film::content_paths_valid () const
- {
-       return _playlist->content_paths_valid ();
- }
 +FrameRateChange
 +Film::active_frame_rate_change (DCPTime t) const
 +{
 +      return _playlist->active_frame_rate_change (t, video_frame_rate ());
 +}
 +
  void
  Film::playlist_content_changed (boost::weak_ptr<Content> c, int p)
  {
diff --cc src/lib/film.h
index a0ace99811005d5b93bffcffa6d7cbb039f7a539,e318f772492fc83777b5169170ff822779c88c08..f1564e83bece00051f16140df7f6c8bb435e6aa2
@@@ -111,11 -111,9 +111,10 @@@ public
        /* Proxies for some Playlist methods */
  
        ContentList content () const;
 -      Time length () const;
 +      DCPTime length () const;
        bool has_subtitles () const;
        OutputVideoFrame best_video_frame_rate () const;
-       bool content_paths_valid () const;
 +      FrameRateChange active_frame_rate_change (DCPTime) const;
  
        libdcp::KDM
        make_kdm (
index 9e90b5bc8317cccd5d46b4c36912fd6872653337,a7999c02a86b5270b09dd50fd118c00280ef5761..a5ca67e0d95856c4de867b4f5ea70a17a5dd7a6a
@@@ -49,12 -48,18 +49,19 @@@ ImageDecoder::pass (
        }
  
        if (_image && _image_content->still ()) {
 -              video (_image, true, _video_position);
 -              return;
 +              video (_image, true, _video_position * TIME_HZ / _video_content->video_frame_rate ());
 +              ++_video_position;
 +              return false;
        }
  
-       Magick::Image* magick_image = new Magick::Image (_image_content->path (_image_content->still() ? 0 : _video_position).string ());
+       Magick::Image* magick_image = 0;
+       boost::filesystem::path const path = _image_content->path (_image_content->still() ? 0 : _video_position);
+       try {
+               magick_image = new Magick::Image (path.string ());
+       } catch (...) {
+               throw OpenFileError (path);
+       }
+       
        libdcp::Size size (magick_image->columns(), magick_image->rows());
  
        _image.reset (new Image (PIX_FMT_RGB24, size, true));
Simple merge
Simple merge
Simple merge