Commit d46439c5 authored by Gildas Bazin's avatar Gildas Bazin

* modules/gui/wxwindows/*, src/playlist/playlist.c,...

* modules/gui/wxwindows/*, src/playlist/playlist.c, modules/video_output/directx/events.c: got rid of the "Close Menu" popup menu item in the wxwindows interface.
* modules/gui/wxwindows/*: updated the stream output dialog.
parent f57a2f30
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* dialogs.cpp: Handles all the different dialog boxes we provide. * dialogs.cpp: Handles all the different dialog boxes we provide.
***************************************************************************** *****************************************************************************
* Copyright (C) 2003 VideoLAN * Copyright (C) 2003 VideoLAN
* $Id: dialogs.cpp,v 1.12 2003/07/20 10:38:49 gbazin Exp $ * $Id: dialogs.cpp,v 1.13 2003/08/28 15:59:04 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -173,10 +173,11 @@ void Dialogs::ShowFileInfo() ...@@ -173,10 +173,11 @@ void Dialogs::ShowFileInfo()
p_provider->pf_show_dialog( p_provider, INTF_DIALOG_FILEINFO, 0, 0 ); p_provider->pf_show_dialog( p_provider, INTF_DIALOG_FILEINFO, 0, 0 );
} }
void Dialogs::ShowPopup() void Dialogs::ShowPopup( bool b_show )
{ {
if( p_provider && p_provider->pf_show_dialog ) if( p_provider && p_provider->pf_show_dialog )
p_provider->pf_show_dialog( p_provider, INTF_DIALOG_POPUPMENU, 0, 0 ); p_provider->pf_show_dialog( p_provider, INTF_DIALOG_POPUPMENU,
b_show, 0 );
} }
/***************************************************************************** /*****************************************************************************
...@@ -188,7 +189,7 @@ static int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable, ...@@ -188,7 +189,7 @@ static int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable,
vlc_value_t old_val, vlc_value_t new_val, void *param ) vlc_value_t old_val, vlc_value_t new_val, void *param )
{ {
Dialogs *p_dialogs = (Dialogs *)param; Dialogs *p_dialogs = (Dialogs *)param;
p_dialogs->ShowPopup(); p_dialogs->ShowPopup( new_val.b_bool );
return VLC_SUCCESS; return VLC_SUCCESS;
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* dialogs.h: Dialogs class * dialogs.h: Dialogs class
***************************************************************************** *****************************************************************************
* Copyright (C) 2003 VideoLAN * Copyright (C) 2003 VideoLAN
* $Id: dialogs.h,v 1.8 2003/07/20 10:38:49 gbazin Exp $ * $Id: dialogs.h,v 1.9 2003/08/28 15:59:04 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -50,7 +50,7 @@ class Dialogs ...@@ -50,7 +50,7 @@ class Dialogs
void ShowMessages(); void ShowMessages();
void ShowPrefs(); void ShowPrefs();
void ShowFileInfo(); void ShowFileInfo();
void ShowPopup(); void ShowPopup( bool b_show );
vlc_bool_t b_popup_change; vlc_bool_t b_popup_change;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* window.cpp: Window class * window.cpp: Window class
***************************************************************************** *****************************************************************************
* Copyright (C) 2003 VideoLAN * Copyright (C) 2003 VideoLAN
* $Id: window.cpp,v 1.32 2003/06/22 12:46:49 asmax Exp $ * $Id: window.cpp,v 1.33 2003/08/28 15:59:04 gbazin Exp $
* *
* Authors: Olivier Teulire <ipkiss@via.ecp.fr> * Authors: Olivier Teulire <ipkiss@via.ecp.fr>
* Emmanuel Puig <karibu@via.ecp.fr> * Emmanuel Puig <karibu@via.ecp.fr>
...@@ -424,9 +424,9 @@ void SkinWindow::MouseUp( int x, int y, int button ) ...@@ -424,9 +424,9 @@ void SkinWindow::MouseUp( int x, int y, int button )
} }
} }
if( i < 0 && button == MOUSE_RIGHT ) if( i < 0 )
{ {
p_intf->p_sys->p_dialogs->ShowPopup(); p_intf->p_sys->p_dialogs->ShowPopup( button == MOUSE_RIGHT );
} }
} }
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* dialogs.cpp : wxWindows plugin for vlc * dialogs.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: dialogs.cpp,v 1.7 2003/08/27 11:53:26 gbazin Exp $ * $Id: dialogs.cpp,v 1.8 2003/08/28 15:59:03 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -312,7 +312,6 @@ void DialogsProvider::OnPopupMenu( wxCommandEvent& event ) ...@@ -312,7 +312,6 @@ void DialogsProvider::OnPopupMenu( wxCommandEvent& event )
{ {
wxPoint mousepos = ScreenToClient( wxGetMousePosition() ); wxPoint mousepos = ScreenToClient( wxGetMousePosition() );
::PopupMenu( p_intf, this, mousepos ); ::PopupMenu( p_intf, this, mousepos );
} }
void DialogsProvider::OnExitThread( wxCommandEvent& WXUNUSED(event) ) void DialogsProvider::OnExitThread( wxCommandEvent& WXUNUSED(event) )
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* interface.cpp : wxWindows plugin for vlc * interface.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: interface.cpp,v 1.57 2003/08/27 11:53:26 gbazin Exp $ * $Id: interface.cpp,v 1.58 2003/08/28 15:59:04 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -585,13 +585,13 @@ void Interface::OnContextMenu2(wxContextMenuEvent& event) ...@@ -585,13 +585,13 @@ void Interface::OnContextMenu2(wxContextMenuEvent& event)
} }
if( p_intf->p_sys->pf_show_dialog ) if( p_intf->p_sys->pf_show_dialog )
p_intf->p_sys->pf_show_dialog( p_intf, INTF_DIALOG_POPUPMENU, 0, 0 ); p_intf->p_sys->pf_show_dialog( p_intf, INTF_DIALOG_POPUPMENU, 1, 0 );
} }
#endif #endif
void Interface::OnContextMenu(wxMouseEvent& event) void Interface::OnContextMenu(wxMouseEvent& event)
{ {
if( p_intf->p_sys->pf_show_dialog ) if( p_intf->p_sys->pf_show_dialog )
p_intf->p_sys->pf_show_dialog( p_intf, INTF_DIALOG_POPUPMENU, 0, 0 ); p_intf->p_sys->pf_show_dialog( p_intf, INTF_DIALOG_POPUPMENU, 1, 0 );
} }
void Interface::OnExit( wxCommandEvent& WXUNUSED(event) ) void Interface::OnExit( wxCommandEvent& WXUNUSED(event) )
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* menus.cpp : wxWindows plugin for vlc * menus.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: menus.cpp,v 1.19 2003/08/27 11:53:26 gbazin Exp $ * $Id: menus.cpp,v 1.20 2003/08/28 15:59:04 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -179,8 +179,6 @@ void PopupMenu( intf_thread_t *p_intf, wxWindow *p_parent, ...@@ -179,8 +179,6 @@ void PopupMenu( intf_thread_t *p_intf, wxWindow *p_parent,
popupmenu.AppendSeparator(); popupmenu.AppendSeparator();
popupmenu.Append( MenuDummy_Event, wxU("Open"), popupmenu.Append( MenuDummy_Event, wxU("Open"),
OpenStreamMenu( p_intf ), wxT("") ); OpenStreamMenu( p_intf ), wxT("") );
popupmenu.AppendSeparator();
popupmenu.Append( MenuDummy_Event, wxU(_("Close Menu")) );
#endif #endif
p_intf->p_sys->p_popup_menu = &popupmenu; p_intf->p_sys->p_popup_menu = &popupmenu;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* streamout.cpp : wxWindows plugin for vlc * streamout.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: streamout.cpp,v 1.29 2003/08/27 11:53:26 gbazin Exp $ * $Id: streamout.cpp,v 1.30 2003/08/28 15:59:04 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -43,33 +43,6 @@ ...@@ -43,33 +43,6 @@
# define wxRB_SINGLE 0 # define wxRB_SINGLE 0
#endif #endif
enum
{
PLAY_ACCESS_OUT = 0,
FILE_ACCESS_OUT,
HTTP_ACCESS_OUT,
UDP_ACCESS_OUT,
RTP_ACCESS_OUT,
ACCESS_OUT_NUM
};
enum
{
TS_ENCAPSULATION = 0,
PS_ENCAPSULATION,
MPEG1_ENCAPSULATION,
AVI_ENCAPSULATION,
OGG_ENCAPSULATION,
ENCAPS_NUM,
MP4_ENCAPSULATION
};
enum
{
ANN_MISC = 0
};
/***************************************************************************** /*****************************************************************************
* Event Table. * Event Table.
*****************************************************************************/ *****************************************************************************/
...@@ -84,13 +57,14 @@ enum ...@@ -84,13 +57,14 @@ enum
FileName_Event, FileName_Event,
AccessType1_Event, AccessType2_Event, AccessType3_Event, AccessType1_Event, AccessType2_Event, AccessType3_Event,
AccessType4_Event, AccessType5_Event, AccessType4_Event, AccessType5_Event, AccessType6_Event,
NetPort1_Event, NetPort2_Event, NetPort3_Event, NetPort1_Event, NetPort2_Event, NetPort3_Event,
NetAddr1_Event, NetAddr2_Event, NetAddr3_Event, NetAddr1_Event, NetAddr2_Event, NetAddr3_Event,
EncapsulationRadio1_Event, EncapsulationRadio2_Event, EncapsulationRadio1_Event, EncapsulationRadio2_Event,
EncapsulationRadio3_Event, EncapsulationRadio4_Event, EncapsulationRadio3_Event, EncapsulationRadio4_Event,
EncapsulationRadio5_Event, EncapsulationRadio5_Event, EncapsulationRadio6_Event,
EncapsulationRadio7_Event, EncapsulationRadio8_Event,
VideoTranscEnable_Event, VideoTranscCodec_Event, VideoTranscBitrate_Event, VideoTranscEnable_Event, VideoTranscCodec_Event, VideoTranscBitrate_Event,
AudioTranscEnable_Event, AudioTranscCodec_Event, AudioTranscBitrate_Event, AudioTranscEnable_Event, AudioTranscCodec_Event, AudioTranscBitrate_Event,
...@@ -110,6 +84,7 @@ BEGIN_EVENT_TABLE(SoutDialog, wxDialog) ...@@ -110,6 +84,7 @@ BEGIN_EVENT_TABLE(SoutDialog, wxDialog)
EVT_CHECKBOX(AccessType3_Event, SoutDialog::OnAccessTypeChange) EVT_CHECKBOX(AccessType3_Event, SoutDialog::OnAccessTypeChange)
EVT_CHECKBOX(AccessType4_Event, SoutDialog::OnAccessTypeChange) EVT_CHECKBOX(AccessType4_Event, SoutDialog::OnAccessTypeChange)
EVT_CHECKBOX(AccessType5_Event, SoutDialog::OnAccessTypeChange) EVT_CHECKBOX(AccessType5_Event, SoutDialog::OnAccessTypeChange)
EVT_CHECKBOX(AccessType6_Event, SoutDialog::OnAccessTypeChange)
EVT_TEXT(FileName_Event, SoutDialog::OnFileChange) EVT_TEXT(FileName_Event, SoutDialog::OnFileChange)
EVT_BUTTON(FileBrowse_Event, SoutDialog::OnFileBrowse) EVT_BUTTON(FileBrowse_Event, SoutDialog::OnFileBrowse)
...@@ -131,6 +106,12 @@ BEGIN_EVENT_TABLE(SoutDialog, wxDialog) ...@@ -131,6 +106,12 @@ BEGIN_EVENT_TABLE(SoutDialog, wxDialog)
SoutDialog::OnEncapsulationChange) SoutDialog::OnEncapsulationChange)
EVT_RADIOBUTTON(EncapsulationRadio5_Event, EVT_RADIOBUTTON(EncapsulationRadio5_Event,
SoutDialog::OnEncapsulationChange) SoutDialog::OnEncapsulationChange)
EVT_RADIOBUTTON(EncapsulationRadio6_Event,
SoutDialog::OnEncapsulationChange)
EVT_RADIOBUTTON(EncapsulationRadio7_Event,
SoutDialog::OnEncapsulationChange)
EVT_RADIOBUTTON(EncapsulationRadio8_Event,
SoutDialog::OnEncapsulationChange)
/* Events generated by the transcoding panel */ /* Events generated by the transcoding panel */
EVT_CHECKBOX(VideoTranscEnable_Event, SoutDialog::OnTranscodingEnable) EVT_CHECKBOX(VideoTranscEnable_Event, SoutDialog::OnTranscodingEnable)
...@@ -284,6 +265,12 @@ void SoutDialog::UpdateMRL() ...@@ -284,6 +265,12 @@ void SoutDialog::UpdateMRL()
case MP4_ENCAPSULATION: case MP4_ENCAPSULATION:
encapsulation = wxT("mp4"); encapsulation = wxT("mp4");
break; break;
case MOV_ENCAPSULATION:
encapsulation = wxT("mov");
break;
case ASF_ENCAPSULATION:
encapsulation = wxT("asf");
break;
case TS_ENCAPSULATION: case TS_ENCAPSULATION:
default: default:
encapsulation = wxT("ts"); encapsulation = wxT("ts");
...@@ -313,6 +300,18 @@ void SoutDialog::UpdateMRL() ...@@ -313,6 +300,18 @@ void SoutDialog::UpdateMRL()
net_ports[HTTP_ACCESS_OUT]->GetValue() ); net_ports[HTTP_ACCESS_OUT]->GetValue() );
dup_opts += wxT("}"); dup_opts += wxT("}");
} }
if( access_checkboxes[MMSH_ACCESS_OUT]->IsChecked() )
{
if( !dup_opts.IsEmpty() ) dup_opts += wxT(",");
dup_opts += wxT("dst=std{access=mmsh,mux=");
dup_opts += encapsulation;
if( i_encapsulation_type == ASF_ENCAPSULATION ) dup_opts += wxT("h");
dup_opts += wxT(",url=");
dup_opts += net_addrs[HTTP_ACCESS_OUT]->GetLineText(0);
dup_opts += wxString::Format( wxT(":%d"),
net_ports[MMSH_ACCESS_OUT]->GetValue() );
dup_opts += wxT("}");
}
if( access_checkboxes[UDP_ACCESS_OUT]->IsChecked() ) if( access_checkboxes[UDP_ACCESS_OUT]->IsChecked() )
{ {
if( !dup_opts.IsEmpty() ) dup_opts += wxT(","); if( !dup_opts.IsEmpty() ) dup_opts += wxT(",");
...@@ -370,17 +369,18 @@ wxPanel *SoutDialog::AccessPanel( wxWindow* parent ) ...@@ -370,17 +369,18 @@ wxPanel *SoutDialog::AccessPanel( wxWindow* parent )
wxPanel *panel = new wxPanel( parent, -1, wxDefaultPosition, wxPanel *panel = new wxPanel( parent, -1, wxDefaultPosition,
wxSize(200, 200) ); wxSize(200, 200) );
wxFlexGridSizer *sizer = new wxFlexGridSizer( 2, 4, 20 );
wxStaticBox *panel_box = new wxStaticBox( panel, -1, wxStaticBox *panel_box = new wxStaticBox( panel, -1,
wxU(_("Output Methods")) ); wxU(_("Output Methods")) );
wxStaticBoxSizer *panel_sizer = new wxStaticBoxSizer( panel_box, wxStaticBoxSizer *panel_sizer = new wxStaticBoxSizer( panel_box,
wxVERTICAL ); wxVERTICAL );
wxFlexGridSizer *sizer = new wxFlexGridSizer( 2, 4, 20 );
static const wxString access_output_array[] = static const wxString access_output_array[] =
{ {
wxU(_("Play locally")), wxU(_("Play locally")),
wxU(_("File")), wxU(_("File")),
wxU(_("HTTP")), wxU(_("HTTP")),
wxU(_("MMSH")),
wxU(_("UDP")), wxU(_("UDP")),
wxU(_("RTP")) wxU(_("RTP"))
}; };
...@@ -399,6 +399,7 @@ wxPanel *SoutDialog::AccessPanel( wxWindow* parent ) ...@@ -399,6 +399,7 @@ wxPanel *SoutDialog::AccessPanel( wxWindow* parent )
subpanel_sizer = new wxFlexGridSizer( 1, 1, 20 ); subpanel_sizer = new wxFlexGridSizer( 1, 1, 20 );
subpanel_sizer->Add( label, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL ); subpanel_sizer->Add( label, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
access_subpanels[0]->SetSizerAndFit( subpanel_sizer ); access_subpanels[0]->SetSizerAndFit( subpanel_sizer );
access_subpanels[0]->Hide();
/* File row */ /* File row */
subpanel_sizer = new wxFlexGridSizer( 3, 1, 20 ); subpanel_sizer = new wxFlexGridSizer( 3, 1, 20 );
...@@ -486,16 +487,16 @@ wxPanel *SoutDialog::MiscPanel( wxWindow* parent ) ...@@ -486,16 +487,16 @@ wxPanel *SoutDialog::MiscPanel( wxWindow* parent )
wxStaticText *label; wxStaticText *label;
wxFlexGridSizer *subpanel_sizer; wxFlexGridSizer *subpanel_sizer;
misc_subpanels[ANN_MISC] = new wxPanel( panel, -1 ); misc_subpanels[ANN_MISC_SOUT] = new wxPanel( panel, -1 );
subpanel_sizer = new wxFlexGridSizer( 2, 2, 20 ); subpanel_sizer = new wxFlexGridSizer( 2, 2, 20 );
sap_checkbox = new wxCheckBox( misc_subpanels[ANN_MISC], SAPMisc_Event, sap_checkbox = new wxCheckBox( misc_subpanels[ANN_MISC_SOUT],SAPMisc_Event,
wxU(_("SAP Announce")) ); wxU(_("SAP Announce")) );
slp_checkbox = new wxCheckBox( misc_subpanels[ANN_MISC], SLPMisc_Event, slp_checkbox = new wxCheckBox( misc_subpanels[ANN_MISC_SOUT],SLPMisc_Event,
wxU(_("SLP Announce")) ); wxU(_("SLP Announce")) );
label = new wxStaticText( misc_subpanels[ANN_MISC], -1, label = new wxStaticText( misc_subpanels[ANN_MISC_SOUT], -1,
wxU(_("Channel Name ")) ); wxU(_("Channel Name ")) );
announce_addr = new wxTextCtrl( misc_subpanels[ANN_MISC], announce_addr = new wxTextCtrl( misc_subpanels[ANN_MISC_SOUT],
AnnounceAddr_Event, AnnounceAddr_Event,
wxT(""), wxDefaultPosition, wxT(""), wxDefaultPosition,
wxSize( 200, -1 ), wxTE_PROCESS_ENTER); wxSize( 200, -1 ), wxTE_PROCESS_ENTER);
...@@ -508,16 +509,16 @@ wxPanel *SoutDialog::MiscPanel( wxWindow* parent ) ...@@ -508,16 +509,16 @@ wxPanel *SoutDialog::MiscPanel( wxWindow* parent )
subpanel_sizer->Add( announce_addr, 1, wxEXPAND | subpanel_sizer->Add( announce_addr, 1, wxEXPAND |
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL ); wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
misc_subpanels[ANN_MISC]->SetSizerAndFit( subpanel_sizer ); misc_subpanels[ANN_MISC_SOUT]->SetSizerAndFit( subpanel_sizer );
/* Stuff everything into the main panel */ /* Stuff everything into the main panel */
panel_sizer->Add( misc_subpanels[ANN_MISC], 1, panel_sizer->Add( misc_subpanels[ANN_MISC_SOUT], 1,
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 ); wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 );
panel->SetSizerAndFit( panel_sizer ); panel->SetSizerAndFit( panel_sizer );
/* Update misc panel */ /* Update misc panel */
misc_subpanels[ANN_MISC]->Disable(); misc_subpanels[ANN_MISC_SOUT]->Disable();
announce_addr->Disable(); announce_addr->Disable();
return panel; return panel;
...@@ -539,9 +540,11 @@ wxPanel *SoutDialog::EncapsulationPanel( wxWindow* parent ) ...@@ -539,9 +540,11 @@ wxPanel *SoutDialog::EncapsulationPanel( wxWindow* parent )
wxT("MPEG TS"), wxT("MPEG TS"),
wxT("MPEG PS"), wxT("MPEG PS"),
wxT("MPEG 1"), wxT("MPEG 1"),
wxT("AVI"),
wxT("Ogg"), wxT("Ogg"),
wxT("MP4/MOV") wxT("ASF"),
wxT("AVI"),
wxT("MP4"),
wxT("MOV")
}; };
/* Stuff everything into the main panel */ /* Stuff everything into the main panel */
...@@ -551,7 +554,8 @@ wxPanel *SoutDialog::EncapsulationPanel( wxWindow* parent ) ...@@ -551,7 +554,8 @@ wxPanel *SoutDialog::EncapsulationPanel( wxWindow* parent )
new wxRadioButton( panel, EncapsulationRadio1_Event + i, new wxRadioButton( panel, EncapsulationRadio1_Event + i,
encapsulation_array[i] ); encapsulation_array[i] );
panel_sizer->Add( encapsulation_radios[i], 0, panel_sizer->Add( encapsulation_radios[i], 0,
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 8 ); wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL |
wxALL, 4 );
} }
panel->SetSizerAndFit( panel_sizer ); panel->SetSizerAndFit( panel_sizer );
...@@ -576,7 +580,8 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent ) ...@@ -576,7 +580,8 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
/* Create video transcoding checkox */ /* Create video transcoding checkox */
static const wxString vcodecs_array[] = static const wxString vcodecs_array[] =
{ {
wxT("mpgv"), wxT("mp1v"),
wxT("mp2v"),
wxT("mp4v"), wxT("mp4v"),
wxT("DIV1"), wxT("DIV1"),
wxT("DIV2"), wxT("DIV2"),
...@@ -607,7 +612,7 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent ) ...@@ -607,7 +612,7 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
new wxComboBox( panel, VideoTranscCodec_Event, wxT(""), new wxComboBox( panel, VideoTranscCodec_Event, wxT(""),
wxPoint(20,25), wxDefaultSize, WXSIZEOF(vcodecs_array), wxPoint(20,25), wxDefaultSize, WXSIZEOF(vcodecs_array),
vcodecs_array, wxCB_READONLY ); vcodecs_array, wxCB_READONLY );
video_codec_combo->SetSelection(1); video_codec_combo->SetSelection(2);
wxStaticText *bitrate_label = wxStaticText *bitrate_label =
new wxStaticText( panel, -1, wxU(_("Bitrate (kb/s)"))); new wxStaticText( panel, -1, wxU(_("Bitrate (kb/s)")));
video_bitrate_combo = video_bitrate_combo =
...@@ -739,7 +744,7 @@ void SoutDialog::OnAccessTypeChange( wxCommandEvent& event ) ...@@ -739,7 +744,7 @@ void SoutDialog::OnAccessTypeChange( wxCommandEvent& event )
switch( i_access_type ) switch( i_access_type )
{ {
case UDP_ACCESS_OUT: case UDP_ACCESS_OUT:
misc_subpanels[ANN_MISC]->Enable( event.GetInt() ); misc_subpanels[ANN_MISC_SOUT]->Enable( event.GetInt() );
case RTP_ACCESS_OUT: case RTP_ACCESS_OUT:
for( i = 1; i < ENCAPS_NUM; i++ ) for( i = 1; i < ENCAPS_NUM; i++ )
...@@ -761,24 +766,22 @@ void SoutDialog::OnAccessTypeChange( wxCommandEvent& event ) ...@@ -761,24 +766,22 @@ void SoutDialog::OnAccessTypeChange( wxCommandEvent& event )
*****************************************************************************/ *****************************************************************************/
void SoutDialog::OnSAPMiscChange( wxCommandEvent& event ) void SoutDialog::OnSAPMiscChange( wxCommandEvent& event )
{ {
if(!slp_checkbox->IsChecked()) if( !slp_checkbox->IsChecked() )
{ {
announce_addr->Enable( event.GetInt() ); announce_addr->Enable( event.GetInt() );
} }
UpdateMRL(); UpdateMRL();
} }
void SoutDialog::OnSLPMiscChange( wxCommandEvent& event ) void SoutDialog::OnSLPMiscChange( wxCommandEvent& event )
{ {
if(!sap_checkbox->IsChecked()) if( !sap_checkbox->IsChecked() )
{ {
announce_addr->Enable( event.GetInt() ); announce_addr->Enable( event.GetInt() );
} }
UpdateMRL(); UpdateMRL();
} }
/***************************************************************************** /*****************************************************************************
* SAPAddr panel event methods. * SAPAddr panel event methods.
*****************************************************************************/ *****************************************************************************/
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* timer.cpp : wxWindows plugin for vlc * timer.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: timer.cpp,v 1.30 2003/08/27 11:53:26 gbazin Exp $ * $Id: timer.cpp,v 1.31 2003/08/28 15:59:04 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -272,7 +272,8 @@ static int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable, ...@@ -272,7 +272,8 @@ static int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable,
intf_thread_t *p_intf = (intf_thread_t *)param; intf_thread_t *p_intf = (intf_thread_t *)param;
if( p_intf->p_sys->pf_show_dialog ) if( p_intf->p_sys->pf_show_dialog )
p_intf->p_sys->pf_show_dialog( p_intf, INTF_DIALOG_POPUPMENU, 0, 0 ); p_intf->p_sys->pf_show_dialog( p_intf, INTF_DIALOG_POPUPMENU,
new_val.b_bool, 0 );
return VLC_SUCCESS; return VLC_SUCCESS;
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* wxwindows.cpp : wxWindows plugin for vlc * wxwindows.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: wxwindows.cpp,v 1.31 2003/08/27 11:53:26 gbazin Exp $ * $Id: wxwindows.cpp,v 1.32 2003/08/28 15:59:04 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -298,6 +298,12 @@ static void ShowDialog( intf_thread_t *p_intf, int i_dialog_event, int i_arg, ...@@ -298,6 +298,12 @@ static void ShowDialog( intf_thread_t *p_intf, int i_dialog_event, int i_arg,
event.SetInt( i_arg ); event.SetInt( i_arg );
event.SetClientData( p_arg ); event.SetClientData( p_arg );
#ifdef WIN32
SendMessage( (HWND)p_intf->p_sys->p_wxwindow->GetHandle(),
WM_CANCELMODE, 0, 0 );
if( i_dialog_event == INTF_DIALOG_POPUPMENU && i_arg == 0 ) return;
#endif
/* Hack to prevent popup events to be enqueued when /* Hack to prevent popup events to be enqueued when
* one is already active */ * one is already active */
if( i_dialog_event != INTF_DIALOG_POPUPMENU || if( i_dialog_event != INTF_DIALOG_POPUPMENU ||
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* wxwindows.h: private wxWindows interface description * wxwindows.h: private wxWindows interface description
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: wxwindows.h,v 1.57 2003/08/27 11:53:26 gbazin Exp $ * $Id: wxwindows.h,v 1.58 2003/08/28 15:59:04 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -445,6 +445,36 @@ private: ...@@ -445,6 +445,36 @@ private:
}; };
/* Stream output Dialog */ /* Stream output Dialog */
enum
{
PLAY_ACCESS_OUT = 0,
FILE_ACCESS_OUT,
HTTP_ACCESS_OUT,
MMSH_ACCESS_OUT,
UDP_ACCESS_OUT,
RTP_ACCESS_OUT,
ACCESS_OUT_NUM
};
enum
{
TS_ENCAPSULATION = 0,
PS_ENCAPSULATION,
MPEG1_ENCAPSULATION,
OGG_ENCAPSULATION,
ASF_ENCAPSULATION,
AVI_ENCAPSULATION,
MP4_ENCAPSULATION,
MOV_ENCAPSULATION,
ENCAPS_NUM
};
enum
{
ANN_MISC_SOUT = 0,
MISC_SOUT_NUM
};
class SoutDialog: public wxDialog class SoutDialog: public wxDialog
{ {
public: public:
...@@ -497,23 +527,23 @@ private: ...@@ -497,23 +527,23 @@ private:
wxComboBox *mrl_combo; wxComboBox *mrl_combo;
/* Controls for the access outputs */ /* Controls for the access outputs */
wxPanel *access_subpanels[5]; wxPanel *access_subpanels[ACCESS_OUT_NUM];
wxCheckBox *access_checkboxes[5]; wxCheckBox *access_checkboxes[ACCESS_OUT_NUM];
int i_access_type; int i_access_type;
wxComboBox *file_combo; wxComboBox *file_combo;
wxSpinCtrl *net_ports[5]; wxSpinCtrl *net_ports[ACCESS_OUT_NUM];
wxTextCtrl *net_addrs[5]; wxTextCtrl *net_addrs[ACCESS_OUT_NUM];
/* Controls for the SAP announces */ /* Controls for the SAP announces */
wxPanel *misc_subpanels[1]; wxPanel *misc_subpanels[MISC_SOUT_NUM];
wxCheckBox *sap_checkbox; wxCheckBox *sap_checkbox;
wxCheckBox *slp_checkbox; wxCheckBox *slp_checkbox;
wxTextCtrl *announce_addr; wxTextCtrl *announce_addr;
/* Controls for the encapsulation */ /* Controls for the encapsulation */
wxRadioButton *encapsulation_radios[5]; wxRadioButton *encapsulation_radios[ENCAPS_NUM];
int i_encapsulation_type; int i_encapsulation_type;
/* Controls for transcoding */ /* Controls for transcoding */
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* events.c: Windows DirectX video output events handler * events.c: Windows DirectX video output events handler
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * Copyright (C) 2001 VideoLAN
* $Id: events.c,v 1.21 2003/07/29 21:46:44 gbazin Exp $ * $Id: events.c,v 1.22 2003/08/28 15:59:04 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -51,6 +51,19 @@ static void DirectXCloseWindow ( vout_thread_t *p_vout ); ...@@ -51,6 +51,19 @@ static void DirectXCloseWindow ( vout_thread_t *p_vout );
static long FAR PASCAL DirectXEventProc ( HWND hwnd, UINT message, static long FAR PASCAL DirectXEventProc ( HWND hwnd, UINT message,
WPARAM wParam, LPARAM lParam ); WPARAM wParam, LPARAM lParam );
static void DirectXPopupMenu( event_thread_t *p_event, vlc_bool_t b_open )
{
playlist_t *p_playlist =
vlc_object_find( p_event, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
if( p_playlist != NULL )
{
vlc_value_t val;
val.b_bool = b_open;
var_Set( p_playlist, "intf-popupmenu", val );
vlc_object_release( p_playlist );
}
}
/***************************************************************************** /*****************************************************************************
* DirectXEventThread: Create video window & handle its messages * DirectXEventThread: Create video window & handle its messages
***************************************************************************** *****************************************************************************
...@@ -132,6 +145,7 @@ void DirectXEventThread( event_thread_t *p_event ) ...@@ -132,6 +145,7 @@ void DirectXEventThread( event_thread_t *p_event )
var_Get( p_event->p_vout, "mouse-button-down", &val ); var_Get( p_event->p_vout, "mouse-button-down", &val );
val.i_int |= 1; val.i_int |= 1;
var_Set( p_event->p_vout, "mouse-button-down", val ); var_Set( p_event->p_vout, "mouse-button-down", val );
DirectXPopupMenu( p_event, VLC_FALSE );
break; break;
case WM_LBUTTONUP: case WM_LBUTTONUP:
...@@ -151,6 +165,7 @@ void DirectXEventThread( event_thread_t *p_event ) ...@@ -151,6 +165,7 @@ void DirectXEventThread( event_thread_t *p_event )
var_Get( p_event->p_vout, "mouse-button-down", &val ); var_Get( p_event->p_vout, "mouse-button-down", &val );
val.i_int |= 2; val.i_int |= 2;
var_Set( p_event->p_vout, "mouse-button-down", val ); var_Set( p_event->p_vout, "mouse-button-down", val );
DirectXPopupMenu( p_event, VLC_FALSE );
break; break;
case WM_MBUTTONUP: case WM_MBUTTONUP:
...@@ -163,24 +178,14 @@ void DirectXEventThread( event_thread_t *p_event ) ...@@ -163,24 +178,14 @@ void DirectXEventThread( event_thread_t *p_event )
var_Get( p_event->p_vout, "mouse-button-down", &val ); var_Get( p_event->p_vout, "mouse-button-down", &val );
val.i_int |= 4; val.i_int |= 4;
var_Set( p_event->p_vout, "mouse-button-down", val ); var_Set( p_event->p_vout, "mouse-button-down", val );
DirectXPopupMenu( p_event, VLC_FALSE );
break; break;
case WM_RBUTTONUP: case WM_RBUTTONUP:
var_Get( p_event->p_vout, "mouse-button-down", &val ); var_Get( p_event->p_vout, "mouse-button-down", &val );
val.i_int &= ~4; val.i_int &= ~4;
var_Set( p_event->p_vout, "mouse-button-down", val ); var_Set( p_event->p_vout, "mouse-button-down", val );
{ DirectXPopupMenu( p_event, VLC_TRUE );
playlist_t *p_playlist =
vlc_object_find( p_event, VLC_OBJECT_PLAYLIST,
FIND_ANYWHERE );
if( p_playlist != NULL )
{
vlc_value_t val;
val.b_bool = VLC_TRUE; /* make compiler happy */
var_Set( p_playlist, "intf-popupmenu", val );
vlc_object_release( p_playlist );
}
}
break; break;
case WM_KEYDOWN: case WM_KEYDOWN:
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* playlist.c : Playlist management functions * playlist.c : Playlist management functions
***************************************************************************** *****************************************************************************
* Copyright (C) 1999-2001 VideoLAN * Copyright (C) 1999-2001 VideoLAN
* $Id: playlist.c,v 1.46 2003/08/23 12:59:31 hartman Exp $ * $Id: playlist.c,v 1.47 2003/08/28 15:59:04 gbazin Exp $
* *
* Authors: Samuel Hocevar <sam@zoy.org> * Authors: Samuel Hocevar <sam@zoy.org>
* *
...@@ -66,7 +66,7 @@ playlist_t * __playlist_Create ( vlc_object_t *p_parent ) ...@@ -66,7 +66,7 @@ playlist_t * __playlist_Create ( vlc_object_t *p_parent )
val.b_bool = VLC_TRUE; val.b_bool = VLC_TRUE;
var_Set( p_playlist, "intf-change", val ); var_Set( p_playlist, "intf-change", val );
var_Create( p_playlist, "intf-popupmenu", VLC_VAR_VOID ); var_Create( p_playlist, "intf-popupmenu", VLC_VAR_BOOL );
var_Create( p_playlist, "intf-show", VLC_VAR_BOOL ); var_Create( p_playlist, "intf-show", VLC_VAR_BOOL );
val.b_bool = VLC_TRUE; val.b_bool = VLC_TRUE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment