Support content version metadata (#782).
[dcpomatic.git] / src / lib / film.cc
index f7fd96a01a35e4f405bb0f575ec9cb161092de03..2a50e8c81dd732d360cf2f93147c253d355b7942 100644 (file)
@@ -427,6 +427,7 @@ Film::metadata (bool with_content_paths) const
        BOOST_FOREACH (dcp::Rating i, _ratings) {
                i.as_xml (root->add_child("Rating"));
        }
+       root->add_child("ContentVersion")->add_child_text(_content_version);
        _playlist->as_xml (root->add_child ("Playlist"), with_content_paths);
 
        return doc;
@@ -570,6 +571,8 @@ Film::read_metadata (optional<boost::filesystem::path> path)
                _ratings.push_back (dcp::Rating(i));
        }
 
+       _content_version = f.optional_string_child("ContentVersion").get_value_or("");
+
        list<string> notes;
        _playlist->set_from_xml (shared_from_this(), f.node_child ("Playlist"), _state_version, notes);
 
@@ -1763,6 +1766,13 @@ Film::set_ratings (vector<dcp::Rating> r)
        _ratings = r;
 }
 
+void
+Film::set_content_version (string v)
+{
+       ChangeSignaller<Film> ch (this, CONTENT_VERSION);
+       _content_version = v;
+}
+
 optional<DCPTime>
 Film::marker (dcp::Marker type) const
 {