From: Carl Hetherington Date: Tue, 9 Jun 2015 15:05:59 +0000 (+0100) Subject: Add hint about > 640kB font files (#588). X-Git-Tag: v2.0.49~4 X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=ea3e9db20ede512d5e5d73b41c4cb796eeef56d3 Add hint about > 640kB font files (#588). --- diff --git a/src/wx/fonts_dialog.cc b/src/wx/fonts_dialog.cc index a4a3d26c4..22078dafd 100644 --- a/src/wx/fonts_dialog.cc +++ b/src/wx/fonts_dialog.cc @@ -25,6 +25,7 @@ using std::list; using std::string; +using std::cout; using boost::shared_ptr; FontsDialog::FontsDialog (wxWindow* parent, shared_ptr content) diff --git a/src/wx/hints_dialog.cc b/src/wx/hints_dialog.cc index 406bcbf0f..83b4ece84 100644 --- a/src/wx/hints_dialog.cc +++ b/src/wx/hints_dialog.cc @@ -20,9 +20,12 @@ #include "lib/film.h" #include "lib/ratio.h" #include "lib/video_content.h" +#include "lib/subtitle_content.h" +#include "lib/font.h" #include "hints_dialog.h" -#include #include +#include +#include using boost::shared_ptr; using boost::dynamic_pointer_cast; @@ -66,7 +69,29 @@ HintsDialog::film_changed () return; } + ContentList content = film->content (); + _text->BeginStandardBullet (N_("standard/circle"), 1, 50); + + bool big_font_files = false; + if (film->interop ()) { + BOOST_FOREACH (shared_ptr i, content) { + shared_ptr s = dynamic_pointer_cast (i); + if (s) { + BOOST_FOREACH (shared_ptr j, s->fonts ()) { + if (j->file && boost::filesystem::file_size (j->file.get ()) >= (640 * 1024)) { + big_font_files = true; + } + } + } + } + } + + if (big_font_files) { + hint = true; + _text->WriteText (_("You have specified a font file which is larger than 640kB. This is very likely to cause problems on playback.")); + } + if (film->audio_channels() % 2) { hint = true; _text->WriteText (_("Your DCP has an odd number of audio channels. This is very likely to cause problems on playback.")); @@ -82,7 +107,6 @@ HintsDialog::film_changed () _text->Newline (); } - ContentList content = film->content (); int flat_or_narrower = 0; int scope = 0; for (ContentList::const_iterator i = content.begin(); i != content.end(); ++i) {