*/
+
#include "atmos_content.h"
#include "dcp_content.h"
#include "video_content.h"
#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;
int const DCPContentProperty::TEXTS = 606;
int const DCPContentProperty::CPL = 607;
+
DCPContent::DCPContent (boost::filesystem::path p)
: _encrypted (false)
, _needs_assets (false)
{
video = VideoContent::from_xml (this, node, version);
audio = AudioContent::from_xml (this, node, version);
- text = TextContent::from_xml (this, node, version);
+ list<string> notes;
+ text = TextContent::from_xml (this, node, version, notes);
atmos = AtmosContent::from_xml (this, node);
for (int i = 0; i < static_cast<int>(TextType::COUNT); ++i) {
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());
}
boost::mutex::scoped_lock lm (_mutex);
audio = make_shared<AudioContent>(this);
}
- audio->set_language (examiner->audio_language());
auto as = make_shared<AudioStream>(examiner->audio_frame_rate(), examiner->audio_length(), examiner->audio_channels());
audio->set_stream (as);
auto m = as->mapping ();
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;
}
}
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;
}
}