X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Ffilm.h;h=5318d6a12aa837229d4e4ea6ff94ffe1a958fdb8;hb=96fdcb3161d25a5c5f82f29d89830682241f6f92;hp=9be6c57710d2ed145d9664fbaca2803108cd69cd;hpb=9b7a360f05b5074b1a13bf329416e1f86eb27f9d;p=dcpomatic.git diff --git a/src/lib/film.h b/src/lib/film.h index 9be6c5771..5318d6a12 100644 --- a/src/lib/film.h +++ b/src/lib/film.h @@ -37,6 +37,7 @@ #include "types.h" #include "util.h" #include +#include #include #include #include @@ -75,13 +76,8 @@ class InfoFileHandle { public: InfoFileHandle (boost::mutex& mutex, boost::filesystem::path file, bool read); - ~InfoFileHandle (); - FILE* get () const { - return _handle; - } - - boost::filesystem::path file () const { + dcp::File& get () { return _file; } @@ -89,10 +85,10 @@ private: friend class Film; boost::mutex::scoped_lock _lock; - FILE* _handle; - boost::filesystem::path _file; + dcp::File _file; }; + /** @class Film * * @brief A representation of some audio, video, subtitle and closed-caption content, @@ -131,7 +127,7 @@ public: void use_template (std::string name); std::list read_metadata (boost::optional path = boost::optional ()); - void write_metadata () const; + void write_metadata (); void write_metadata (boost::filesystem::path path) const; void write_template (boost::filesystem::path path) const; std::shared_ptr metadata (bool with_content_paths = true) const; @@ -481,6 +477,8 @@ public: */ mutable boost::signals2::signal LengthChange; + boost::signals2::signal DirtyChange; + /** Emitted when we have something important to tell the user */ boost::signals2::signal Message; @@ -507,7 +505,7 @@ private: void audio_analysis_finished (); void check_settings_consistency (); void maybe_set_container_and_resolution (); - void set_dirty (bool dirty) const; + void set_dirty (bool dirty); /** Log to write to */ std::shared_ptr _log;