VideoTranscScale_Event,
AudioTranscEnable_Event, AudioTranscCodec_Event, AudioTranscBitrate_Event,
AudioTranscChans_Event,
+ SubtitlesTranscEnable_Event, SubtitlesTranscCodec_Event,
+ SubtitlesOverlayEnable_Event,
SAPMisc_Event, SLPMisc_Event, AnnounceGroup_Event, AnnounceAddr_Event,
SoutAll_Event
/* Events generated by the transcoding panel */
EVT_CHECKBOX(VideoTranscEnable_Event, SoutDialog::OnTranscodingEnable)
EVT_CHECKBOX(AudioTranscEnable_Event, SoutDialog::OnTranscodingEnable)
+ EVT_CHECKBOX(SubtitlesTranscEnable_Event, SoutDialog::OnTranscodingEnable)
+ EVT_CHECKBOX(SubtitlesOverlayEnable_Event, SoutDialog::OnTranscodingEnable)
EVT_COMBOBOX(VideoTranscCodec_Event, SoutDialog::OnTranscodingChange)
EVT_TEXT(VideoTranscCodec_Event, SoutDialog::OnTranscodingChange)
EVT_COMBOBOX(AudioTranscCodec_Event, SoutDialog::OnTranscodingChange)
EVT_TEXT(VideoTranscScale_Event, SoutDialog::OnTranscodingChange)
EVT_COMBOBOX(AudioTranscChans_Event, SoutDialog::OnTranscodingChange)
EVT_TEXT(AudioTranscChans_Event, SoutDialog::OnTranscodingChange)
+ EVT_COMBOBOX(SubtitlesTranscCodec_Event, SoutDialog::OnTranscodingChange)
+ EVT_TEXT(SubtitlesTranscCodec_Event, SoutDialog::OnTranscodingChange)
/* Events generated by the misc panel */
EVT_CHECKBOX(SAPMisc_Event, SoutDialog::OnSAPMiscChange)
/* Let's start with the transcode options */
wxString transcode;
if( video_transc_checkbox->IsChecked() ||
- audio_transc_checkbox->IsChecked() )
+ audio_transc_checkbox->IsChecked() ||
+ subtitles_transc_checkbox->IsChecked() ||
+ subtitles_overlay_checkbox->IsChecked() )
{
transcode = wxT("transcode{");
if( video_transc_checkbox->IsChecked() )
transcode += wxT("vcodec=") + video_codec_combo->GetValue();
transcode += wxT(",vb=") + video_bitrate_combo->GetValue();
transcode += wxT(",scale=") + video_scale_combo->GetValue();
- if( audio_transc_checkbox->IsChecked() ) transcode += wxT(",");
+ if( audio_transc_checkbox->IsChecked() ||
+ subtitles_transc_checkbox->IsChecked() ||
+ subtitles_overlay_checkbox->IsChecked() )
+ transcode += wxT(",");
}
if( audio_transc_checkbox->IsChecked() )
{
transcode += wxT("acodec=") + audio_codec_combo->GetValue();
transcode += wxT(",ab=") + audio_bitrate_combo->GetValue();
transcode += wxT(",channels=") + audio_channels_combo->GetValue();
+ if( subtitles_transc_checkbox->IsChecked() ||
+ subtitles_overlay_checkbox->IsChecked() )
+ transcode += wxT(",");
+ }
+ if( subtitles_transc_checkbox->IsChecked() )
+ {
+ transcode += wxT("scodec=") + subtitles_codec_combo->GetValue();
+ }
+ if( subtitles_overlay_checkbox->IsChecked() )
+ {
+ transcode += wxT("soverlay");
}
transcode += wxT("}");
}
};
wxFlexGridSizer *video_sizer = new wxFlexGridSizer( 6, 1, 20 );
+#if defined( __WXMSW__ )
+ wxFlexGridSizer *video_sub_sizer = new wxFlexGridSizer( 4, 5, 20 );
+#else
wxFlexGridSizer *video_sub_sizer = new wxFlexGridSizer( 2, 5, 20 );
+#endif
video_transc_checkbox =
new wxCheckBox( panel, VideoTranscEnable_Event, wxU(_("Video codec")));
video_codec_combo =
audio_sizer->Add( audio_sub_sizer, 1,
wxEXPAND | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
+ /* Create subtitles transcoding checkox */
+ static const wxString wxscodecs_array[] =
+ {
+ wxT("dvbs")
+ };
+
+ wxFlexGridSizer *subtitles_sizer = new wxFlexGridSizer( 3, 1, 20 );
+ subtitles_transc_checkbox =
+ new wxCheckBox( panel, SubtitlesTranscEnable_Event,
+ wxU(_("Subtitles codec")));
+ subtitles_codec_combo =
+ new wxComboBox( panel, SubtitlesTranscCodec_Event, wxscodecs_array[0],
+ wxPoint(10,25), wxDefaultSize,
+ WXSIZEOF(wxscodecs_array),
+ wxscodecs_array, wxCB_READONLY );
+ subtitles_codec_combo->SetSelection(0);
+ subtitles_overlay_checkbox =
+ new wxCheckBox( panel, SubtitlesOverlayEnable_Event,
+ wxU(_("Subtitles overlay")));
+
+ subtitles_sizer->Add( subtitles_transc_checkbox, 0,
+ wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
+ subtitles_sizer->Add( subtitles_codec_combo, 1,
+ wxEXPAND | wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
+ subtitles_sizer->Add( subtitles_overlay_checkbox, 0,
+ wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
+
/* Stuff everything into the main panel */
panel_sizer->Add( video_sizer, 0,
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 );
panel_sizer->Add( audio_sizer, 0,
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 );
+ panel_sizer->Add( subtitles_sizer, 0,
+ wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 );
panel->SetSizerAndFit( panel_sizer );
OnTranscodingEnable( event );
event.SetId( AudioTranscEnable_Event );
OnTranscodingEnable( event );
+ event.SetId( SubtitlesTranscEnable_Event );
+ OnTranscodingEnable( event );
return panel;
}
audio_bitrate_combo->Enable( event.GetInt() );
audio_channels_combo->Enable( event.GetInt() );
break;
+ case SubtitlesTranscEnable_Event:
+ subtitles_overlay_checkbox->Enable( !event.GetInt() );
+ subtitles_codec_combo->Enable( event.GetInt() );
+ break;
+ case SubtitlesOverlayEnable_Event:
+ subtitles_transc_checkbox->Enable( !event.GetInt() );
+ break;
}
UpdateMRL();