Merge master.
[dcpomatic.git] / src / lib / film.h
index 178fd9002d18cff8b586790d5d14c473e796374b..8a0823094e4c0ddf7b272ee05fae332ba631cc25 100644 (file)
@@ -47,7 +47,7 @@ class Playlist;
 class AudioContent;
 class Scaler;
 class Screen;
-class isdcf_name_test;
+struct isdcf_name_test;
 
 /** @class Film
  *
@@ -70,6 +70,7 @@ public:
 
        boost::filesystem::path video_mxf_filename () const;
        boost::filesystem::path audio_mxf_filename () const;
+       boost::filesystem::path subtitle_xml_filename () const;
 
        void send_dcp_to_tms ();
        void make_dcp ();
@@ -120,7 +121,7 @@ public:
 
        dcp::EncryptedKDM
        make_kdm (
-               boost::shared_ptr<dcp::Certificate> target,
+               dcp::Certificate target,
                boost::filesystem::path cpl_file,
                dcp::LocalTime from,
                dcp::LocalTime until,
@@ -162,10 +163,12 @@ public:
                ISDCF_METADATA,
                VIDEO_FRAME_RATE,
                AUDIO_CHANNELS,
-               /** The setting of _three_d has been changed */
+               /** The setting of _three_d has changed */
                THREE_D,
                SEQUENCE_VIDEO,
                INTEROP,
+               /** The setting of _burn_subtitles has changed */
+               BURN_SUBTITLES,
        };
 
 
@@ -236,6 +239,10 @@ public:
        bool interop () const {
                return _interop;
        }
+
+       bool burn_subtitles () const {
+               return _burn_subtitles;
+       }
        
 
        /* SET */
@@ -243,6 +250,7 @@ public:
        void set_directory (boost::filesystem::path);
        void set_name (std::string);
        void set_use_isdcf_name (bool);
+       void examine_content (boost::shared_ptr<Content>);
        void examine_and_add_content (boost::shared_ptr<Content>);
        void add_content (boost::shared_ptr<Content>);
        void remove_content (boost::shared_ptr<Content>);
@@ -262,6 +270,7 @@ public:
        void set_isdcf_date_today ();
        void set_sequence_video (bool);
        void set_interop (bool);
+       void set_burn_subtitles (bool);
 
        /** Emitted when some property has of the Film has changed */
        mutable boost::signals2::signal<void (Property)> Changed;
@@ -274,7 +283,7 @@ public:
 
 private:
 
-       friend class ::isdcf_name_test;
+       friend struct ::isdcf_name_test;
 
        void signal_changed (Property);
        std::string video_identifier () const;
@@ -322,6 +331,7 @@ private:
        bool _three_d;
        bool _sequence_video;
        bool _interop;
+       bool _burn_subtitles;
        dcp::Key _key;
 
        int _state_version;
@@ -329,8 +339,8 @@ private:
        /** true if our state has changed since we last saved it */
        mutable bool _dirty;
 
-       friend class paths_test;
-       friend class film_metadata_test;
+       friend struct paths_test;
+       friend struct film_metadata_test;
 };
 
 #endif