break;
}
- _player->set_always_burn_captions (CAPTION_OPEN);
+ _player->set_always_burn_open_captions ();
_player->set_play_referenced ();
int const ch = film->audio_channels ();
_ignore_caption = true;
}
-/** Set a type of caption that this player should always burn into the image,
- * regardless of the content settings.
- * @param type type of captions to burn.
- */
+/** Set the player to always burn open captions into the image regardless of the content settings */
void
-Player::set_always_burn_captions (CaptionType type)
+Player::set_always_burn_open_captions ()
{
- _always_burn_captions = type;
+ _always_burn_open_captions = true;
}
/** Sets up the player to be faster, possibly at the expense of quality */
int const vfr = _film->video_frame_rate();
for (int i = 0; i < CAPTION_COUNT; ++i) {
- bool const always = _always_burn_captions && *_always_burn_captions == i;
+ bool const always = i == CAPTION_OPEN && _always_burn_open_captions;
BOOST_FOREACH (
PlayerCaption j,
_active_captions[i].get_burnt(DCPTimePeriod(time, time + DCPTime::from_frames(1, vfr)), always)
pair<PlayerCaption, DCPTime> from = _active_captions[type].add_to (wc, dcp_to);
- bool const always = _always_burn_captions && *_always_burn_captions == type;
+ bool const always = type == CAPTION_OPEN && _always_burn_open_captions;
if (caption->use() && !always && !caption->burn()) {
Caption (from.first, type, DCPTimePeriod (from.second, dcp_to));
}
void set_video_container_size (dcp::Size);
void set_ignore_video ();
void set_ignore_caption ();
- void set_always_burn_captions (CaptionType type);
+ void set_always_burn_open_captions ();
void set_fast ();
void set_play_referenced ();
void set_dcp_decode_reduction (boost::optional<int> reduction);
bool _ignore_video;
/** true if the player should ignore all captions; i.e. never produce any */
bool _ignore_caption;
- /** Type of captions that the player should always burn into the video regardless
- of content settings.
- */
- boost::optional<CaptionType> _always_burn_captions;
+ bool _always_burn_open_captions;
/** true if we should try to be fast rather than high quality */
bool _fast;
/** true if we should `play' (i.e output) referenced DCP data (e.g. for preview) */
view_options->Add (_jump_to_selected, 0, wxLEFT | wxRIGHT | wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_GAP);
}
- _captions = new wxChoice (this, wxID_ANY);
- _captions->Append (_("Open captions (subtitles)"));
- _captions->Append (_("Closed captions"));
- _captions->SetSelection (0);
- view_options->Add (_captions, 0, wxLEFT | wxRIGHT, DCPOMATIC_SIZER_GAP);
-
_v_sizer->Add (view_options, 0, wxALL, DCPOMATIC_SIZER_GAP);
wxBoxSizer* h_sizer = new wxBoxSizer (wxHORIZONTAL);
_outline_content->Bind (wxEVT_CHECKBOX, boost::bind (&FilmViewer::refresh_panel, this));
}
_eye->Bind (wxEVT_CHOICE, boost::bind (&FilmViewer::slow_refresh, this));
- _captions->Bind (wxEVT_CHOICE, boost::bind (&FilmViewer::captions_changed, this));
_slider->Bind (wxEVT_SCROLL_THUMBTRACK, boost::bind (&FilmViewer::slider_moved, this, false));
_slider->Bind (wxEVT_SCROLL_PAGEUP, boost::bind (&FilmViewer::slider_moved, this, true));
_slider->Bind (wxEVT_SCROLL_PAGEDOWN, boost::bind (&FilmViewer::slider_moved, this, true));
return;
}
- /* Start off burning in subtitles, as that's the initial setting of the dropdown */
- _player->set_always_burn_captions (CAPTION_OPEN);
+ _player->set_always_burn_open_captions ();
_player->set_play_referenced ();
_film->Changed.connect (boost::bind (&FilmViewer::film_changed, this, _1));
}
}
-void
-FilmViewer::captions_changed ()
-{
- switch (_captions->GetSelection()) {
- case 0:
- _player->set_always_burn_captions (CAPTION_OPEN);
- break;
- case 1:
- _player->set_always_burn_captions (CAPTION_CLOSED);
- break;
- }
-
- slow_refresh ();
-}
-
/** Re-get the current frame slowly by seeking */
void
FilmViewer::slow_refresh ()
void slider_released ();
void play_clicked ();
void timer ();
- void captions_changed ();
void calculate_sizes ();
void check_play_state ();
void active_jobs_changed (boost::optional<std::string>);
wxCheckBox* _outline_content;
wxChoice* _eye;
wxCheckBox* _jump_to_selected;
- wxChoice* _captions;
wxSlider* _slider;
wxButton* _rewind_button;
wxButton* _back_button;
shared_ptr<Player> player (new Player (film, film->playlist()));
player->set_fast ();
- player->set_always_burn_captions (CAPTION_OPEN);
+ player->set_always_burn_open_captions ();
player->set_play_referenced ();
shared_ptr<Butler> butler (new Butler (player, film->log(), AudioMapping(), 2));
shared_ptr<Player> player (new Player (film, film->playlist()));
player->set_fast ();
- player->set_always_burn_captions (CAPTION_OPEN);
+ player->set_always_burn_open_captions ();
player->set_play_referenced ();
shared_ptr<Butler> butler (new Butler (player, film->log(), AudioMapping(), 2));