diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-08-26 20:31:28 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-08-26 20:31:28 +0100 |
| commit | 3d9f0c1ed2cf8306ce3bfa35883aab6443f41a7b (patch) | |
| tree | f7a2809ecce590be2c4199c2ca7699083ba611ee /src/lib | |
| parent | 5e57f97cd5dd5f6448963e4ed26bf6fe572b664d (diff) | |
Add content version to DCI metadata.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/dci_metadata.cc | 3 | ||||
| -rw-r--r-- | src/lib/dci_metadata.h | 8 | ||||
| -rw-r--r-- | src/lib/film.cc | 1 |
3 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/dci_metadata.cc b/src/lib/dci_metadata.cc index f25b3ddb0..27306a15e 100644 --- a/src/lib/dci_metadata.cc +++ b/src/lib/dci_metadata.cc @@ -24,10 +24,12 @@ #include "i18n.h" using std::string; +using boost::lexical_cast; using boost::shared_ptr; DCIMetadata::DCIMetadata (shared_ptr<const cxml::Node> node) { + content_version = node->number_child<int> ("ContentVersion"); audio_language = node->string_child ("AudioLanguage"); subtitle_language = node->string_child ("SubtitleLanguage"); territory = node->string_child ("Territory"); @@ -40,6 +42,7 @@ DCIMetadata::DCIMetadata (shared_ptr<const cxml::Node> node) void DCIMetadata::as_xml (xmlpp::Node* root) const { + root->add_child("ContentVersion")->add_child_text (lexical_cast<string> (content_version)); root->add_child("AudioLanguage")->add_child_text (audio_language); root->add_child("SubtitleLanguage")->add_child_text (subtitle_language); root->add_child("Territory")->add_child_text (territory); diff --git a/src/lib/dci_metadata.h b/src/lib/dci_metadata.h index b87609ed0..738e439de 100644 --- a/src/lib/dci_metadata.h +++ b/src/lib/dci_metadata.h @@ -30,12 +30,16 @@ namespace cxml { class DCIMetadata { public: - DCIMetadata () {} + DCIMetadata () + : content_version (1) + {} + DCIMetadata (boost::shared_ptr<const cxml::Node>); void as_xml (xmlpp::Node *) const; void read_old_metadata (std::string, std::string); - + + int content_version; std::string audio_language; std::string subtitle_language; std::string territory; diff --git a/src/lib/film.cc b/src/lib/film.cc index e6bf3bd5e..e235ee003 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -444,6 +444,7 @@ Film::dci_name (bool if_created_now) const if (dcp_content_type()) { d << "_" << dcp_content_type()->dci_name(); + d << "-" << dci_metadata().content_version; } if (three_d ()) { |
