# Use distro-provided FFmpeg on Arch
deps = []
- deps.append(('libdcp', 'v1.8.49'))
+ deps.append(('libdcp', '05d1f72e835b90b42298a33d83ae9e618f9f54f5'))
deps.append(('libsub', 'v1.6.42'))
deps.append(('leqm-nrt', '93ae9e6'))
deps.append(('rtaudio', 'f619b76'))
_text_count[TextType::OPEN_SUBTITLE] = 1;
_open_subtitle_language = try_to_parse_language (i->main_subtitle()->language());
- for (auto const& font: i->main_subtitle()->asset()->font_data()) {
- reel_fonts.push_back(make_shared<dcpomatic::Font>(font.first, font.second));
+ for (auto const& font: i->main_subtitle()->asset()->fonts()) {
+ reel_fonts.push_back(make_shared<dcpomatic::Font>(font.load_id, font.data));
}
}
sc->fix_empty_font_ids ();
- auto font_data = sc->font_data();
+ auto fonts = sc->fonts();
for (auto node: sc->load_font_nodes()) {
- auto data = font_data.find(node->id);
- if (data != font_data.end()) {
- only_text()->add_font(make_shared<Font>(node->id, data->second));
+ auto font = std::find_if(fonts.begin(), fonts.end(), [node](dcp::SubtitleAsset::Font const& font) { return font.load_id == node->id; });
+ if (font != fonts.end()) {
+ only_text()->add_font(make_shared<Font>(node->id, font->data));
} else {
only_text()->add_font(make_shared<Font>(node->id));
}
case dcp::VerificationNote::Code::INVALID_MAIN_PICTURE_ACTIVE_AREA:
add(i, _("The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than an asset."));
break;
+ case dcp::VerificationNote::Code::DUPLICATE_ASSET_ID_IN_PKL:
+ add(i, _("The PKL %n has more than one asset with the same ID"));
+ break;
+ case dcp::VerificationNote::Code::DUPLICATE_ASSET_ID_IN_ASSETMAP:
+ add(i, _("The ASSETMAP %n has more than one asset with the same ID"));
+ break;
}
}
auto check_file = subtitle_file(film);
dcp::SMPTESubtitleAsset check_asset(check_file);
BOOST_CHECK_EQUAL(check_asset.load_font_nodes().size(), 1U);
- auto check_font_data = check_asset.font_data();
- BOOST_CHECK_EQUAL(check_font_data.size(), 1U);
- BOOST_CHECK(check_font_data.begin()->second == dcp::ArrayData(default_font_file()));
+ auto check_fonts = check_asset.fonts();
+ BOOST_CHECK_EQUAL(check_fonts.size(), 1U);
+ BOOST_CHECK(check_fonts[0].data == dcp::ArrayData(default_font_file()));
}
auto check_file = subtitle_file(film);
dcp::SMPTESubtitleAsset check_asset(check_file);
BOOST_CHECK_EQUAL(check_asset.load_font_nodes().size(), 1U);
- auto check_font_data = check_asset.font_data();
- BOOST_CHECK_EQUAL(check_font_data.size(), 1U);
- BOOST_CHECK(check_font_data.begin()->second == dcp::ArrayData(default_font_file()));
+ auto check_fonts = check_asset.fonts();
+ BOOST_CHECK_EQUAL(check_fonts.size(), 1U);
+ BOOST_CHECK(check_fonts[0].data == dcp::ArrayData(default_font_file()));
}