Fix build.
[dcpomatic.git] / src / lib / film.cc
index 4b3f6a8dd1afe508f90cfde344faf3d3a94ca77c..21e7383bf94fcfbfd0635c7d1c0efe3c90ee2741 100644 (file)
@@ -85,8 +85,10 @@ using dcp::Signer;
  * AudioMapping XML changed.
  * 6 -> 7
  * Subtitle offset changed to subtitle y offset, and subtitle x offset added.
+ * 7 -> 8
+ * Use <Scale> tag in <VideoContent> rather than <Ratio>.
  */
-int const Film::current_state_version = 7;
+int const Film::current_state_version = 8;
 
 /** Construct a Film object in a given directory.
  *
@@ -395,6 +397,9 @@ Film::read_metadata ()
        f.read_file (file ("metadata.xml"));
 
        _state_version = f.number_child<int> ("Version");
+       if (_state_version > current_state_version) {
+               throw StringError (_("This film was created with a newer version of DCP-o-matic, and it cannot be loaded into this version.  Sorry!"));
+       }
        
        _name = f.string_child ("Name");
        _use_dci_name = f.bool_child ("UseDCIName");
@@ -873,7 +878,7 @@ Film::has_subtitles () const
        return _playlist->has_subtitles ();
 }
 
-VideoFrame
+int
 Film::best_video_frame_rate () const
 {
        return _playlist->best_dcp_frame_rate ();
@@ -903,31 +908,7 @@ Film::playlist_changed ()
        signal_changed (CONTENT);
 }      
 
-AudioFrame
-Film::time_to_audio_frames (DCPTime t) const
-{
-       return divide_with_round (t * audio_frame_rate (), TIME_HZ);
-}
-
-VideoFrame
-Film::time_to_video_frames (DCPTime t) const
-{
-       return divide_with_round (t * video_frame_rate (), TIME_HZ);
-}
-
-DCPTime
-Film::audio_frames_to_time (AudioFrame f) const
-{
-       return divide_with_round (f * TIME_HZ, audio_frame_rate ());
-}
-
-DCPTime
-Film::video_frames_to_time (VideoFrame f) const
-{
-       return divide_with_round (f * TIME_HZ, video_frame_rate ());
-}
-
-AudioFrame
+int
 Film::audio_frame_rate () const
 {
        /* XXX */
@@ -1006,7 +987,7 @@ Film::make_kdms (
 uint64_t
 Film::required_disk_space () const
 {
-       return uint64_t (j2k_bandwidth() / 8) * length() / TIME_HZ;
+       return uint64_t (j2k_bandwidth() / 8) * length().seconds();
 }
 
 /** This method checks the disk that the Film is on and tries to decide whether or not