X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Ffilm.h;h=44e84dc274f34922d92b549c439586636c40c812;hb=422eb00b446d90e3588ae6793f676917ee195cca;hp=20a1e2ca6551ad9f7c6ddaf9ddb4e2409e51c453;hpb=a69d242f3f00207d6ea7320e6723775f4b0dbfb3;p=dcpomatic.git diff --git a/src/lib/film.h b/src/lib/film.h index 20a1e2ca6..44e84dc27 100644 --- a/src/lib/film.h +++ b/src/lib/film.h @@ -31,6 +31,7 @@ #include "isdcf_metadata.h" #include "frame_rate_change.h" #include "signaller.h" +#include "dcp_text_track.h" #include #include #include @@ -113,6 +114,8 @@ public: int audio_frame_rate () const; + std::list closed_caption_tracks () const; + uint64_t required_disk_space () const; bool should_be_enough_disk_space (double& required, double& available, bool& can_hard_link) const; @@ -323,11 +326,11 @@ public: void set_reel_length (int64_t); void set_upload_after_make_dcp (bool); - /** Emitted when some property has of the Film has changed */ - mutable boost::signals2::signal Changed; + /** Emitted when some property has of the Film is about to change or has changed */ + mutable boost::signals2::signal Change; /** Emitted when some property of our content has changed */ - mutable boost::signals2::signal, int, bool)> ContentChanged; + mutable boost::signals2::signal, int, bool)> ContentChange; /** Current version number of the state file */ static int const current_state_version; @@ -335,12 +338,14 @@ public: private: friend struct ::isdcf_name_test; + template friend class ChangeSignaller; - void signal_changed (Property); + void signal_change (ChangeType, Property); + void signal_change (ChangeType, int); std::string video_identifier () const; - void playlist_changed (); + void playlist_change (ChangeType); void playlist_order_changed (); - void playlist_content_changed (boost::weak_ptr, int, bool frequent); + void playlist_content_change (ChangeType type, boost::weak_ptr, int, bool frequent); void maybe_add_content (boost::weak_ptr, boost::weak_ptr, bool disable_audio_analysis); void audio_analysis_finished (); @@ -401,9 +406,9 @@ private: /** film being used as a template, or 0 */ boost::shared_ptr _template_film; - boost::signals2::scoped_connection _playlist_changed_connection; + boost::signals2::scoped_connection _playlist_change_connection; boost::signals2::scoped_connection _playlist_order_changed_connection; - boost::signals2::scoped_connection _playlist_content_changed_connection; + boost::signals2::scoped_connection _playlist_content_change_connection; std::list _job_connections; std::list _audio_analysis_connections;