/*
- Copyright (C) 2012-2016 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2018 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
class Film : public boost::enable_shared_from_this<Film>, public Signaller, public boost::noncopyable
{
public:
- Film (boost::optional<boost::filesystem::path> dir);
+ explicit Film (boost::optional<boost::filesystem::path> dir);
~Film ();
boost::filesystem::path info_file (DCPTimePeriod p) const;
void write_template (boost::filesystem::path path) const;
boost::shared_ptr<xmlpp::Document> metadata (bool with_content_paths = true) const;
+ void copy_from (boost::shared_ptr<const Film> film);
+
std::string isdcf_name (bool if_created_now) const;
std::string dcp_name (bool if_created_now = false) const;
boost::filesystem::path cpl_file,
dcp::LocalTime from,
dcp::LocalTime until,
- dcp::Formulation formulation
+ dcp::Formulation formulation,
+ bool disable_forensic_marking_picture,
+ boost::optional<int> disable_forensic_marking_audio
) const;
std::list<ScreenKDM> make_kdms (
boost::filesystem::path cpl_file,
boost::posix_time::ptime from,
boost::posix_time::ptime until,
- dcp::Formulation formulation
+ dcp::Formulation formulation,
+ bool disable_forensic_marking_picture,
+ boost::optional<int> disable_forensic_marking_audio
) const;
int state_version () const {
std::string content_summary (DCPTimePeriod period) const;
- std::list<std::string> fix_conflicting_settings ();
+ bool references_dcp_video () const;
+ bool references_dcp_audio () const;
/** Identifiers for the parts of our state;
used for signalling changes.
void set_directory (boost::filesystem::path);
void set_name (std::string);
void set_use_isdcf_name (bool);
- void examine_and_add_content (boost::shared_ptr<Content>);
+ void examine_and_add_content (boost::shared_ptr<Content> content, bool disable_audio_analysis = false);
void add_content (boost::shared_ptr<Content>);
void remove_content (boost::shared_ptr<Content>);
void remove_content (ContentList);
void playlist_changed ();
void playlist_order_changed ();
void playlist_content_changed (boost::weak_ptr<Content>, int, bool frequent);
- void maybe_add_content (boost::weak_ptr<Job>, boost::weak_ptr<Content>);
+ void maybe_add_content (boost::weak_ptr<Job>, boost::weak_ptr<Content>, bool disable_audio_analysis);
void audio_analysis_finished ();
+ static std::string const metadata_file;
+
/** Log to write to */
boost::shared_ptr<Log> _log;
boost::shared_ptr<Playlist> _playlist;