Rename PRORES -> PRORES_HQ
[dcpomatic.git] / src / tools / dcpomatic_cli.cc
index 1293eab0f4ef22523915d7c6d9ef8e4ed06b4be0..be5345f9ee5f5a07f110c1fbb7bae4e2ee078bce 100644 (file)
@@ -30,6 +30,7 @@
 #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"
@@ -59,22 +60,22 @@ static void
 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";
 }
@@ -300,19 +301,18 @@ main (int argc, char* argv[])
        }
 
        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);
        }
 
@@ -393,19 +393,19 @@ main (int argc, char* argv[])
                }
        }
 
-       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);