X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Factive_subtitles.cc;h=ff6724a997daae5a4b74a7600cfca66ccff70e17;hb=e3bb6707618b6a313a490f387bffbf0b6a064643;hp=457f096431553b30ae277eadf3349e3298b5a0ab;hpb=81b8b8d2e6c548fe0cac006b6551945f5c1d77a9;p=dcpomatic.git diff --git a/src/lib/active_subtitles.cc b/src/lib/active_subtitles.cc index 457f09643..ff6724a99 100644 --- a/src/lib/active_subtitles.cc +++ b/src/lib/active_subtitles.cc @@ -30,8 +30,12 @@ using std::make_pair; using boost::weak_ptr; using boost::shared_ptr; +/** Get the subtitles that should be burnt into a frame at a given time. + * @param time Frame time. + * @param always_burn_subtitles Always burn subtitles even if their content is not set to burn. + */ list -ActiveSubtitles::get (DCPTime time, bool always_burn_subtitles) const +ActiveSubtitles::get_burnt (DCPTime time, bool always_burn_subtitles) const { list ps; @@ -43,6 +47,7 @@ ActiveSubtitles::get (DCPTime time, bool always_burn_subtitles) const } if (!piece->content->subtitle->use() || (!always_burn_subtitles && !piece->content->subtitle->burn())) { + /* Not burning this piece */ continue; } @@ -56,6 +61,9 @@ ActiveSubtitles::get (DCPTime time, bool always_burn_subtitles) const return ps; } +/** Remove subtitles that finish before a given time from our list. + * @param time Time to remove before. + */ void ActiveSubtitles::clear_before (DCPTime time) { @@ -74,6 +82,11 @@ ActiveSubtitles::clear_before (DCPTime time) _data = updated; } +/** Add a new subtitle with a from time. + * @param piece Piece that the subtitle is from. + * @param ps Subtitles. + * @param from From time for these subtitles. + */ void ActiveSubtitles::add_from (weak_ptr piece, PlayerSubtitles ps, DCPTime from) { @@ -83,6 +96,11 @@ ActiveSubtitles::add_from (weak_ptr piece, PlayerSubtitles ps, DCPTime fr _data[piece].push_back (Period (ps, from)); } +/** Add the to time for the last subtitle added from a piece. + * @param piece Piece that the subtitle is from. + * @param to To time for the last subtitle submitted to add_from for this piece. + * @return Return the corresponding subtitles and their from time. + */ pair ActiveSubtitles::add_to (weak_ptr piece, DCPTime to) { @@ -97,6 +115,9 @@ ActiveSubtitles::add_to (weak_ptr piece, DCPTime to) return make_pair (_data[piece].back().subs, _data[piece].back().from); } +/** @param piece A piece. + * @return true if we have any active subtitles from this piece. + */ bool ActiveSubtitles::have (weak_ptr piece) const {