- wxColour const c = _colour->GetColour ();
- _content->subtitle->set_colour (dcp::Colour (c.Red(), c.Green(), c.Blue()));
- _content->subtitle->set_outline (_effect->GetSelection() == OUTLINE);
- _content->subtitle->set_shadow (_effect->GetSelection() == SHADOW);
- wxColour const ec = _effect_colour->GetColour ();
- _content->subtitle->set_effect_colour (dcp::Colour (ec.Red(), ec.Green(), ec.Blue()));
- _content->subtitle->set_fade_in (_fade_in->get (_content->active_video_frame_rate ()));
- _content->subtitle->set_fade_out (_fade_out->get (_content->active_video_frame_rate ()));
+ if (_force_colour->GetValue ()) {
+ wxColour const c = _colour->GetColour ();
+ _content->subtitle->set_colour (dcp::Colour (c.Red(), c.Green(), c.Blue()));
+ } else {
+ _content->subtitle->unset_colour ();
+ }
+ switch (_effect->GetSelection()) {
+ case NONE:
+ _content->subtitle->set_effect (dcp::NONE);
+ break;
+ case OUTLINE:
+ _content->subtitle->set_effect (dcp::BORDER);
+ break;
+ case SHADOW:
+ _content->subtitle->set_effect (dcp::SHADOW);
+ break;
+ }
+ if (_force_effect_colour->GetValue ()) {
+ wxColour const ec = _effect_colour->GetColour ();
+ _content->subtitle->set_effect_colour (dcp::Colour (ec.Red(), ec.Green(), ec.Blue()));
+ } else {
+ _content->subtitle->unset_effect_colour ();
+ }
+ if (_force_fade_in->GetValue ()) {
+ _content->subtitle->set_fade_in (_fade_in->get (_content->active_video_frame_rate ()));
+ } else {
+ _content->subtitle->unset_fade_in ();
+ }
+ if (_force_fade_out->GetValue ()) {
+ _content->subtitle->set_fade_out (_fade_out->get (_content->active_video_frame_rate ()));
+ } else {
+ _content->subtitle->unset_fade_out ();
+ }