_x_scale_label = create_label (this, _("X"), true);
_x_scale = new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(64, -1));
_x_scale_pc_label = new StaticText (this, _("%"));
- _y_scale_label = create_label (this, _("Y"), true);
+ _y_scale_label = create_label (this, S_("Coord|Y"), true);
_y_scale = new wxSpinCtrl (this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(64, -1));
_y_scale_pc_label = new StaticText (this, _("%"));
{
_dcp_track->Clear ();
BOOST_FOREACH (DCPTextTrack i, _parent->film()->closed_caption_tracks()) {
- _dcp_track->Append (std_to_wx(i.summary()));
+ /* XXX: don't display the "magic" track which has empty name and language;
+ this is a nasty hack (see also Film::closed_caption_tracks)
+ */
+ if (!i.name.empty() || !i.language.empty()) {
+ _dcp_track->Append (std_to_wx(i.summary()));
+ }
}
if (_parent->film()->closed_caption_tracks().size() < 6) {
TextPanel::setup_sensitivity ()
{
int any_subs = 0;
+ /* We currently assume that FFmpeg subtitles are bitmapped */
int ffmpeg_subs = 0;
+ /* DCP subs can't have their line spacing changed */
+ int dcp_subs = 0;
ContentList sel = _parent->selected_text ();
BOOST_FOREACH (shared_ptr<Content> i, sel) {
/* These are the content types that could include subtitles */
++ffmpeg_subs;
++any_subs;
}
- } else if (sc || dc || dsc) {
+ } else if (dc || dsc) {
+ ++dcp_subs;
+ ++any_subs;
+ } else if (sc) {
/* XXX: in the future there could be bitmap subs from DCPs */
++any_subs;
}
TextType const type = current_type ();
+ /* Set up _type */
+ _type->Clear ();
+ _type->Append (_("open subtitles"));
+ if (ffmpeg_subs == 0) {
+ _type->Append (_("closed captions"));
+ }
+
+ switch (type) {
+ case TEXT_OPEN_SUBTITLE:
+ _type->SetSelection (0);
+ break;
+ case TEXT_CLOSED_CAPTION:
+ if (_type->GetCount() > 1) {
+ _type->SetSelection (1);
+ }
+ break;
+ default:
+ break;
+ }
+
/* Set up sensitivity */
_use->Enable (!reference && any_subs > 0);
bool const use = _use->GetValue ();
_y_offset->Enable (!reference && any_subs > 0 && use && type == TEXT_OPEN_SUBTITLE);
_x_scale->Enable (!reference && any_subs > 0 && use && type == TEXT_OPEN_SUBTITLE);
_y_scale->Enable (!reference && any_subs > 0 && use && type == TEXT_OPEN_SUBTITLE);
- _line_spacing->Enable (!reference && use && type == TEXT_OPEN_SUBTITLE);
+ /* DCP subs ignore the line spacing setting */
+ _line_spacing->Enable (!reference && use && type == TEXT_OPEN_SUBTITLE && dcp_subs < any_subs);
_dcp_track->Enable (!reference && any_subs > 0 && use && type == TEXT_CLOSED_CAPTION);
_language->Enable (!reference && any_subs > 0 && use && type == TEXT_OPEN_SUBTITLE);
_stream->Enable (!reference && ffmpeg_subs == 1);