diff options
| author | Carl Hetherington <cth@carlh.net> | 2017-05-07 23:38:49 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2017-05-08 00:35:55 +0100 |
| commit | 65f95aa3614fc1b633c38e173349b123a191447f (patch) | |
| tree | e86887d6027def2341dde35a83fca3739b853119 /src/lib | |
| parent | 81b8b8d2e6c548fe0cac006b6551945f5c1d77a9 (diff) | |
Some comments and cleanup.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/active_subtitles.cc | 23 | ||||
| -rw-r--r-- | src/lib/active_subtitles.h | 9 | ||||
| -rw-r--r-- | src/lib/player.cc | 2 |
3 files changed, 31 insertions, 3 deletions
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<PlayerSubtitles> -ActiveSubtitles::get (DCPTime time, bool always_burn_subtitles) const +ActiveSubtitles::get_burnt (DCPTime time, bool always_burn_subtitles) const { list<PlayerSubtitles> 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> piece, PlayerSubtitles ps, DCPTime from) { @@ -83,6 +96,11 @@ ActiveSubtitles::add_from (weak_ptr<Piece> 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<PlayerSubtitles, DCPTime> ActiveSubtitles::add_to (weak_ptr<Piece> piece, DCPTime to) { @@ -97,6 +115,9 @@ ActiveSubtitles::add_to (weak_ptr<Piece> 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> piece) const { diff --git a/src/lib/active_subtitles.h b/src/lib/active_subtitles.h index aa57c5b7a..97ca4c7db 100644 --- a/src/lib/active_subtitles.h +++ b/src/lib/active_subtitles.h @@ -18,6 +18,10 @@ */ +/** @file src/lib/active_subtitles.h + * @brief ActiveSubtitles class. + */ + #include "dcpomatic_time.h" #include "player_subtitles.h" #include <boost/noncopyable.hpp> @@ -26,10 +30,13 @@ class Piece; +/** @class ActiveSubtitles + * @brief A class to maintain information on active subtitles for Player. + */ class ActiveSubtitles : public boost::noncopyable { public: - std::list<PlayerSubtitles> get (DCPTime time, bool always_burn_subtitles) const; + std::list<PlayerSubtitles> get_burnt (DCPTime time, bool always_burn_subtitles) const; void clear_before (DCPTime time); void clear (); void add_from (boost::weak_ptr<Piece> piece, PlayerSubtitles ps, DCPTime from); diff --git a/src/lib/player.cc b/src/lib/player.cc index 06f11c617..dd064d3cd 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -588,7 +588,7 @@ Player::subtitles_for_frame (DCPTime time) const { list<PositionImage> subtitles; - BOOST_FOREACH (PlayerSubtitles i, _active_subtitles.get(time, _always_burn_subtitles)) { + BOOST_FOREACH (PlayerSubtitles i, _active_subtitles.get_burnt (time, _always_burn_subtitles)) { /* Image subtitles */ list<PositionImage> c = transform_image_subtitles (i.image); |
