Fix font_id_map errors when importing DCP subtitles that have no
[dcpomatic.git] / src / lib / frame_rate_change.h
index ae3615328d7ce3e5dfccddc596611ad8c40cdeb1..c28342e92974214aeaebfca5d47186854fc25868 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
 
 */
 
+
 #ifndef DCPOMATIC_FRAME_RATE_CHANGE_H
 #define DCPOMATIC_FRAME_RATE_CHANGE_H
 
+
+#include <memory>
 #include <string>
 
-struct FrameRateChange
+
+class Film;
+class Content;
+
+
+class FrameRateChange
 {
+public:
+       FrameRateChange ();
        FrameRateChange (double, int);
+       FrameRateChange (std::shared_ptr<const Film> film, std::shared_ptr<const Content> content);
+       FrameRateChange (std::shared_ptr<const Film> film, Content const * content);
 
        /** @return factor by which to multiply a source frame rate
            to get the effective rate after any skip or repeat has happened.
@@ -38,13 +50,13 @@ struct FrameRateChange
                return repeat;
        }
 
-       double source;
-       int dcp;
+       double source = 24;
+       int dcp = 24;
 
        /** true to skip every other frame */
-       bool skip;
+       bool skip = false;
        /** number of times to use each frame (e.g. 1 is normal, 2 means repeat each frame once, and so on) */
-       int repeat;
+       int repeat = 1;
        /** true if this DCP will run its video faster or slower than the source
         *  without taking into account `repeat' nor `skip'.
         *  (e.g. change_speed will be true if
@@ -54,14 +66,15 @@ struct FrameRateChange
         *          source is 15.00fps, DCP is 30fps
         *          source is 12.50fps, DCP is 25fps)
         */
-       bool change_speed;
+       bool change_speed = false;
 
        /** Amount by which the video is being sped-up in the DCP; e.g. for a
         *  24fps source in a 25fps DCP this would be 25/24.
         */
-       double speed_up;
+       double speed_up = 1.0;
 
        std::string description () const;
 };
 
+
 #endif