projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Rename TYPE_DEBUG_PLAYER to TYPE_DEBUG_VIDEO_VIEW.
[dcpomatic.git]
/
src
/
lib
/
dcp_content.cc
diff --git
a/src/lib/dcp_content.cc
b/src/lib/dcp_content.cc
index 94d5c010bd0b7202c79b48fb1dc4e809373c06fc..4280ad13aa7474b698a5255c3e2e635216d15ba2 100644
(file)
--- a/
src/lib/dcp_content.cc
+++ b/
src/lib/dcp_content.cc
@@
-151,6
+151,12
@@
DCPContent::DCPContent (cxml::ConstNodePtr node, int version)
BOOST_FOREACH (cxml::ConstNodePtr i, node->node_children("Marker")) {
_markers[dcp::marker_from_string(i->string_attribute("type"))] = ContentTime(raw_convert<int64_t>(i->content()));
}
BOOST_FOREACH (cxml::ConstNodePtr i, node->node_children("Marker")) {
_markers[dcp::marker_from_string(i->string_attribute("type"))] = ContentTime(raw_convert<int64_t>(i->content()));
}
+
+ BOOST_FOREACH (cxml::ConstNodePtr i, node->node_children("Rating")) {
+ _ratings.push_back (dcp::Rating(i));
+ }
+
+ _content_version = node->optional_string_child("ContentVersion").get_value_or("");
}
void
}
void
@@
-249,6
+255,8
@@
DCPContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job)
for (map<dcp::Marker, dcp::Time>::const_iterator i = markers.begin(); i != markers.end(); ++i) {
_markers[i->first] = ContentTime(i->second.as_editable_units(DCPTime::HZ));
}
for (map<dcp::Marker, dcp::Time>::const_iterator i = markers.begin(); i != markers.end(); ++i) {
_markers[i->first] = ContentTime(i->second.as_editable_units(DCPTime::HZ));
}
+ _ratings = examiner->ratings ();
+ _content_version = examiner->content_version ();
}
if (old_texts == texts) {
}
if (old_texts == texts) {
@@
-354,6
+362,13
@@
DCPContent::as_xml (xmlpp::Node* node, bool with_paths) const
marker->set_attribute("type", dcp::marker_to_string(i->first));
marker->add_child_text(raw_convert<string>(i->second.get()));
}
marker->set_attribute("type", dcp::marker_to_string(i->first));
marker->add_child_text(raw_convert<string>(i->second.get()));
}
+
+ BOOST_FOREACH (dcp::Rating i, _ratings) {
+ xmlpp::Element* rating = node->add_child("Rating");
+ i.as_xml (rating);
+ }
+
+ node->add_child("ContentVersion")->add_child_text (_content_version);
}
DCPTime
}
DCPTime
@@
-606,13
+621,8
@@
DCPContent::can_reference_video (shared_ptr<const Film> film, string& why_not) c
return false;
}
return false;
}
- Resolution video_res = RESOLUTION_2K;
- if (video->size().width > 2048 || video->size().height > 1080) {
- video_res = RESOLUTION_4K;
- }
-
- if (film->resolution() != video_res) {
- if (video_res == RESOLUTION_4K) {
+ if (film->resolution() != resolution()) {
+ if (resolution() == RESOLUTION_4K) {
/// TRANSLATORS: this string will follow "Cannot reference this DCP: "
why_not = _("it is 4K and the film is 2K.");
} else {
/// TRANSLATORS: this string will follow "Cannot reference this DCP: "
why_not = _("it is 4K and the film is 2K.");
} else {
@@
-738,3
+748,15
@@
DCPContent::kdm_timing_window_valid () const
dcp::LocalTime now;
return _kdm->not_valid_before() < now && now < _kdm->not_valid_after();
}
dcp::LocalTime now;
return _kdm->not_valid_before() < now && now < _kdm->not_valid_after();
}
+
+
+Resolution
+DCPContent::resolution () const
+{
+ if (video->size().width > 2048 || video->size().height > 1080) {
+ return RESOLUTION_4K;
+ }
+
+ return RESOLUTION_2K;
+}
+