diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-03-27 23:28:27 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-03-27 23:28:27 +0100 |
| commit | 47c34c6c7c82396b62e101283cb25b8726dbaefd (patch) | |
| tree | 2a4117899fcaddc7d5b9aae89315cecd145174c8 /src | |
| parent | 05502433d24e916bd99db3bac26b4903f961da06 (diff) | |
why_not in can_reference can just be a string rather than a list of strings.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/dcp_content.cc | 26 | ||||
| -rw-r--r-- | src/lib/dcp_content.h | 10 | ||||
| -rw-r--r-- | src/wx/audio_panel.cc | 2 | ||||
| -rw-r--r-- | src/wx/content_sub_panel.cc | 7 | ||||
| -rw-r--r-- | src/wx/content_sub_panel.h | 2 | ||||
| -rw-r--r-- | src/wx/subtitle_panel.cc | 2 | ||||
| -rw-r--r-- | src/wx/video_panel.cc | 2 |
7 files changed, 24 insertions, 27 deletions
diff --git a/src/lib/dcp_content.cc b/src/lib/dcp_content.cc index ad489917d..c4f73e2b2 100644 --- a/src/lib/dcp_content.cc +++ b/src/lib/dcp_content.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2014-2016 Carl Hetherington <cth@carlh.net> + Copyright (C) 2014-2018 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -429,22 +429,22 @@ DCPContent::reel_split_points () const } bool -DCPContent::can_reference (function<shared_ptr<ContentPart> (shared_ptr<const Content>)> part, string overlapping, list<string>& why_not) const +DCPContent::can_reference (function<shared_ptr<ContentPart> (shared_ptr<const Content>)> part, string overlapping, string& why_not) const { /* We must be using the same standard as the film */ if (_standard) { if (_standard.get() == dcp::INTEROP && !film()->interop()) { - why_not.push_back (_("The film is set to SMPTE and this DCP is Interop.")); + why_not = _("The film is set to SMPTE and this DCP is Interop."); return false; } else if (_standard.get() == dcp::SMPTE && film()->interop()) { - why_not.push_back (_("The film is set to Interop and this DCP is SMPTE.")); + why_not = _("The film is set to Interop and this DCP is SMPTE."); return false; } } /* And the same frame rate */ if (!video_frame_rate() || (lrint(video_frame_rate().get()) != film()->video_frame_rate())) { - why_not.push_back (_("The film has a different frame rate to this DCP.")); + why_not = _("The film has a different frame rate to this DCP."); return false; } @@ -466,14 +466,14 @@ DCPContent::can_reference (function<shared_ptr<ContentPart> (shared_ptr<const Co */ BOOST_FOREACH (DCPTimePeriod i, reel_list) { if (find (fr.begin(), fr.end(), i) == fr.end ()) { - why_not.push_back (_("The reel lengths in the film differ from those in the DCP; set the reel mode to 'split by video content'.")); + why_not = _("The reel lengths in the film differ from those in the DCP; set the reel mode to 'split by video content'."); return false; } } ContentList a = overlaps (film()->content(), part, position(), end()); if (a.size() != 1 || a.front().get() != this) { - why_not.push_back (overlapping); + why_not = overlapping; return false; } @@ -481,10 +481,10 @@ DCPContent::can_reference (function<shared_ptr<ContentPart> (shared_ptr<const Co } bool -DCPContent::can_reference_video (list<string>& why_not) const +DCPContent::can_reference_video (string& why_not) const { if (film()->frame_size() != video->size()) { - why_not.push_back (_("The video frame size in the film differs from that in the DCP.")); + why_not = _("The video frame size in the film differs from that in the DCP."); return false; } @@ -492,7 +492,7 @@ DCPContent::can_reference_video (list<string>& why_not) const } bool -DCPContent::can_reference_audio (list<string>& why_not) const +DCPContent::can_reference_audio (string& why_not) const { shared_ptr<DCPDecoder> decoder; try { @@ -507,7 +507,7 @@ DCPContent::can_reference_audio (list<string>& why_not) const BOOST_FOREACH (shared_ptr<dcp::Reel> i, decoder->reels()) { if (!i->main_sound()) { - why_not.push_back (_("The DCP does not have sound in all reels.")); + why_not = _("The DCP does not have sound in all reels."); return false; } } @@ -516,7 +516,7 @@ DCPContent::can_reference_audio (list<string>& why_not) const } bool -DCPContent::can_reference_subtitle (list<string>& why_not) const +DCPContent::can_reference_subtitle (string& why_not) const { shared_ptr<DCPDecoder> decoder; try { @@ -531,7 +531,7 @@ DCPContent::can_reference_subtitle (list<string>& why_not) const BOOST_FOREACH (shared_ptr<dcp::Reel> i, decoder->reels()) { if (!i->main_subtitle()) { - why_not.push_back (_("The DCP does not have subtitles in all reels.")); + why_not = _("The DCP does not have subtitles in all reels."); return false; } } diff --git a/src/lib/dcp_content.h b/src/lib/dcp_content.h index 892b6aa73..371ec7fff 100644 --- a/src/lib/dcp_content.h +++ b/src/lib/dcp_content.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2014-2016 Carl Hetherington <cth@carlh.net> + Copyright (C) 2014-2018 Carl Hetherington <cth@carlh.net> This file is part of DCP-o-matic. @@ -97,7 +97,7 @@ public: return _reference_video; } - bool can_reference_video (std::list<std::string> &) const; + bool can_reference_video (std::string &) const; void set_reference_audio (bool r); @@ -106,7 +106,7 @@ public: return _reference_audio; } - bool can_reference_audio (std::list<std::string> &) const; + bool can_reference_audio (std::string &) const; void set_reference_subtitle (bool r); @@ -115,7 +115,7 @@ public: return _reference_subtitle; } - bool can_reference_subtitle (std::list<std::string> &) const; + bool can_reference_subtitle (std::string &) const; void set_cpl (std::string id); @@ -139,7 +139,7 @@ private: bool can_reference ( boost::function <boost::shared_ptr<ContentPart> (boost::shared_ptr<const Content>)>, std::string overlapping, - std::list<std::string>& why_not + std::string& why_not ) const; std::string _name; diff --git a/src/wx/audio_panel.cc b/src/wx/audio_panel.cc index fd63abf6c..14d8db07e 100644 --- a/src/wx/audio_panel.cc +++ b/src/wx/audio_panel.cc @@ -267,7 +267,7 @@ AudioPanel::setup_sensitivity () dcp = dynamic_pointer_cast<DCPContent> (sel.front ()); } - list<string> why_not; + string why_not; bool const can_reference = dcp && dcp->can_reference_audio (why_not); setup_refer_button (_reference, dcp, can_reference, why_not); diff --git a/src/wx/content_sub_panel.cc b/src/wx/content_sub_panel.cc index e0e0cd12b..92eb5a32f 100644 --- a/src/wx/content_sub_panel.cc +++ b/src/wx/content_sub_panel.cc @@ -42,7 +42,7 @@ ContentSubPanel::ContentSubPanel (ContentPanel* p, wxString name) } void -ContentSubPanel::setup_refer_button (wxCheckBox* button, shared_ptr<DCPContent> dcp, bool can_reference, list<string> why_not) const +ContentSubPanel::setup_refer_button (wxCheckBox* button, shared_ptr<DCPContent> dcp, bool can_reference, string why_not) const { button->Enable (can_reference); @@ -50,10 +50,7 @@ ContentSubPanel::setup_refer_button (wxCheckBox* button, shared_ptr<DCPContent> if (!dcp) { s = _("No DCP selected."); } else if (!can_reference) { - s = _("Cannot reference this DCP. "); - BOOST_FOREACH (string i, why_not) { - s += std_to_wx(i) + wxT(" "); - } + s = _("Cannot reference this DCP. ") + std_to_wx(why_not); } button->SetToolTip (s); diff --git a/src/wx/content_sub_panel.h b/src/wx/content_sub_panel.h index 44d5ee1a5..fb22b3a22 100644 --- a/src/wx/content_sub_panel.h +++ b/src/wx/content_sub_panel.h @@ -42,7 +42,7 @@ public: protected: - void setup_refer_button (wxCheckBox* button, boost::shared_ptr<DCPContent> dcp, bool can_reference, std::list<std::string> why_not) const; + void setup_refer_button (wxCheckBox* button, boost::shared_ptr<DCPContent> dcp, bool can_reference, std::string why_not) const; ContentPanel* _parent; wxSizer* _sizer; diff --git a/src/wx/subtitle_panel.cc b/src/wx/subtitle_panel.cc index 0b94b335f..5bba1ec2c 100644 --- a/src/wx/subtitle_panel.cc +++ b/src/wx/subtitle_panel.cc @@ -275,7 +275,7 @@ SubtitlePanel::setup_sensitivity () dcp = dynamic_pointer_cast<DCPContent> (sel.front ()); } - list<string> why_not; + string why_not; bool const can_reference = dcp && dcp->can_reference_subtitle (why_not); setup_refer_button (_reference, dcp, can_reference, why_not); diff --git a/src/wx/video_panel.cc b/src/wx/video_panel.cc index 294dd00e1..5fbe518c4 100644 --- a/src/wx/video_panel.cc +++ b/src/wx/video_panel.cc @@ -462,7 +462,7 @@ VideoPanel::setup_sensitivity () dcp = dynamic_pointer_cast<DCPContent> (sel.front ()); } - list<string> why_not; + string why_not; bool const can_reference = dcp && dcp->can_reference_video (why_not); setup_refer_button (_reference, dcp, can_reference, why_not); |
