Comments.
[dcpomatic.git] / src / lib / film.h
index 0aa08e42586c38c6b451ba650e6bd820110e3b37..17bdd09ebc35aaeaf0b9670d75d89736535d7cfc 100644 (file)
@@ -70,10 +70,10 @@ public:
        Film (boost::filesystem::path, bool log = true);
        ~Film ();
 
-       boost::filesystem::path info_file () const;
-       boost::filesystem::path j2c_path (int, Eyes, bool) const;
+       boost::filesystem::path info_file (DCPTimePeriod p) const;
+       boost::filesystem::path j2c_path (int, Frame, Eyes, bool) const;
        boost::filesystem::path internal_video_asset_dir () const;
-       boost::filesystem::path internal_video_asset_filename () const;
+       boost::filesystem::path internal_video_asset_filename (DCPTimePeriod p) const;
 
        boost::filesystem::path audio_analysis_path (boost::shared_ptr<const Playlist>) const;
 
@@ -121,7 +121,8 @@ public:
 
        dcp::EncryptedKDM
        make_kdm (
-               dcp::Certificate target,
+               dcp::Certificate recipient,
+               std::vector<dcp::Certificate> trusted_devices,
                boost::filesystem::path cpl_file,
                dcp::LocalTime from,
                dcp::LocalTime until,
@@ -151,6 +152,8 @@ public:
                return _playlist;
        }
 
+       std::list<DCPTimePeriod> reels () const;
+
        /** Identifiers for the parts of our state;
            used for signalling changes.
        */
@@ -175,6 +178,8 @@ public:
                SEQUENCE_VIDEO,
                INTEROP,
                AUDIO_PROCESSOR,
+               REEL_TYPE,
+               REEL_LENGTH
        };
 
 
@@ -250,6 +255,13 @@ public:
                return _audio_processor;
        }
 
+       ReelType reel_type () const {
+               return _reel_type;
+       }
+
+       int64_t reel_length () const {
+               return _reel_length;
+       }
 
        /* SET */
 
@@ -278,6 +290,8 @@ public:
        void set_sequence_video (bool);
        void set_interop (bool);
        void set_audio_processor (AudioProcessor const * processor);
+       void set_reel_type (ReelType);
+       void set_reel_length (int64_t);
 
        /** Emitted when some property has of the Film has changed */
        mutable boost::signals2::signal<void (Property)> Changed;
@@ -338,6 +352,9 @@ private:
        bool _sequence_video;
        bool _interop;
        AudioProcessor const * _audio_processor;
+       ReelType _reel_type;
+       /** Desired reel length in bytes, if _reel_type == REELTYPE_BY_LENGTH */
+       int64_t _reel_length;
 
        int _state_version;