+ if (examiner->has_atmos()) {
+ {
+ boost::mutex::scoped_lock lm (_mutex);
+ atmos = make_shared<AtmosContent>(this);
+ }
+ /* Setting length will cause calculations to be made based on edit rate, so that must
+ * be set up first otherwise hard-to-spot exceptions will be thrown.
+ */
+ atmos->set_edit_rate (examiner->atmos_edit_rate());
+ atmos->set_length (examiner->atmos_length());
+ }
+
+ 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());
+ add_fonts_from_examiner(c, examiner->fonts());
+ 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);
+ }
+