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.
*/
}
_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");
}
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));
{
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;
}
#include "certificate.h"
#include "key.h"
#include "asset.h"
-#include "metadata.h"
#include <boost/shared_ptr.hpp>
#include <boost/function.hpp>
#include <boost/optional.hpp>
class ReelMXF;
class Reel;
-class XMLMetadata;
class MXFMetadata;
class CertificateChain;
class DecryptedKDM;
/** @return contents of the <AnnotationText> node */
std::string annotation_text () const {
- return _metadata.annotation_text;
+ return _annotation_text;
+ }
+
+ void set_issuer (std::string issuer) {
+ _issuer = issuer;
+ }
+
+ void set_creator (std::string creator) {
+ _creator = creator;
+ }
+
+ void set_issue_date (std::string issue_date) {
+ _issue_date = issue_date;
}
void set_annotation_text (std::string at) {
- _metadata.annotation_text = at;
+ _annotation_text = at;
}
/** @return contents of the <ContentTitleText> node */
bool encrypted () const;
- void set_metadata (XMLMetadata m) {
- _metadata = m;
- }
-
void write_xml (
boost::filesystem::path file,
Standard standard,
std::string pkl_type (Standard standard) const;
private:
- /** <Issuer>, <Creator>, <IssueDate> and <AnnotationText>.
- * These are grouped because they occur together in a few places.
- */
- XMLMetadata _metadata;
+ std::string _issuer;
+ std::string _creator;
+ std::string _issue_date;
+ std::string _annotation_text;
std::string _content_title_text; ///< <ContentTitleText>
ContentKind _content_kind; ///< <ContentKind>
std::string _content_version_id; ///< <Id> in <ContentVersion>
shared_ptr<dcp::CPL> cpl (new dcp::CPL ("A Test DCP", dcp::FEATURE));
cpl->set_content_version_id ("urn:uri:81fb54df-e1bf-4647-8788-ea7ba154375b_2012-07-17T04:45:18+00:00");
cpl->set_content_version_label_text ("81fb54df-e1bf-4647-8788-ea7ba154375b_2012-07-17T04:45:18+00:00");
- cpl->set_metadata (xml_meta);
+ cpl->set_issuer (xml_meta.issuer);
+ cpl->set_creator (xml_meta.creator);
+ cpl->set_issue_date (xml_meta.issue_date);
+ cpl->set_annotation_text (xml_meta.annotation_text);
shared_ptr<dcp::StereoPictureAsset> mp (new dcp::StereoPictureAsset (dcp::Fraction (24, 1), dcp::SMPTE));
mp->set_metadata (mxf_meta);
shared_ptr<dcp::CPL> cpl (new dcp::CPL ("A Test DCP", dcp::FEATURE));
cpl->set_content_version_id ("urn:uri:81fb54df-e1bf-4647-8788-ea7ba154375b_2012-07-17T04:45:18+00:00");
cpl->set_content_version_label_text ("81fb54df-e1bf-4647-8788-ea7ba154375b_2012-07-17T04:45:18+00:00");
- cpl->set_metadata (xml_meta);
+ cpl->set_issuer (xml_meta.issuer);
+ cpl->set_creator (xml_meta.creator);
+ cpl->set_issue_date (xml_meta.issue_date);
+ cpl->set_annotation_text (xml_meta.annotation_text);
shared_ptr<dcp::MonoPictureAsset> mp (new dcp::MonoPictureAsset (dcp::Fraction (24, 1), dcp::SMPTE));
mp->set_metadata (mxf_meta);
)));
cpl->set_content_version_id ("urn:uri:81fb54df-e1bf-4647-8788-ea7ba154375b_2012-07-17T04:45:18+00:00");
cpl->set_content_version_label_text ("81fb54df-e1bf-4647-8788-ea7ba154375b_2012-07-17T04:45:18+00:00");
- cpl->set_metadata (xml_metadata);
+ cpl->set_issuer (xml_metadata.issuer);
+ cpl->set_creator (xml_metadata.creator);
+ cpl->set_issue_date (xml_metadata.issue_date);
+ cpl->set_annotation_text (xml_metadata.annotation_text);
d.add (cpl);
shared_ptr<dcp::CPL> cpl (new dcp::CPL ("My film", dcp::FEATURE));
cpl->add (reel);
- cpl->set_metadata (xml_meta);
+ cpl->set_issuer (xml_meta.issuer);
+ cpl->set_creator (xml_meta.creator);
+ cpl->set_issue_date (xml_meta.issue_date);
+ cpl->set_annotation_text (xml_meta.annotation_text);
cpl->set_content_version_label_text ("foo");
dcp::DCP dcp ("build/test/write_interop_subtitle_test3");