+ LOG_GENERAL ("Selected CPL %1", _cpl);
+
+ auto try_to_parse_language = [](optional<string> lang) -> boost::optional<dcp::LanguageTag> {
+ try {
+ if (lang) {
+ return dcp::LanguageTag (*lang);
+ }
+ } catch (...) {}
+ return boost::none;
+ };
+
+ LOG_GENERAL ("Looking at %1 reels", cpl->reels().size());
+
+ for (auto i: cpl->reels()) {
+ LOG_GENERAL ("Reel %1", i->id());
+ vector<shared_ptr<dcpomatic::Font>> reel_fonts;
+
+ if (i->main_picture ()) {
+ if (!i->main_picture()->asset_ref().resolved()) {
+ /* We are missing this asset so we can't continue; examination will be repeated later */
+ _needs_assets = true;
+ LOG_GENERAL ("Main picture %1 of reel %2 is missing", i->main_picture()->id(), i->id());
+ return;
+ }
+
+ LOG_GENERAL ("Main picture %1 of reel %2 found", i->main_picture()->id(), i->id());
+
+ auto const frac = i->main_picture()->edit_rate ();