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 @@
* dialogs.cpp: Handles all the different dialog boxes we provide.
*****************************************************************************
* 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>
*
......@@ -173,10 +173,11 @@ void Dialogs::ShowFileInfo()
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 )
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,
vlc_value_t old_val, vlc_value_t new_val, void *param )
{
Dialogs *p_dialogs = (Dialogs *)param;
p_dialogs->ShowPopup();
p_dialogs->ShowPopup( new_val.b_bool );
return VLC_SUCCESS;
}
......@@ -2,7 +2,7 @@
* dialogs.h: Dialogs class
*****************************************************************************
* 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>
*
......@@ -50,7 +50,7 @@ class Dialogs
void ShowMessages();
void ShowPrefs();
void ShowFileInfo();
void ShowPopup();
void ShowPopup( bool b_show );
vlc_bool_t b_popup_change;
......
......@@ -2,7 +2,7 @@
* window.cpp: Window class
*****************************************************************************
* 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>
* Emmanuel Puig <karibu@via.ecp.fr>
......@@ -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 @@
* dialogs.cpp : wxWindows plugin for vlc
*****************************************************************************
* 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>
*
......@@ -312,7 +312,6 @@ void DialogsProvider::OnPopupMenu( wxCommandEvent& event )
{
wxPoint mousepos = ScreenToClient( wxGetMousePosition() );
::PopupMenu( p_intf, this, mousepos );
}
void DialogsProvider::OnExitThread( wxCommandEvent& WXUNUSED(event) )
......
......@@ -2,7 +2,7 @@
* interface.cpp : wxWindows plugin for vlc
*****************************************************************************
* 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>
*
......@@ -585,13 +585,13 @@ void Interface::OnContextMenu2(wxContextMenuEvent& event)
}
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
void Interface::OnContextMenu(wxMouseEvent& event)
{
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) )
......
......@@ -2,7 +2,7 @@
* menus.cpp : wxWindows plugin for vlc
*****************************************************************************
* 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>
*
......@@ -179,8 +179,6 @@ void PopupMenu( intf_thread_t *p_intf, wxWindow *p_parent,
popupmenu.AppendSeparator();
popupmenu.Append( MenuDummy_Event, wxU("Open"),
OpenStreamMenu( p_intf ), wxT("") );
popupmenu.AppendSeparator();
popupmenu.Append( MenuDummy_Event, wxU(_("Close Menu")) );
#endif
p_intf->p_sys->p_popup_menu = &popupmenu;
......
......@@ -2,7 +2,7 @@
* streamout.cpp : wxWindows plugin for vlc
*****************************************************************************
* 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>
*
......@@ -43,33 +43,6 @@
# define wxRB_SINGLE 0
#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.
*****************************************************************************/
......@@ -84,13 +57,14 @@ enum
FileName_Event,
AccessType1_Event, AccessType2_Event, AccessType3_Event,
AccessType4_Event, AccessType5_Event,
AccessType4_Event, AccessType5_Event, AccessType6_Event,
NetPort1_Event, NetPort2_Event, NetPort3_Event,
NetAddr1_Event, NetAddr2_Event, NetAddr3_Event,
EncapsulationRadio1_Event, EncapsulationRadio2_Event,
EncapsulationRadio3_Event, EncapsulationRadio4_Event,
EncapsulationRadio5_Event,
EncapsulationRadio5_Event, EncapsulationRadio6_Event,
EncapsulationRadio7_Event, EncapsulationRadio8_Event,
VideoTranscEnable_Event, VideoTranscCodec_Event, VideoTranscBitrate_Event,
AudioTranscEnable_Event, AudioTranscCodec_Event, AudioTranscBitrate_Event,
......@@ -110,6 +84,7 @@ BEGIN_EVENT_TABLE(SoutDialog, wxDialog)
EVT_CHECKBOX(AccessType3_Event, SoutDialog::OnAccessTypeChange)
EVT_CHECKBOX(AccessType4_Event, SoutDialog::OnAccessTypeChange)
EVT_CHECKBOX(AccessType5_Event, SoutDialog::OnAccessTypeChange)
EVT_CHECKBOX(AccessType6_Event, SoutDialog::OnAccessTypeChange)
EVT_TEXT(FileName_Event, SoutDialog::OnFileChange)
EVT_BUTTON(FileBrowse_Event, SoutDialog::OnFileBrowse)
......@@ -131,6 +106,12 @@ BEGIN_EVENT_TABLE(SoutDialog, wxDialog)
SoutDialog::OnEncapsulationChange)
EVT_RADIOBUTTON(EncapsulationRadio5_Event,
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 */
EVT_CHECKBOX(VideoTranscEnable_Event, SoutDialog::OnTranscodingEnable)
......@@ -284,6 +265,12 @@ void SoutDialog::UpdateMRL()
case MP4_ENCAPSULATION:
encapsulation = wxT("mp4");
break;
case MOV_ENCAPSULATION:
encapsulation = wxT("mov");
break;
case ASF_ENCAPSULATION:
encapsulation = wxT("asf");
break;
case TS_ENCAPSULATION:
default:
encapsulation = wxT("ts");
......@@ -313,6 +300,18 @@ void SoutDialog::UpdateMRL()
net_ports[HTTP_ACCESS_OUT]->GetValue() );
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( !dup_opts.IsEmpty() ) dup_opts += wxT(",");
......@@ -370,17 +369,18 @@ wxPanel *SoutDialog::AccessPanel( wxWindow* parent )
wxPanel *panel = new wxPanel( parent, -1, wxDefaultPosition,
wxSize(200, 200) );
wxFlexGridSizer *sizer = new wxFlexGridSizer( 2, 4, 20 );
wxStaticBox *panel_box = new wxStaticBox( panel, -1,
wxU(_("Output Methods")) );
wxStaticBoxSizer *panel_sizer = new wxStaticBoxSizer( panel_box,
wxVERTICAL );
wxFlexGridSizer *sizer = new wxFlexGridSizer( 2, 4, 20 );
static const wxString access_output_array[] =
{
wxU(_("Play locally")),
wxU(_("File")),
wxU(_("HTTP")),
wxU(_("MMSH")),
wxU(_("UDP")),
wxU(_("RTP"))
};
......@@ -399,6 +399,7 @@ wxPanel *SoutDialog::AccessPanel( wxWindow* parent )
subpanel_sizer = new wxFlexGridSizer( 1, 1, 20 );
subpanel_sizer->Add( label, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
access_subpanels[0]->SetSizerAndFit( subpanel_sizer );
access_subpanels[0]->Hide();
/* File row */
subpanel_sizer = new wxFlexGridSizer( 3, 1, 20 );
......@@ -486,16 +487,16 @@ wxPanel *SoutDialog::MiscPanel( wxWindow* parent )
wxStaticText *label;
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 );
sap_checkbox = new wxCheckBox( misc_subpanels[ANN_MISC], SAPMisc_Event,
sap_checkbox = new wxCheckBox( misc_subpanels[ANN_MISC_SOUT],SAPMisc_Event,
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")) );
label = new wxStaticText( misc_subpanels[ANN_MISC], -1,
label = new wxStaticText( misc_subpanels[ANN_MISC_SOUT], -1,
wxU(_("Channel Name ")) );
announce_addr = new wxTextCtrl( misc_subpanels[ANN_MISC],
announce_addr = new wxTextCtrl( misc_subpanels[ANN_MISC_SOUT],
AnnounceAddr_Event,
wxT(""), wxDefaultPosition,
wxSize( 200, -1 ), wxTE_PROCESS_ENTER);
......@@ -508,16 +509,16 @@ wxPanel *SoutDialog::MiscPanel( wxWindow* parent )
subpanel_sizer->Add( announce_addr, 1, wxEXPAND |
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 */
panel_sizer->Add( misc_subpanels[ANN_MISC], 1,
panel_sizer->Add( misc_subpanels[ANN_MISC_SOUT], 1,
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL | wxALL, 5 );
panel->SetSizerAndFit( panel_sizer );
/* Update misc panel */
misc_subpanels[ANN_MISC]->Disable();
misc_subpanels[ANN_MISC_SOUT]->Disable();
announce_addr->Disable();
return panel;
......@@ -539,9 +540,11 @@ wxPanel *SoutDialog::EncapsulationPanel( wxWindow* parent )
wxT("MPEG TS"),
wxT("MPEG PS"),
wxT("MPEG 1"),
wxT("AVI"),
wxT("Ogg"),
wxT("MP4/MOV")
wxT("ASF"),
wxT("AVI"),
wxT("MP4"),
wxT("MOV")
};
/* Stuff everything into the main panel */
......@@ -551,7 +554,8 @@ wxPanel *SoutDialog::EncapsulationPanel( wxWindow* parent )
new wxRadioButton( panel, EncapsulationRadio1_Event + i,
encapsulation_array[i] );
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 );
......@@ -576,7 +580,8 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
/* Create video transcoding checkox */
static const wxString vcodecs_array[] =
{
wxT("mpgv"),
wxT("mp1v"),
wxT("mp2v"),
wxT("mp4v"),
wxT("DIV1"),
wxT("DIV2"),
......@@ -607,7 +612,7 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
new wxComboBox( panel, VideoTranscCodec_Event, wxT(""),
wxPoint(20,25), wxDefaultSize, WXSIZEOF(vcodecs_array),
vcodecs_array, wxCB_READONLY );
video_codec_combo->SetSelection(1);
video_codec_combo->SetSelection(2);
wxStaticText *bitrate_label =
new wxStaticText( panel, -1, wxU(_("Bitrate (kb/s)")));
video_bitrate_combo =
......@@ -739,7 +744,7 @@ void SoutDialog::OnAccessTypeChange( wxCommandEvent& event )
switch( i_access_type )
{
case UDP_ACCESS_OUT:
misc_subpanels[ANN_MISC]->Enable( event.GetInt() );
misc_subpanels[ANN_MISC_SOUT]->Enable( event.GetInt() );
case RTP_ACCESS_OUT:
for( i = 1; i < ENCAPS_NUM; i++ )
......@@ -761,24 +766,22 @@ void SoutDialog::OnAccessTypeChange( wxCommandEvent& event )
*****************************************************************************/
void SoutDialog::OnSAPMiscChange( wxCommandEvent& event )
{
if(!slp_checkbox->IsChecked())
if( !slp_checkbox->IsChecked() )
{
announce_addr->Enable( event.GetInt() );
}
UpdateMRL();
UpdateMRL();
}
void SoutDialog::OnSLPMiscChange( wxCommandEvent& event )
{
if(!sap_checkbox->IsChecked())
if( !sap_checkbox->IsChecked() )
{
announce_addr->Enable( event.GetInt() );
}
UpdateMRL();
UpdateMRL();
}
/*****************************************************************************
* SAPAddr panel event methods.
*****************************************************************************/
......
......@@ -2,7 +2,7 @@
* timer.cpp : wxWindows plugin for vlc
*****************************************************************************
* 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>
*
......@@ -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;
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;
}
......@@ -2,7 +2,7 @@
* wxwindows.cpp : wxWindows plugin for vlc
*****************************************************************************
* 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>
*
......@@ -298,6 +298,12 @@ static void ShowDialog( intf_thread_t *p_intf, int i_dialog_event, int i_arg,
event.SetInt( i_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
* one is already active */
if( i_dialog_event != INTF_DIALOG_POPUPMENU ||
......
......@@ -2,7 +2,7 @@
* wxwindows.h: private wxWindows interface description
*****************************************************************************
* 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>
*
......@@ -445,6 +445,36 @@ private:
};
/* 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
{
public:
......@@ -497,23 +527,23 @@ private:
wxComboBox *mrl_combo;
/* Controls for the access outputs */
wxPanel *access_subpanels[5];
wxCheckBox *access_checkboxes[5];
wxPanel *access_subpanels[ACCESS_OUT_NUM];
wxCheckBox *access_checkboxes[ACCESS_OUT_NUM];
int i_access_type;
wxComboBox *file_combo;
wxSpinCtrl *net_ports[5];
wxTextCtrl *net_addrs[5];
wxSpinCtrl *net_ports[ACCESS_OUT_NUM];
wxTextCtrl *net_addrs[ACCESS_OUT_NUM];
/* Controls for the SAP announces */
wxPanel *misc_subpanels[1];
wxPanel *misc_subpanels[MISC_SOUT_NUM];
wxCheckBox *sap_checkbox;
wxCheckBox *slp_checkbox;
wxTextCtrl *announce_addr;
/* Controls for the encapsulation */
wxRadioButton *encapsulation_radios[5];
wxRadioButton *encapsulation_radios[ENCAPS_NUM];
int i_encapsulation_type;
/* Controls for transcoding */
......
......@@ -2,7 +2,7 @@
* events.c: Windows DirectX video output events handler
*****************************************************************************
* 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>
*
......@@ -51,6 +51,19 @@ static void DirectXCloseWindow ( vout_thread_t *p_vout );
static long FAR PASCAL DirectXEventProc ( HWND hwnd, UINT message,
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
*****************************************************************************
......@@ -132,6 +145,7 @@ void DirectXEventThread( event_thread_t *p_event )
var_Get( p_event->p_vout, "mouse-button-down", &val );
val.i_int |= 1;
var_Set( p_event->p_vout, "mouse-button-down", val );
DirectXPopupMenu( p_event, VLC_FALSE );
break;
case WM_LBUTTONUP:
......@@ -151,6 +165,7 @@ void DirectXEventThread( event_thread_t *p_event )
var_Get( p_event->p_vout, "mouse-button-down", &val );
val.i_int |= 2;
var_Set( p_event->p_vout, "mouse-button-down", val );
DirectXPopupMenu( p_event, VLC_FALSE );
break;
case WM_MBUTTONUP:
......@@ -163,24 +178,14 @@ void DirectXEventThread( event_thread_t *p_event )
var_Get( p_event->p_vout, "mouse-button-down", &val );
val.i_int |= 4;
var_Set( p_event->p_vout, "mouse-button-down", val );
DirectXPopupMenu( p_event, VLC_FALSE );
break;
case WM_RBUTTONUP:
var_Get( p_event->p_vout, "mouse-button-down", &val );
val.i_int &= ~4;
var_Set( p_event->p_vout, "mouse-button-down", val );
{
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 );
}
}
DirectXPopupMenu( p_event, VLC_TRUE );
break;
case WM_KEYDOWN:
......
......@@ -2,7 +2,7 @@
* playlist.c : Playlist management functions
*****************************************************************************
* 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>
*
......@@ -66,7 +66,7 @@ playlist_t * __playlist_Create ( vlc_object_t *p_parent )
val.b_bool = VLC_TRUE;
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 );
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