From 3a141d70f95dc447644197832f56c04e83cd49cb Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 10 Apr 2021 00:23:35 +0200 Subject: [PATCH] Add a hint about >79 length subtitles. --- doc/bv21.md | 2 +- src/lib/hints.cc | 15 ++++++--------- src/lib/hints.h | 17 +++++++++-------- 3 files changed, 16 insertions(+), 18 deletions(-) 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; -- 2.30.2