summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-08-26 20:31:28 +0100
committerCarl Hetherington <cth@carlh.net>2013-08-26 20:31:28 +0100
commit3d9f0c1ed2cf8306ce3bfa35883aab6443f41a7b (patch)
treef7a2809ecce590be2c4199c2ca7699083ba611ee /src/lib
parent5e57f97cd5dd5f6448963e4ed26bf6fe572b664d (diff)
Add content version to DCI metadata.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/dci_metadata.cc3
-rw-r--r--src/lib/dci_metadata.h8
-rw-r--r--src/lib/film.cc1
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 ()) {