X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fdcp_content.cc;h=eb1c5f42c2a3a5b525da1f01fe219fc72ef8e7fd;hb=0330b684fe616b465e65b67f7d995e659fa83fca;hp=f6a74501c7cae8b13102e0f9a586bd9bd08d90cf;hpb=8963f0007af1a312017b9627c18b82ec2a577591;p=dcpomatic.git diff --git a/src/lib/dcp_content.cc b/src/lib/dcp_content.cc index f6a74501c..eb1c5f42c 100644 --- a/src/lib/dcp_content.cc +++ b/src/lib/dcp_content.cc @@ -18,6 +18,7 @@ */ + #include "atmos_content.h" #include "dcp_content.h" #include "video_content.h" @@ -45,25 +46,24 @@ #include "i18n.h" + using std::cout; -using std::distance; +using std::dynamic_pointer_cast; +using std::function; using std::list; using std::make_shared; -using std::map; -using std::pair; using std::shared_ptr; using std::string; using std::vector; -using boost::scoped_ptr; using boost::optional; -using std::function; -using std::dynamic_pointer_cast; +using boost::scoped_ptr; #if BOOST_VERSION >= 106100 using namespace boost::placeholders; #endif using dcp::raw_convert; using namespace dcpomatic; + int const DCPContentProperty::NEEDS_ASSETS = 600; int const DCPContentProperty::NEEDS_KDM = 601; int const DCPContentProperty::REFERENCE_VIDEO = 602; @@ -73,6 +73,7 @@ int const DCPContentProperty::NAME = 605; int const DCPContentProperty::TEXTS = 606; int const DCPContentProperty::CPL = 607; + DCPContent::DCPContent (boost::filesystem::path p) : _encrypted (false) , _needs_assets (false) @@ -96,7 +97,8 @@ DCPContent::DCPContent (cxml::ConstNodePtr node, int version) { video = VideoContent::from_xml (this, node, version); audio = AudioContent::from_xml (this, node, version); - text = TextContent::from_xml (this, node, version); + list notes; + text = TextContent::from_xml (this, node, version, notes); atmos = AtmosContent::from_xml (this, node); for (int i = 0; i < static_cast(TextType::COUNT); ++i) { @@ -201,7 +203,7 @@ DCPContent::read_sub_directory (boost::filesystem::path p) if (boost::filesystem::is_regular_file(i.path())) { LOG_GENERAL ("Inside there's regular file %1", i.path().string()); add_path (i.path()); - } else if (boost::filesystem::is_directory (i.path())) { + } else if (boost::filesystem::is_directory(i.path()) && i.path().filename() != ".AppleDouble") { LOG_GENERAL ("Inside there's directory %1", i.path().string()); read_sub_directory (i.path()); } @@ -242,7 +244,6 @@ DCPContent::examine (shared_ptr film, shared_ptr job) boost::mutex::scoped_lock lm (_mutex); audio = make_shared(this); } - audio->set_language (examiner->audio_language()); auto as = make_shared(examiner->audio_frame_rate(), examiner->audio_length(), examiner->audio_channels()); audio->set_stream (as); auto m = as->mapping (); @@ -741,7 +742,7 @@ DCPContent::can_reference_text (shared_ptr film, TextType type, stri return false; } else if (i->main_subtitle()->entry_point().get_value_or(0) != 0) { /// TRANSLATORS: this string will follow "Cannot reference this DCP: " - why_not = _("one if its subtitle reels has a non-zero entry point so it must be re-written."); + why_not = _("one of its subtitle reels has a non-zero entry point so it must be re-written."); return false; } } @@ -754,7 +755,7 @@ DCPContent::can_reference_text (shared_ptr film, TextType type, stri for (auto j: i->closed_captions()) { if (j->entry_point().get_value_or(0) != 0) { /// TRANSLATORS: this string will follow "Cannot reference this DCP: " - why_not = _("one if its closed caption has a non-zero entry point so it must be re-written."); + why_not = _("one of its closed caption has a non-zero entry point so it must be re-written."); return false; } }