root->add_child("Id")->add_child_text ("urn:uuid:" + _id);
root->add_child("AnnotationText")->add_child_text (_name);
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("ContentTitleText")->add_child_text (_name);
root->add_child("ContentKind")->add_child_text (content_kind_to_string (_content_kind));
xmlpp::Node* reel_list = root->add_child ("ReelList");
for (list<shared_ptr<Reel> >::const_iterator i = _reels.begin(); i != _reels.end(); ++i) {
- (*i)->write_to_cpl (reel_list);
+ (*i)->write_to_cpl (reel_list, interop);
}
if (crypt) {
}
root->add_child("Id")->add_child_text ("urn:uuid:" + make_uuid());
- root->add_child("Creator")->add_child_text (metadata.creator);
- root->add_child("VolumeCount")->add_child_text ("1");
- root->add_child("IssueDate")->add_child_text (metadata.issue_date);
- root->add_child("Issuer")->add_child_text (metadata.issuer);
+ root->add_child("AnnotationText")->add_child_text ("Created by " + metadata.creator);
+ if (interop) {
+ root->add_child("VolumeCount")->add_child_text ("1");
+ 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);
+ } else {
+ root->add_child("Creator")->add_child_text (metadata.creator);
+ root->add_child("VolumeCount")->add_child_text ("1");
+ root->add_child("IssueDate")->add_child_text (metadata.issue_date);
+ root->add_child("Issuer")->add_child_text (metadata.issuer);
+ }
+
xmlpp::Node* asset_list = root->add_child ("AssetList");
xmlpp::Node* asset = asset_list->add_child ("Asset");
}
void
-PictureAsset::write_to_cpl (xmlpp::Node* node) const
+PictureAsset::write_to_cpl (xmlpp::Node* node, bool interop) const
{
MXFAsset::write_to_cpl (node);
assert (i != c.end ());
(*i)->add_child ("FrameRate")->add_child_text (lexical_cast<string> (_edit_rate * edit_rate_factor ()) + " 1");
- (*i)->add_child ("ScreenAspectRatio")->add_child_text (lexical_cast<string> (_size.width) + " " + lexical_cast<string> (_size.height));
+ if (interop) {
+ (*i)->add_child ("ScreenAspectRatio")->add_child_text (lexical_cast<string> (float (_size.width) / _size.height));
+ } else {
+ (*i)->add_child ("ScreenAspectRatio")->add_child_text (lexical_cast<string> (_size.width) + " " + lexical_cast<string> (_size.height));
+ }
}
bool
return _size;
}
- void write_to_cpl (xmlpp::Node *) const;
+ void write_to_cpl (xmlpp::Node *, bool) const;
protected:
using namespace libdcp;
void
-Reel::write_to_cpl (xmlpp::Node* node) const
+Reel::write_to_cpl (xmlpp::Node* node, bool interop) const
{
xmlpp::Node* reel = node->add_child ("Reel");
reel->add_child("Id")->add_child_text ("urn:uuid:" + make_uuid());
xmlpp::Node* asset_list = reel->add_child ("AssetList");
if (_main_picture) {
- _main_picture->write_to_cpl (asset_list);
+ _main_picture->write_to_cpl (asset_list, interop);
}
if (_main_sound) {
return _main_subtitle;
}
- void write_to_cpl (xmlpp::Node *) const;
+ void write_to_cpl (xmlpp::Node *, bool) const;
bool encrypted () const;