From: Carl Hetherington Date: Sun, 20 Jul 2014 23:19:42 +0000 (+0100) Subject: Save KDMs for imported DCPs to metadata.xml. X-Git-Tag: v2.0.48~701 X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=a368f20bf4d1354aa3db7614e19b692fcddaefca Save KDMs for imported DCPs to metadata.xml. --- diff --git a/src/lib/dcp_content.cc b/src/lib/dcp_content.cc index 9d4ee6388..a5b5f37e1 100644 --- a/src/lib/dcp_content.cc +++ b/src/lib/dcp_content.cc @@ -58,6 +58,9 @@ DCPContent::DCPContent (shared_ptr f, cxml::ConstNodePtr node, int v _has_subtitles = node->bool_child ("HasSubtitles"); _directory = node->string_child ("Directory"); _encrypted = node->bool_child ("Encrypted"); + if (node->optional_node_child ("KDM")) { + _kdm = dcp::EncryptedKDM (node->string_child ("KDM")); + } _kdm_valid = node->bool_child ("KDMValid"); } @@ -126,7 +129,9 @@ DCPContent::as_xml (xmlpp::Node* node) const node->add_child("HasSubtitles")->add_child_text (_has_subtitles ? "1" : "0"); node->add_child("Encrypted")->add_child_text (_encrypted ? "1" : "0"); node->add_child("Directory")->add_child_text (_directory.string ()); - /* XXX: KDM */ + if (_kdm) { + node->add_child("KDM")->add_child_text (_kdm->as_xml ()); + } node->add_child("KDMValid")->add_child_text (_kdm_valid ? "1" : "0"); } diff --git a/src/wx/content_menu.cc b/src/wx/content_menu.cc index b396ceb41..741fc8283 100644 --- a/src/wx/content_menu.cc +++ b/src/wx/content_menu.cc @@ -249,7 +249,7 @@ ContentMenu::kdm () wxFileDialog* d = new wxFileDialog (_parent, _("Select KDM")); if (d->ShowModal() == wxID_OK) { - dcp->add_kdm (dcp::EncryptedKDM (wx_to_std (d->GetPath ()))); + dcp->add_kdm (dcp::EncryptedKDM (dcp::file_to_string (wx_to_std (d->GetPath ())))); shared_ptr film = _film.lock (); assert (film); film->examine_content (dcp);