summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-07-06 00:28:09 +0100
committerCarl Hetherington <cth@carlh.net>2015-07-06 00:28:09 +0100
commitb799c3b9671e815737f769533e40a3bad347f73e (patch)
treed41ca395040bd237d62e1fd1c146abff0357b6e0 /src
parent1b3d229a066410d58de0de5ecdd4d57461089ec0 (diff)
Extend SubtitleAsset::subtitles_during to allow asking for subtitles either starting during a particular timescale or overllapping it.
Diffstat (limited to 'src')
-rw-r--r--src/subtitle_asset.cc4
-rw-r--r--src/subtitle_asset.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/subtitle_asset.cc b/src/subtitle_asset.cc
index 4d411e5a..077b5288 100644
--- a/src/subtitle_asset.cc
+++ b/src/subtitle_asset.cc
@@ -148,11 +148,11 @@ SubtitleAsset::maybe_add_subtitle (string text, ParseState const & parse_state)
}
list<SubtitleString>
-SubtitleAsset::subtitles_during (Time from, Time to) const
+SubtitleAsset::subtitles_during (Time from, Time to, bool starting) const
{
list<SubtitleString> s;
for (list<SubtitleString>::const_iterator i = _subtitles.begin(); i != _subtitles.end(); ++i) {
- if (i->out() >= from && i->in() <= to) {
+ if ((starting && from <= i->in() && i->in() < to) || (!starting && i->out() >= from && i->in() <= to)) {
s.push_back (*i);
}
}
diff --git a/src/subtitle_asset.h b/src/subtitle_asset.h
index 44ac455f..69bf40f8 100644
--- a/src/subtitle_asset.h
+++ b/src/subtitle_asset.h
@@ -63,7 +63,7 @@ public:
NoteHandler note
) const;
- std::list<SubtitleString> subtitles_during (Time from, Time to) const;
+ std::list<SubtitleString> subtitles_during (Time from, Time to, bool starting) const;
std::list<SubtitleString> const & subtitles () const {
return _subtitles;
}