#include "lib/job_manager.h"
#include "lib/json_server.h"
#include "lib/log.h"
+#include "lib/make_dcp.h"
#include "lib/ratio.h"
#include "lib/signal_manager.h"
#include "lib/transcode_job.h"
help (string n)
{
cerr << "Syntax: " << n << " [OPTION] [<FILM>]\n"
- << " -v, --version show DCP-o-matic version\n"
- << " -h, --help show this help\n"
- << " -f, --flags show flags passed to C++ compiler on build\n"
- << " -n, --no-progress do not print progress to stdout\n"
- << " -r, --no-remote do not use any remote servers\n"
- << " -t, --threads specify number of local encoding threads (overriding configuration)\n"
- << " -j, --json <port> run a JSON server on the specified port\n"
- << " -k, --keep-going keep running even when the job is complete\n"
- << " -s, --servers <file> specify servers to use in a text file\n"
- << " -l, --list-servers just display a list of encoding servers that DCP-o-matic is configured to use; don't encode\n"
- << " -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"
- << " --export-format <format> export project to a file, rather than making a DCP: specify mov or mp4\n"
- << " --export-filename filename to export to with --export\n"
+ << " -v, --version show DCP-o-matic version\n"
+ << " -h, --help show this help\n"
+ << " -f, --flags show flags passed to C++ compiler on build\n"
+ << " -n, --no-progress do not print progress to stdout\n"
+ << " -r, --no-remote do not use any remote servers\n"
+ << " -t, --threads specify number of local encoding threads (overriding configuration)\n"
+ << " -j, --json <port> run a JSON server on the specified port\n"
+ << " -k, --keep-going keep running even when the job is complete\n"
+ << " -s, --servers <file> specify servers to use in a text file\n"
+ << " -l, --list-servers just display a list of encoding servers that DCP-o-matic is configured to use; don't encode\n"
+ << " -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"
+ << " --export-format <format> export project to a file, rather than making a DCP: specify mov or mp4\n"
+ << " --export-filename <filename> filename to export to with --export-format\n"
<< "\n"
<< "<FILM> is the film directory.\n";
}
}
if (servers) {
- auto f = fopen_boost (*servers, "r");
+ dcp::File f(*servers, "r");
if (!f) {
cerr << "Could not open servers list file " << *servers << "\n";
exit (EXIT_FAILURE);
}
vector<string> servers;
- while (!feof (f)) {
+ while (!f.eof()) {
char buffer[128];
- if (fscanf (f, "%s.127", buffer) == 1) {
+ if (fscanf(f.get(), "%s.127", buffer) == 1) {
servers.push_back (buffer);
}
}
- fclose (f);
Config::instance()->set_servers (servers);
}
}
}
- TranscodeJob::ChangedBehaviour behaviour = check ? TranscodeJob::ChangedBehaviour::STOP : TranscodeJob::ChangedBehaviour::IGNORE;
+ TranscodeJob::ChangedBehaviour const behaviour = check ? TranscodeJob::ChangedBehaviour::STOP : TranscodeJob::ChangedBehaviour::IGNORE;
if (export_format) {
auto job = std::make_shared<TranscodeJob>(film, behaviour);
job->set_encoder (
std::make_shared<FFmpegEncoder> (
- film, job, *export_filename, *export_format == "mp4" ? ExportFormat::H264_AAC : ExportFormat::PRORES, false, false, false, 23
+ film, job, *export_filename, *export_format == "mp4" ? ExportFormat::H264_AAC : ExportFormat::PRORES_HQ, false, false, false, 23
)
);
JobManager::instance()->add (job);
} else {
try {
- film->make_dcp (behaviour);
+ make_dcp (film, behaviour);
} catch (runtime_error& e) {
std::cerr << "Could not make DCP: " << e.what() << "\n";
exit(EXIT_FAILURE);