using std::vector;
using boost::scoped_ptr;
using boost::optional;
-using boost::function;
+using std::function;
using std::dynamic_pointer_cast;
#if BOOST_VERSION >= 106100
using namespace boost::placeholders;
if (!have_metadata) {
throw DCPError ("No ASSETMAP or ASSETMAP.xml file found: is this a DCP?");
} else {
- throw DCPError (
- "This looks like a DCP-o-matic project folder, which cannot be added to a different project. "
- "Choose the DCP directory inside the DCP-o-matic project folder if that's what you want to import."
- );
+ throw ProjectFolderError ();
}
}
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 ();
atmos->set_length (examiner->atmos_length());
}
- list<shared_ptr<TextContent> > new_text;
- for (int i = 0; i < static_cast<int>(TextType::COUNT); ++i) {
- for (int j = 0; j < examiner->text_count(static_cast<TextType>(i)); ++j) {
- auto c = make_shared<TextContent>(this, static_cast<TextType>(i), static_cast<TextType>(i));
- if (i == static_cast<int>(TextType::CLOSED_CAPTION)) {
- c->set_dcp_track (examiner->dcp_text_track(j));
- }
- new_text.push_back (c);
- }
+ list<shared_ptr<TextContent>> new_text;
+
+ for (int i = 0; i < examiner->text_count(TextType::OPEN_SUBTITLE); ++i) {
+ auto c = make_shared<TextContent>(this, TextType::OPEN_SUBTITLE, TextType::OPEN_SUBTITLE);
+ c->set_language (examiner->open_subtitle_language());
+ new_text.push_back (c);
+ }
+
+ for (int i = 0; i < examiner->text_count(TextType::CLOSED_CAPTION); ++i) {
+ auto c = make_shared<TextContent>(this, TextType::CLOSED_CAPTION, TextType::CLOSED_CAPTION);
+ c->set_dcp_track (examiner->dcp_text_track(i));
+ new_text.push_back (c);
}
{
_cpl = examiner->cpl ();
_reel_lengths = examiner->reel_lengths ();
for (auto const& i: examiner->markers()) {
- _markers[i.first] = ContentTime(i.second.as_editable_units(DCPTime::HZ));
+ _markers[i.first] = ContentTime(i.second.as_editable_units_ceil(DCPTime::HZ));
}
_ratings = examiner->ratings ();
_content_versions = examiner->content_versions ();