diff options
Diffstat (limited to 'src/tools/dcpomatic_kdm.cc')
| -rw-r--r-- | src/tools/dcpomatic_kdm.cc | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/tools/dcpomatic_kdm.cc b/src/tools/dcpomatic_kdm.cc index d3891c67c..7027b7378 100644 --- a/src/tools/dcpomatic_kdm.cc +++ b/src/tools/dcpomatic_kdm.cc @@ -218,6 +218,16 @@ int main (int argc, char* argv[]) cout << "Making KDMs valid from " << valid_from.get() << " to " << valid_to.get() << "\n"; } + /* XXX: allow specification of this */ + list<boost::filesystem::path> dcps = film->dcps (); + if (dcps.empty ()) { + error ("no DCPs found in film"); + } else if (dcps.size() > 1) { + error ("more than one DCP found in film"); + } + + boost::filesystem::path dcp = dcps.front (); + if (cinema_name.empty ()) { if (output.empty ()) { @@ -225,7 +235,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, valid_from.get(), valid_to.get()); + libdcp::KDM kdm = film->make_kdm (certificate, dcp, valid_from.get(), valid_to.get()); kdm.as_xml (output); if (verbose) { cout << "Generated KDM " << output << " for certificate.\n"; @@ -249,12 +259,12 @@ int main (int argc, char* argv[]) try { if (zip) { - write_kdm_zip_files (film, (*i)->screens(), valid_from.get(), valid_to.get(), output); + write_kdm_zip_files (film, (*i)->screens(), dcp, valid_from.get(), valid_to.get(), output); if (verbose) { cout << "Wrote ZIP files to " << output << "\n"; } } else { - write_kdm_files (film, (*i)->screens(), valid_from.get(), valid_to.get(), output); + write_kdm_files (film, (*i)->screens(), dcp, valid_from.get(), valid_to.get(), output); if (verbose) { cout << "Wrote KDM files to " << output << "\n"; } |
