summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-06-26 19:15:56 +0100
committerCarl Hetherington <cth@carlh.net>2014-06-26 19:15:56 +0100
commit075f418cc6d9be06bed7a1d98257ae8d17ef3019 (patch)
treea5a6924da614ea0c65657802fffd291e67487532 /src/tools
parentd1125d09c7741d05b57b1520531a0451663ad66c (diff)
Support different KDM formulations.
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/dcpomatic.cc4
-rw-r--r--src/tools/dcpomatic_kdm.cc21
2 files changed, 19 insertions, 6 deletions
diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc
index c9d17eb9b..588fd5c48 100644
--- a/src/tools/dcpomatic.cc
+++ b/src/tools/dcpomatic.cc
@@ -470,10 +470,10 @@ private:
try {
if (d->write_to ()) {
- write_kdm_files (film, d->screens (), d->cpl (), d->from (), d->until (), d->directory ());
+ write_kdm_files (film, d->screens (), d->cpl (), d->from (), d->until (), d->formulation (), d->directory ());
} else {
JobManager::instance()->add (
- shared_ptr<Job> (new SendKDMEmailJob (film, d->screens (), d->cpl (), d->from (), d->until ()))
+ shared_ptr<Job> (new SendKDMEmailJob (film, d->screens (), d->cpl (), d->from (), d->until (), d->formulation ()))
);
}
} catch (libdcp::NotEncryptedError& e) {
diff --git a/src/tools/dcpomatic_kdm.cc b/src/tools/dcpomatic_kdm.cc
index 041f6c7ef..8c26ba4cc 100644
--- a/src/tools/dcpomatic_kdm.cc
+++ b/src/tools/dcpomatic_kdm.cc
@@ -44,6 +44,7 @@ help ()
" -f, --valid-from valid from time (e.g. \"2013-09-28 01:41:51\") or \"now\"\n"
" -t, --valid-to valid to time (e.g. \"2014-09-28 01:41:51\")\n"
" -d, --valid-duration valid duration (e.g. \"1 day\", \"4 hours\", \"2 weeks\")\n"
+ " --formulation modified-transitional-1, dci-any or dci-specific [default modified-transitional-1]\n"
" -z, --zip ZIP each cinema's KDMs into its own file\n"
" -v, --verbose be verbose\n"
" -c, --cinema specify a cinema, either by name or email address\n"
@@ -110,6 +111,7 @@ int main (int argc, char* argv[])
bool cinemas = false;
string duration_string;
bool verbose = false;
+ libdcp::KDM::Formulation formulation = libdcp::KDM::MODIFIED_TRANSITIONAL_1;
program_name = argv[0];
@@ -126,10 +128,11 @@ int main (int argc, char* argv[])
{ "zip", no_argument, 0, 'z' },
{ "duration", required_argument, 0, 'd' },
{ "verbose", no_argument, 0, 'v' },
+ { "formulation", required_argument, 0, 'C' },
{ 0, 0, 0, 0 }
};
- int c = getopt_long (argc, argv, "ho:f:t:c:A:Bzd:v", long_options, &option_index);
+ int c = getopt_long (argc, argv, "ho:f:t:c:A:Bzd:vC:", long_options, &option_index);
if (c == -1) {
break;
@@ -166,6 +169,16 @@ int main (int argc, char* argv[])
case 'v':
verbose = true;
break;
+ case 'C':
+ if (string (optarg) == "modified-transitional-1") {
+ formulation = libdcp::KDM::MODIFIED_TRANSITIONAL_1;
+ } else if (string (optarg) == "dci-any") {
+ formulation = libdcp::KDM::DCI_ANY;
+ } else if (string (optarg) == "dci-specific") {
+ formulation = libdcp::KDM::DCI_SPECIFIC;
+ } else {
+ error ("unrecognised KDM formulation " + formulation);
+ }
}
}
@@ -236,7 +249,7 @@ int main (int argc, char* argv[])
}
shared_ptr<libdcp::Certificate> certificate (new libdcp::Certificate (boost::filesystem::path (certificate_file)));
- libdcp::KDM kdm = film->make_kdm (certificate, cpl, valid_from.get(), valid_to.get());
+ libdcp::KDM kdm = film->make_kdm (certificate, cpl, valid_from.get(), valid_to.get(), formulation);
kdm.as_xml (output);
if (verbose) {
cout << "Generated KDM " << output << " for certificate.\n";
@@ -260,12 +273,12 @@ int main (int argc, char* argv[])
try {
if (zip) {
- write_kdm_zip_files (film, (*i)->screens(), cpl, valid_from.get(), valid_to.get(), output);
+ write_kdm_zip_files (film, (*i)->screens(), cpl, valid_from.get(), valid_to.get(), formulation, output);
if (verbose) {
cout << "Wrote ZIP files to " << output << "\n";
}
} else {
- write_kdm_files (film, (*i)->screens(), cpl, valid_from.get(), valid_to.get(), output);
+ write_kdm_files (film, (*i)->screens(), cpl, valid_from.get(), valid_to.get(), formulation, output);
if (verbose) {
cout << "Wrote KDM files to " << output << "\n";
}