]> git.sesse.net Git - vlc/commitdiff
* modules/gui/wxwindows/*: added subtitles options to the stream output dialog +...
authorGildas Bazin <gbazin@videolan.org>
Tue, 5 Apr 2005 13:15:07 +0000 (13:15 +0000)
committerGildas Bazin <gbazin@videolan.org>
Tue, 5 Apr 2005 13:15:07 +0000 (13:15 +0000)
modules/gui/wxwindows/interface.cpp
modules/gui/wxwindows/open.cpp
modules/gui/wxwindows/streamout.cpp

index d07d7945a6d76ef86a2a8fe3a99adf762f83746f..4f1b42bd702d89a2c155de0e7ceba562c4520710 100644 (file)
@@ -120,6 +120,7 @@ enum
     OpenFileSimple_Event,
     OpenAdv_Event,
     OpenFile_Event,
+    OpenDir_Event,
     OpenDisc_Event,
     OpenNet_Event,
     OpenCapture_Event,
@@ -185,6 +186,7 @@ BEGIN_EVENT_TABLE(Interface, wxFrame)
     EVT_MENU(OpenFileSimple_Event, Interface::OnShowDialog)
     EVT_MENU(OpenAdv_Event, Interface::OnShowDialog)
     EVT_MENU(OpenFile_Event, Interface::OnShowDialog)
+    EVT_MENU(OpenDir_Event, Interface::OnShowDialog)
     EVT_MENU(OpenDisc_Event, Interface::OnShowDialog)
     EVT_MENU(OpenNet_Event, Interface::OnShowDialog)
     EVT_MENU(OpenCapture_Event, Interface::OnShowDialog)
@@ -379,6 +381,7 @@ void Interface::CreateOurMenuBar()
 
     file_menu->AppendSeparator();
     file_menu->Append( OpenFile_Event, wxU(_("Open &File...\tCtrl-F")) );
+    file_menu->Append( OpenDir_Event, wxU(_("Open D&irectory...\tCtrl-I")) );
     file_menu->Append( OpenDisc_Event, wxU(_("Open &Disc...\tCtrl-D")) );
     file_menu->Append( OpenNet_Event,
                        wxU(_("Open &Network Stream...\tCtrl-N")) );
@@ -748,6 +751,9 @@ void Interface::OnShowDialog( wxCommandEvent& event )
         case OpenFile_Event:
             i_id = INTF_DIALOG_FILE;
             break;
+        case OpenDir_Event:
+            i_id = INTF_DIALOG_DIRECTORY;
+            break;
         case OpenDisc_Event:
             i_id = INTF_DIALOG_DISC;
             break;
index a1cd66351140eb0ac8ff22494b67291091ba5a4a..5a46c90074fbf80c4af6651b5ba5fa54014413a5 100644 (file)
@@ -447,11 +447,7 @@ OpenDialog::OpenDialog( intf_thread_t *_p_intf, wxWindow *_p_parent,
     common_opt_sizer->Add( caching_checkbox, 0,
                            wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
     caching_value = new wxSpinCtrl( panel, CachingChange_Event );
-#ifdef WIN32  /* WIN32 uses 16 bit integer */
-    caching_value->SetRange( 0, 32767 );
-#else
     caching_value->SetRange( 0, 1000000 );
-#endif
     caching_value->Disable();
     common_opt_sizer->Add( caching_value, 0,
                            wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
index 760e975cdf7c37be76d17fe592c2cc5c965dd614..97543b262e603e70c28f4196b78604e10e3fd8c1 100644 (file)
@@ -71,6 +71,8 @@ enum
     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
@@ -124,6 +126,8 @@ BEGIN_EVENT_TABLE(SoutDialog, wxDialog)
     /* 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)
@@ -136,6 +140,8 @@ BEGIN_EVENT_TABLE(SoutDialog, wxDialog)
     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)
@@ -253,7 +259,9 @@ void SoutDialog::UpdateMRL()
     /* 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() )
@@ -261,13 +269,27 @@ void SoutDialog::UpdateMRL()
             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("}");
     }
@@ -709,7 +731,11 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
     };
 
     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 =
@@ -822,11 +848,40 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
     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 );
 
@@ -836,6 +891,8 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
     OnTranscodingEnable( event );
     event.SetId( AudioTranscEnable_Event );
     OnTranscodingEnable( event );
+    event.SetId( SubtitlesTranscEnable_Event );
+    OnTranscodingEnable( event );
 
     return panel;
 }
@@ -996,6 +1053,13 @@ void SoutDialog::OnTranscodingEnable( wxCommandEvent& event )
         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();