diff options
| author | Carl Hetherington <cth@carlh.net> | 2020-09-27 21:18:51 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2020-09-27 21:18:51 +0200 |
| commit | c78e9f0d5e802e1bb020694870357ef271217628 (patch) | |
| tree | e7fdc2f153206b24495f96f9a20814afe55c5bc6 /src/lib | |
| parent | be48763fb25bf516bd394827979342a30f2a594c (diff) | |
Fixes for new libdcp with multiple content versions.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/copy_dcp_details_to_film.cc | 6 | ||||
| -rw-r--r-- | src/lib/dcp_content.cc | 10 | ||||
| -rw-r--r-- | src/lib/dcp_content.h | 6 | ||||
| -rw-r--r-- | src/lib/dcp_examiner.cc | 4 | ||||
| -rw-r--r-- | src/lib/dcp_examiner.h | 6 |
5 files changed, 17 insertions, 15 deletions
diff --git a/src/lib/copy_dcp_details_to_film.cc b/src/lib/copy_dcp_details_to_film.cc index d73ee8792..c33b0974b 100644 --- a/src/lib/copy_dcp_details_to_film.cc +++ b/src/lib/copy_dcp_details_to_film.cc @@ -70,10 +70,6 @@ copy_dcp_details_to_film (shared_ptr<const DCPContent> dcp, shared_ptr<Film> fil } film->set_ratings (dcp->ratings()); - - vector<string> cv; - cv.push_back (dcp->content_version()); - film->set_content_versions (cv); + film->set_content_versions (dcp->content_versions()); } - diff --git a/src/lib/dcp_content.cc b/src/lib/dcp_content.cc index 00ffb390c..0bef73f77 100644 --- a/src/lib/dcp_content.cc +++ b/src/lib/dcp_content.cc @@ -158,7 +158,9 @@ DCPContent::DCPContent (cxml::ConstNodePtr node, int version) _ratings.push_back (dcp::Rating(i)); } - _content_version = node->optional_string_child("ContentVersion").get_value_or(""); + BOOST_FOREACH (cxml::ConstNodePtr i, node->node_children("ContentVersion")) { + _content_versions.push_back (i->content()); + } } void @@ -274,7 +276,7 @@ DCPContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job) _markers[i->first] = ContentTime(i->second.as_editable_units(DCPTime::HZ)); } _ratings = examiner->ratings (); - _content_version = examiner->content_version (); + _content_versions = examiner->content_versions (); } if (old_texts == texts) { @@ -390,7 +392,9 @@ DCPContent::as_xml (xmlpp::Node* node, bool with_paths) const i.as_xml (rating); } - node->add_child("ContentVersion")->add_child_text (_content_version); + BOOST_FOREACH (string i, _content_versions) { + node->add_child("ContentVersion")->add_child_text(i); + } } DCPTime diff --git a/src/lib/dcp_content.h b/src/lib/dcp_content.h index 6d707670f..e8532ff57 100644 --- a/src/lib/dcp_content.h +++ b/src/lib/dcp_content.h @@ -162,8 +162,8 @@ public: return _ratings; } - std::string content_version () const { - return _content_version; + std::vector<std::string> content_versions () const { + return _content_versions; } private: @@ -214,7 +214,7 @@ private: std::list<int64_t> _reel_lengths; std::map<dcp::Marker, dcpomatic::ContentTime> _markers; std::vector<dcp::Rating> _ratings; - std::string _content_version; + std::vector<std::string> _content_versions; }; #endif diff --git a/src/lib/dcp_examiner.cc b/src/lib/dcp_examiner.cc index 65cfb884e..27eb74a5d 100644 --- a/src/lib/dcp_examiner.cc +++ b/src/lib/dcp_examiner.cc @@ -260,7 +260,9 @@ DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content, bool tolerant) _three_d = !cpl->reels().empty() && cpl->reels().front()->main_picture() && dynamic_pointer_cast<dcp::StereoPictureAsset> (cpl->reels().front()->main_picture()->asset()); _ratings = cpl->ratings(); - _content_version = cpl->content_version().label_text; + BOOST_FOREACH (dcp::ContentVersion i, cpl->content_versions()) { + _content_versions.push_back (i.label_text); + } _cpl = cpl->id (); } diff --git a/src/lib/dcp_examiner.h b/src/lib/dcp_examiner.h index cb68aa523..232d7f0d8 100644 --- a/src/lib/dcp_examiner.h +++ b/src/lib/dcp_examiner.h @@ -134,8 +134,8 @@ public: return _ratings; } - std::string content_version () const { - return _content_version; + std::vector<std::string> content_versions () const { + return _content_versions; } bool has_atmos () const { @@ -176,7 +176,7 @@ private: std::list<int64_t> _reel_lengths; std::map<dcp::Marker, dcp::Time> _markers; std::vector<dcp::Rating> _ratings; - std::string _content_version; + std::vector<std::string> _content_versions; bool _has_atmos; Frame _atmos_length; dcp::Fraction _atmos_edit_rate; |
