#ifndef DCPOMATIC_PLAYER_H
#define DCPOMATIC_PLAYER_H
-#include "player_text.h"
-#include "active_subtitles.h"
-#include "content_text.h"
+#include "player_caption.h"
+#include "active_captions.h"
+#include "content_caption.h"
#include "film.h"
#include "content.h"
#include "position_image.h"
/** Emitted when a video frame is ready. These emissions happen in the correct order. */
boost::signals2::signal<void (boost::shared_ptr<PlayerVideo>, DCPTime)> Video;
boost::signals2::signal<void (boost::shared_ptr<AudioBuffers>, DCPTime)> Audio;
- /** Emitted when a subtitle is ready. This signal may be emitted considerably
+ /** Emitted when a caption is ready. This signal may be emitted considerably
* after the corresponding Video.
*/
- boost::signals2::signal<void (PlayerText, DCPTimePeriod)> Subtitle;
+ boost::signals2::signal<void (PlayerCaption, CaptionType, DCPTimePeriod)> Caption;
private:
friend class PlayerWrapper;
void film_changed (Film::Property);
void playlist_changed ();
void playlist_content_changed (boost::weak_ptr<Content>, int, bool);
- std::list<PositionImage> transform_bitmap_texts (std::list<BitmapText>) const;
+ std::list<PositionImage> transform_bitmap_captions (std::list<BitmapCaption>) const;
Frame dcp_to_content_video (boost::shared_ptr<const Piece> piece, DCPTime t) const;
DCPTime content_video_to_dcp (boost::shared_ptr<const Piece> piece, Frame f) const;
Frame dcp_to_resampled_audio (boost::shared_ptr<const Piece> piece, DCPTime t) const;
boost::shared_ptr<PlayerVideo> black_player_video_frame (Eyes eyes) const;
void video (boost::weak_ptr<Piece>, ContentVideo);
void audio (boost::weak_ptr<Piece>, AudioStreamPtr, ContentAudio);
- void bitmap_text_start (boost::weak_ptr<Piece>, ContentBitmapText);
- void plain_text_start (boost::weak_ptr<Piece>, ContentPlainText);
- void subtitle_stop (boost::weak_ptr<Piece>, ContentTime);
+ void bitmap_text_start (boost::weak_ptr<Piece>, ContentBitmapCaption);
+ void plain_text_start (boost::weak_ptr<Piece>, ContentTextCaption);
+ void subtitle_stop (boost::weak_ptr<Piece>, ContentTime, CaptionType);
DCPTime one_video_frame () const;
void fill_audio (DCPTimePeriod period);
std::pair<boost::shared_ptr<AudioBuffers>, DCPTime> discard_audio (
Empty _black;
Empty _silent;
- ActiveSubtitles _active_subtitles;
+ ActiveCaptions _active_captions[CAPTION_COUNT];
boost::shared_ptr<AudioProcessor> _audio_processor;
boost::signals2::scoped_connection _film_changed_connection;