return p;
}
-/** Add suitable Jobs to the JobManager to create a DCP for this Film */
+/** Add suitable Jobs to the JobManager to create a DCP for this Film.
+ * @param gui true if this is being called from a GUI tool.
+ * @param check true to check the content in the project for changes before making the DCP.
+ */
void
-Film::make_dcp (bool gui)
+Film::make_dcp (bool gui, bool check)
{
if (dcp_name().find ("/") != string::npos) {
throw BadSettingError (_("name"), _("Cannot contain slashes"));
shared_ptr<TranscodeJob> tj (new TranscodeJob (shared_from_this()));
tj->set_encoder (shared_ptr<Encoder> (new DCPEncoder (shared_from_this(), tj)));
- shared_ptr<CheckContentChangeJob> cc (new CheckContentChangeJob(shared_from_this(), tj, gui));
- JobManager::instance()->add (cc);
+ if (check) {
+ shared_ptr<CheckContentChangeJob> cc (new CheckContentChangeJob(shared_from_this(), tj, gui));
+ JobManager::instance()->add (cc);
+ } else {
+ JobManager::instance()->add (tj);
+ }
}
/** Start a job to send our DCP to the configured TMS */
boost::filesystem::path audio_analysis_path (boost::shared_ptr<const Playlist>) const;
void send_dcp_to_tms ();
- void make_dcp (bool gui = false);
+ void make_dcp (bool gui = false, bool check = true);
/** @return Logger.
* It is safe to call this from any thread.
<< " -d, --dcp-path echo DCP's path to stdout on successful completion (implies -n)\n"
<< " -c, --config <dir> directory containing config.xml and cinemas.xml\n"
<< " --dump just dump a summary of the film's settings; don't encode\n"
+ << " --no-check don't check project's content files for changes before making the DCP\n"
<< "\n"
<< "<FILM> is the film directory.\n";
}
bool list_servers_ = false;
bool dcp_path = false;
optional<boost::filesystem::path> config;
+ bool check = true;
int option_index = 0;
while (true) {
{ "config", required_argument, 0, 'c' },
/* Just using A, B, C ... from here on */
{ "dump", no_argument, 0, 'A' },
+ { "no-check", no_argument, 0, 'B' },
{ 0, 0, 0, 0 }
};
- int c = getopt_long (argc, argv, "vhfnrt:j:kAs:ldc:", long_options, &option_index);
+ int c = getopt_long (argc, argv, "vhfnrt:j:kAs:ldc:B", long_options, &option_index);
if (c == -1) {
break;
case 'c':
config = optarg;
break;
+ case 'B':
+ check = false;
+ break;
}
}
cout << "\nMaking DCP for " << film->name() << "\n";
}
- film->make_dcp (false);
+ film->make_dcp (false, check);
bool const error = show_jobs_on_console (progress);
if (keep_going) {