diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-06-26 19:15:56 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-06-26 19:15:56 +0100 |
| commit | 075f418cc6d9be06bed7a1d98257ae8d17ef3019 (patch) | |
| tree | a5a6924da614ea0c65657802fffd291e67487532 /src/tools | |
| parent | d1125d09c7741d05b57b1520531a0451663ad66c (diff) | |
Support different KDM formulations.
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/dcpomatic.cc | 4 | ||||
| -rw-r--r-- | src/tools/dcpomatic_kdm.cc | 21 |
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"; } |
