diff options
| author | Carl Hetherington <cth@carlh.net> | 2020-08-19 16:36:09 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2020-09-20 19:27:16 +0200 |
| commit | f9078ac398e0765e39f503cdc5bed406d45e0c36 (patch) | |
| tree | 1de45d4abb3f85c2be4c8faa07a1c7507cd682a3 /src/cpl.cc | |
| parent | 98e49fbf5e7d815654c9187db19a91bd8e575336 (diff) | |
Stop using XMLMetadata in CPL. It's always felt a bit clumsy, and
with the CPL metadata extension having a method like set_metadata()
in CPL will be confusing.
Diffstat (limited to 'src/cpl.cc')
| -rw-r--r-- | src/cpl.cc | 27 |
1 files changed, 15 insertions, 12 deletions
@@ -64,10 +64,13 @@ static string const cpl_smpte_ns = "http://www.smpte-ra.org/schemas/429-7/2006 CPL::CPL (string annotation_text, ContentKind content_kind) /* default _content_title_text to annotation_text */ - : _content_title_text (annotation_text) + : _issuer ("libdcp" LIBDCP_VERSION) + , _creator ("libdcp" LIBDCP_VERSION) + , _issue_date (LocalTime().as_string()) + , _annotation_text (annotation_text) + , _content_title_text (annotation_text) , _content_kind (content_kind) { - _metadata.annotation_text = annotation_text; /* default _content_version_id to a random ID and _content_version_label to a random ID and the current time. */ @@ -93,10 +96,10 @@ CPL::CPL (boost::filesystem::path file) } _id = remove_urn_uuid (f.string_child ("Id")); - _metadata.annotation_text = f.optional_string_child ("AnnotationText").get_value_or (""); - _metadata.issuer = f.optional_string_child ("Issuer").get_value_or (""); - _metadata.creator = f.optional_string_child ("Creator").get_value_or (""); - _metadata.issue_date = f.string_child ("IssueDate"); + _annotation_text = f.optional_string_child("AnnotationText").get_value_or(""); + _issuer = f.optional_string_child("Issuer").get_value_or(""); + _creator = f.optional_string_child("Creator").get_value_or(""); + _issue_date = f.string_child ("IssueDate"); _content_title_text = f.string_child ("ContentTitleText"); _content_kind = content_kind_from_string (f.string_child ("ContentKind")); shared_ptr<cxml::Node> content_version = f.optional_node_child ("ContentVersion"); @@ -149,10 +152,10 @@ CPL::write_xml (boost::filesystem::path file, Standard standard, shared_ptr<cons } root->add_child("Id")->add_child_text ("urn:uuid:" + _id); - root->add_child("AnnotationText")->add_child_text (_metadata.annotation_text); - root->add_child("IssueDate")->add_child_text (_metadata.issue_date); - root->add_child("Issuer")->add_child_text (_metadata.issuer); - root->add_child("Creator")->add_child_text (_metadata.creator); + root->add_child("AnnotationText")->add_child_text (_annotation_text); + root->add_child("IssueDate")->add_child_text (_issue_date); + root->add_child("Issuer")->add_child_text (_issuer); + root->add_child("Creator")->add_child_text (_creator); root->add_child("ContentTitleText")->add_child_text (_content_title_text); root->add_child("ContentKind")->add_child_text (content_kind_to_string (_content_kind)); { @@ -242,8 +245,8 @@ CPL::equals (shared_ptr<const Asset> other, EqualityOptions opt, NoteHandler not return false; } - if (_metadata.annotation_text != other_cpl->_metadata.annotation_text && !opt.cpl_annotation_texts_can_differ) { - string const s = "CPL: annotation texts differ: " + _metadata.annotation_text + " vs " + other_cpl->_metadata.annotation_text + "\n"; + if (_annotation_text != other_cpl->_annotation_text && !opt.cpl_annotation_texts_can_differ) { + string const s = "CPL: annotation texts differ: " + _annotation_text + " vs " + other_cpl->_annotation_text + "\n"; note (DCP_ERROR, s); return false; } |
