projects
/
dcpomatic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
afbe4ce
)
Bump libdcp for fixes to font handling in combine operations.
multi-fonts-in-pkl
author
Carl Hetherington
<cth@carlh.net>
Sun, 1 Jan 2023 21:41:57 +0000
(22:41 +0100)
committer
Carl Hetherington
<cth@carlh.net>
Sun, 1 Jan 2023 22:15:31 +0000
(23:15 +0100)
cscript
patch
|
blob
|
history
src/lib/dcp_examiner.cc
patch
|
blob
|
history
src/lib/dcp_subtitle_content.cc
patch
|
blob
|
history
src/wx/verify_dcp_dialog.cc
patch
|
blob
|
history
test/subtitle_font_id_test.cc
patch
|
blob
|
history
diff --git
a/cscript
b/cscript
index 0127aa423844654dd48b41b08a91166c5f69f3f9..48f20995c95f5a91c27ef21b780c51cac1f3b50b 100644
(file)
--- a/
cscript
+++ b/
cscript
@@
-453,7
+453,7
@@
def dependencies(target, options):
# Use distro-provided FFmpeg on Arch
deps = []
# 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'))
deps.append(('libsub', 'v1.6.42'))
deps.append(('leqm-nrt', '93ae9e6'))
deps.append(('rtaudio', 'f619b76'))
diff --git
a/src/lib/dcp_examiner.cc
b/src/lib/dcp_examiner.cc
index af9e38873f83688c989e55ab226f4ad9cb326e99..6f02f3ae50748cfc5ab3d9eb06b1611b626c7477 100644
(file)
--- a/
src/lib/dcp_examiner.cc
+++ b/
src/lib/dcp_examiner.cc
@@
-203,8
+203,8
@@
DCPExaminer::DCPExaminer (shared_ptr<const DCPContent> content, bool tolerant)
_text_count[TextType::OPEN_SUBTITLE] = 1;
_open_subtitle_language = try_to_parse_language (i->main_subtitle()->language());
_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()->font
s
()) {
+ reel_fonts.push_back(make_shared<dcpomatic::Font>(font.
load_id, font.data
));
}
}
}
}
diff --git
a/src/lib/dcp_subtitle_content.cc
b/src/lib/dcp_subtitle_content.cc
index 8908d34e6d49a4b5d18f6fb631d55a15f6dbc7a9..832d9bafd3efde8ae026061b46b6d88cb0b92e7a 100644
(file)
--- a/
src/lib/dcp_subtitle_content.cc
+++ b/
src/lib/dcp_subtitle_content.cc
@@
-74,11
+74,11
@@
DCPSubtitleContent::examine (shared_ptr<const Film> film, shared_ptr<Job> job)
sc->fix_empty_font_ids ();
sc->fix_empty_font_ids ();
- auto font
_data = sc->font_data
();
+ auto font
s = sc->fonts
();
for (auto node: sc->load_font_nodes()) {
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));
}
} else {
only_text()->add_font(make_shared<Font>(node->id));
}
diff --git
a/src/wx/verify_dcp_dialog.cc
b/src/wx/verify_dcp_dialog.cc
index bd36334cdcc12a56d8ce05ba781e4aa1fa4bef7a..81f8e2d5f85290ac222b7af9be7533a10f9b0890 100644
(file)
--- a/
src/wx/verify_dcp_dialog.cc
+++ b/
src/wx/verify_dcp_dialog.cc
@@
-383,6
+383,12
@@
VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr<VerifyDCPJob> job
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::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;
}
}
}
}
diff --git
a/test/subtitle_font_id_test.cc
b/test/subtitle_font_id_test.cc
index 42ed8858f022aadc4128af149c382b5b459c8607..0e651f5f4dfdf935dec0733a115561d6e40538e6 100644
(file)
--- a/
test/subtitle_font_id_test.cc
+++ b/
test/subtitle_font_id_test.cc
@@
-123,9
+123,9
@@
BOOST_AUTO_TEST_CASE(make_dcp_with_subs_without_font_tag)
auto check_file = subtitle_file(film);
dcp::SMPTESubtitleAsset check_asset(check_file);
BOOST_CHECK_EQUAL(check_asset.load_font_nodes().size(), 1U);
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_font
s = check_asset.fonts
();
+ BOOST_CHECK_EQUAL(check_font
s
.size(), 1U);
+ BOOST_CHECK(check_font
s[0].data
== dcp::ArrayData(default_font_file()));
}
}
@@
-182,8
+182,8
@@
BOOST_AUTO_TEST_CASE(make_dcp_with_subs_in_dcp_without_font_tag)
auto check_file = subtitle_file(film);
dcp::SMPTESubtitleAsset check_asset(check_file);
BOOST_CHECK_EQUAL(check_asset.load_font_nodes().size(), 1U);
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_font
s = check_asset.fonts
();
+ BOOST_CHECK_EQUAL(check_font
s
.size(), 1U);
+ BOOST_CHECK(check_font
s[0].data
== dcp::ArrayData(default_font_file()));
}
}