summaryrefslogtreecommitdiff
path: root/src/tools/dcpomatic_create.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-04-29 00:37:13 +0100
committerCarl Hetherington <cth@carlh.net>2018-04-29 00:37:13 +0100
commit04badd0c82d3ce82ee87c07e120e585899d4acff (patch)
treea58dfba6872d7bf2f1a9e7c462e41af12e964906 /src/tools/dcpomatic_create.cc
parente935952ec68482352294fed637d4bfa533120e36 (diff)
Allow command-line configuration of config location (#1284).
Diffstat (limited to 'src/tools/dcpomatic_create.cc')
-rw-r--r--src/tools/dcpomatic_create.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/tools/dcpomatic_create.cc b/src/tools/dcpomatic_create.cc
index a9d1165f1..5c6fc3567 100644
--- a/src/tools/dcpomatic_create.cc
+++ b/src/tools/dcpomatic_create.cc
@@ -30,6 +30,7 @@
#include "lib/image_content.h"
#include "lib/video_content.h"
#include "lib/cross.h"
+#include "lib/config.h"
#include "lib/dcp_content.h"
#include <dcp/exceptions.h>
#include <libxml++/libxml++.h>
@@ -66,6 +67,7 @@ syntax (string n)
<< " --standard <standard> SMPTE or interop (default SMPTE)\n"
<< " --no-use-isdcf-name do not use an ISDCF name; use the specified name unmodified\n"
<< " --no-sign do not sign the DCP\n"
+ << " --config <dir> directory containing config.xml and cinemas.xml\n"
<< " -o, --output <dir> output directory\n";
}
@@ -105,6 +107,7 @@ main (int argc, char* argv[])
optional<boost::filesystem::path> output;
bool sign = true;
bool use_isdcf_name = true;
+ optional<boost::filesystem::path> config;
int option_index = 0;
while (true) {
@@ -122,10 +125,11 @@ main (int argc, char* argv[])
{ "no-use-isdcf-name", no_argument, 0, 'D'},
{ "no-sign", no_argument, 0, 'E'},
{ "output", required_argument, 0, 'o'},
+ { "config", required_argument, 0, 'F'},
{ 0, 0, 0, 0}
};
- int c = getopt_long (argc, argv, "vhn:f:c:f:A:B:C:s:o:DE", long_options, &option_index);
+ int c = getopt_long (argc, argv, "vhn:f:c:f:A:B:C:s:o:DEF:", long_options, &option_index);
if (c == -1) {
break;
}
@@ -185,6 +189,9 @@ main (int argc, char* argv[])
case 'E':
sign = false;
break;
+ case 'F':
+ config = optarg;
+ break;
case 's':
still_length = atoi (optarg);
break;
@@ -202,6 +209,10 @@ main (int argc, char* argv[])
exit (EXIT_FAILURE);
}
+ if (config) {
+ Config::override_path = *config;
+ }
+
if (!content_ratio) {
cerr << argv[0] << ": missing required option --content-ratio.\n";
exit (EXIT_FAILURE);