From: Carl Hetherington Date: Fri, 9 Apr 2021 22:23:35 +0000 (+0200) Subject: Add a hint about >79 length subtitles. X-Git-Tag: v2.15.140~12 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=3a141d70f95dc447644197832f56c04e83cd49cb Add a hint about >79 length subtitles. --- diff --git a/doc/bv21.md b/doc/bv21.md index ce4f17d7a..b1d5bbd01 100644 --- a/doc/bv21.md +++ b/doc/bv21.md @@ -68,7 +68,7 @@ We don't warn specifically about non-24fps 3D; maybe we should. - Create: not enforced. - Verify: yes. -- Hint: yes, except TODO 79-character limit is not mentioned +- Hint: yes. # 7.3 Audio Sample Rates diff --git a/src/lib/hints.cc b/src/lib/hints.cc index 3c9339cc7..ea524df50 100644 --- a/src/lib/hints.cc +++ b/src/lib/hints.cc @@ -76,14 +76,6 @@ using namespace boost::placeholders; Hints::Hints (weak_ptr film) : WeakConstFilm (film) , _writer (new Writer(film, weak_ptr(), true)) - , _long_ccap (false) - , _overlap_ccap (false) - , _too_many_ccap_lines (false) - , _early_subtitle (false) - , _short_subtitle (false) - , _subtitles_too_close (false) - , _too_many_subtitle_lines (false) - , _long_subtitle (false) , _stop (false) { @@ -564,7 +556,12 @@ Hints::open_subtitle (PlayerText text, DCPTimePeriod period) if (longest_line > 52 && !_long_subtitle) { _long_subtitle = true; - hint (_("At least one of your subtitle lines has more than 52 characters. It is advisable to make each line 52 characters at most in length.")); + hint (_("At least one of your subtitle lines has more than 52 characters. It is recommended to make each line 52 characters at most in length.")); + } + + if (longest_line > 79 && !_very_long_subtitle) { + _very_long_subtitle = true; + hint (_("At least one of your subtitle lines has more than 79 characters. You should make each line 79 characters at most in length.")); } _last_subtitle = period; diff --git a/src/lib/hints.h b/src/lib/hints.h index a7e476b2c..c692f6fca 100644 --- a/src/lib/hints.h +++ b/src/lib/hints.h @@ -83,16 +83,17 @@ private: */ std::shared_ptr _writer; - bool _long_ccap; - bool _overlap_ccap; - bool _too_many_ccap_lines; + bool _long_ccap = false; + bool _overlap_ccap = false; + bool _too_many_ccap_lines = false; boost::optional _last_ccap; - bool _early_subtitle; - bool _short_subtitle; - bool _subtitles_too_close; - bool _too_many_subtitle_lines; - bool _long_subtitle; + bool _early_subtitle = false; + bool _short_subtitle = false; + bool _subtitles_too_close = false; + bool _too_many_subtitle_lines = false; + bool _long_subtitle = false; + bool _very_long_subtitle = false; boost::optional _last_subtitle; boost::atomic _stop;