diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-08-21 23:16:42 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-08-21 23:16:42 +0100 |
| commit | f0f4b2371ff5cd6fc39239a3c201bae0c033d21f (patch) | |
| tree | 33f19188d2a91fe6a97ff976a92347644141740d /src | |
| parent | ef2acd1e5a069fd5b4a332f1b1487ac55ec1a25a (diff) | |
Check content before making DCP.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/check_content_change_job.cc | 19 | ||||
| -rw-r--r-- | src/lib/check_content_change_job.h | 5 | ||||
| -rw-r--r-- | src/lib/film.cc | 4 |
3 files changed, 21 insertions, 7 deletions
diff --git a/src/lib/check_content_change_job.cc b/src/lib/check_content_change_job.cc index bb3674f27..783a2ac01 100644 --- a/src/lib/check_content_change_job.cc +++ b/src/lib/check_content_change_job.cc @@ -33,8 +33,9 @@ using std::list; using std::cout; using boost::shared_ptr; -CheckContentChangeJob::CheckContentChangeJob (shared_ptr<const Film> film) +CheckContentChangeJob::CheckContentChangeJob (shared_ptr<const Film> film, shared_ptr<Job> following) : Job (film) + , _following (following) { } @@ -78,10 +79,18 @@ CheckContentChangeJob::run () JobManager::instance()->add(shared_ptr<Job>(new ExamineContentJob(_film, i))); } - if (!changed.empty()) { - set_message (_("Some files were changed since they were added to the project.\n\nThese files will now be re-examined, so you may need to check their settings.")); - } - set_progress (1); set_state (FINISHED_OK); + + if (!changed.empty()) { + string m = _("Some files have been changed since they were added to the project.\n\nThese files will now be re-examined, so you may need to check their settings."); + if (_following) { + /* I'm assuming that _following is a make DCP job */ + m += " "; + m += _("Choose 'Make DCP' again when you have done this."); + } + set_message (m); + } else if (_following) { + JobManager::instance()->add (_following); + } } diff --git a/src/lib/check_content_change_job.h b/src/lib/check_content_change_job.h index 4ae3ed1e9..da9c5cb20 100644 --- a/src/lib/check_content_change_job.h +++ b/src/lib/check_content_change_job.h @@ -27,9 +27,12 @@ class CheckContentChangeJob : public Job { public: - CheckContentChangeJob (boost::shared_ptr<const Film>); + CheckContentChangeJob (boost::shared_ptr<const Film>, boost::shared_ptr<Job> following = boost::shared_ptr<Job>()); std::string name () const; std::string json_name () const; void run (); + +private: + boost::shared_ptr<Job> _following; }; diff --git a/src/lib/film.cc b/src/lib/film.cc index 8576c5a67..274cb8d2d 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -52,6 +52,7 @@ #include "screen_kdm.h" #include "cinema.h" #include "change_signaller.h" +#include "check_content_change_job.h" #include <libcxml/cxml.h> #include <dcp/cpl.h> #include <dcp/certificate_chain.h> @@ -348,7 +349,8 @@ Film::make_dcp () shared_ptr<TranscodeJob> tj (new TranscodeJob (shared_from_this())); tj->set_encoder (shared_ptr<Encoder> (new DCPEncoder (shared_from_this(), tj))); - JobManager::instance()->add (tj); + shared_ptr<CheckContentChangeJob> cc (new CheckContentChangeJob (shared_from_this(), tj)); + JobManager::instance()->add (cc); } /** Start a job to send our DCP to the configured TMS */ |
