Hack to avoid empty tracks appearing in the DCP Track control.
authorCarl Hetherington <cth@carlh.net>
Wed, 27 Mar 2019 11:17:22 +0000 (11:17 +0000)
committerCarl Hetherington <cth@carlh.net>
Wed, 27 Mar 2019 11:17:22 +0000 (11:17 +0000)
src/lib/film.cc
src/wx/text_panel.cc

index f61d5106f14e42c5a60e71d015ed1221d015c152..9be048b65d8caa23c6434d1fe4ff8cfebcc66efc 100644 (file)
@@ -1662,7 +1662,7 @@ Film::closed_caption_tracks () const
        list<DCPTextTrack> tt;
        BOOST_FOREACH (shared_ptr<Content> i, content()) {
                BOOST_FOREACH (shared_ptr<TextContent> j, i->text) {
-                       /* XXX: Empty DCPTextTrack ends up being a magic value here */
+                       /* XXX: Empty DCPTextTrack ends up being a magic value here - the "unknown" or "not specified" track */
                        DCPTextTrack dtt = j->dcp_track().get_value_or(DCPTextTrack());
                        if (j->type() == TEXT_CLOSED_CAPTION && find(tt.begin(), tt.end(), dtt) == tt.end()) {
                                tt.push_back (dtt);
index b5adf551e787ffb4f383966d380f82cd90e1c69a..a9f2f91f1bb6425a0322dea52df5472e4bd6fdfc 100644 (file)
@@ -255,7 +255,12 @@ TextPanel::update_dcp_tracks ()
 {
        _dcp_track->Clear ();
        BOOST_FOREACH (DCPTextTrack i, _parent->film()->closed_caption_tracks()) {
-               _dcp_track->Append (std_to_wx(i.summary()));
+               /* XXX: don't display the "magic" track which has empty name and language;
+                  this is a nasty hack (see also Film::closed_caption_tracks)
+               */
+               if (!i.name.empty() || !i.language.empty()) {
+                       _dcp_track->Append (std_to_wx(i.summary()));
+               }
        }
 
        if (_parent->film()->closed_caption_tracks().size() < 6) {