X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Ffilm.h;h=c3ab9f2ff550de1a65cd79a2924b36c13b293122;hb=1b0b9e4b951e305d47bb011fc4e198472bb3fecf;hp=6c3f78895791221297b500ea64b1b4ea730777af;hpb=d2137ac5db409e686b4d9b3fa567935a5e416d41;p=dcpomatic.git diff --git a/src/lib/film.h b/src/lib/film.h index 6c3f78895..c3ab9f2ff 100644 --- a/src/lib/film.h +++ b/src/lib/film.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2014 Carl Hetherington + Copyright (C) 2012-2015 Carl Hetherington This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,19 +25,19 @@ #ifndef DCPOMATIC_FILM_H #define DCPOMATIC_FILM_H -#include -#include -#include -#include -#include -#include -#include -#include -#include #include "util.h" #include "types.h" #include "isdcf_metadata.h" #include "frame_rate_change.h" +#include "ratio.h" +#include +#include +#include +#include +#include +#include +#include +#include class DCPContentType; class Log; @@ -47,7 +47,7 @@ class Playlist; class AudioContent; class Scaler; class Screen; -class isdcf_name_test; +struct isdcf_name_test; /** @class Film * @@ -60,6 +60,7 @@ class Film : public boost::enable_shared_from_this, public boost::noncopya { public: Film (boost::filesystem::path, bool log = true); + ~Film (); boost::filesystem::path info_dir () const; boost::filesystem::path j2c_path (int, Eyes, bool) const; @@ -121,7 +122,7 @@ public: dcp::EncryptedKDM make_kdm ( - boost::shared_ptr target, + dcp::Certificate target, boost::filesystem::path cpl_file, dcp::LocalTime from, dcp::LocalTime until, @@ -144,6 +145,8 @@ public: return _state_version; } + std::string subtitle_language () const; + /** Identifiers for the parts of our state; used for signalling changes. */ @@ -250,6 +253,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); void examine_and_add_content (boost::shared_ptr); void add_content (boost::shared_ptr); void remove_content (boost::shared_ptr); @@ -282,7 +286,7 @@ public: private: - friend class ::isdcf_name_test; + friend struct ::isdcf_name_test; void signal_changed (Property); std::string video_identifier () const; @@ -338,8 +342,12 @@ private: /** true if our state has changed since we last saved it */ mutable bool _dirty; - friend class paths_test; - friend class film_metadata_test; + boost::signals2::scoped_connection _playlist_changed_connection; + boost::signals2::scoped_connection _playlist_content_changed_connection; + std::list _job_connections; + + friend struct paths_test; + friend struct film_metadata_test; }; #endif