Commit d9aff9ce authored by Olivier Teulière's avatar Olivier Teulière

* Added sound volume management and changed a bit the menus

 * Added audio channels selection, but it's currently disabled since
   it's quite buggy :)
parent 2d8e1a61
......@@ -319,6 +319,44 @@ void __fastcall TMainFrameDlg::EjectActionExecute( TObject *Sender )
}
}
//--------------------------------------------------------------------------
void __fastcall TMainFrameDlg::VolumeUpActionExecute( TObject *Sender )
{
aout_instance_t *p_aout;
p_aout = (aout_instance_t *)vlc_object_find( p_intf, VLC_OBJECT_AOUT,
FIND_ANYWHERE );
if ( p_aout != NULL )
{
aout_VolumeUp( p_aout, 1, NULL );
vlc_object_release( (vlc_object_t *)p_aout );
}
}
//---------------------------------------------------------------------------
void __fastcall TMainFrameDlg::VolumeDownActionExecute( TObject *Sender )
{
aout_instance_t *p_aout;
p_aout = (aout_instance_t *)vlc_object_find( p_intf, VLC_OBJECT_AOUT,
FIND_ANYWHERE );
if ( p_aout != NULL )
{
aout_VolumeDown( p_aout, 1, NULL );
vlc_object_release( (vlc_object_t *)p_aout );
}
}
//---------------------------------------------------------------------------
void __fastcall TMainFrameDlg::MuteActionExecute( TObject *Sender )
{
aout_instance_t *p_aout;
p_aout = (aout_instance_t *)vlc_object_find( p_intf, VLC_OBJECT_AOUT,
FIND_ANYWHERE );
if ( p_aout != NULL )
{
aout_VolumeMute( p_aout, NULL );
vlc_object_release( (vlc_object_t *)p_aout );
// MenuMute->Checked = ! MenuMute->Checked;
}
}
//---------------------------------------------------------------------------
/*****************************************************************************
......@@ -375,7 +413,7 @@ void __fastcall TMainFrameDlg::PopupCloseClick( TObject *Sender )
//---------------------------------------------------------------------------
void __fastcall TMainFrameDlg::PopupJumpClick( TObject *Sender )
{
// TODO
/* TODO */
}
//---------------------------------------------------------------------------
......@@ -590,10 +628,10 @@ void __fastcall TMainFrameDlg::ModeManage()
MenuProgram->Enabled = false;
MenuTitle->Enabled = false;
MenuChapter->Enabled = false;
MenuAudio->Enabled = false;
MenuLanguage->Enabled = false;
MenuSubtitles->Enabled = false;
PopupNavigation->Enabled = false;
PopupAudio->Enabled = false;
PopupLanguage->Enabled = false;
PopupSubtitles->Enabled = false;
}
......
......@@ -256,7 +256,7 @@ object MainFrameDlg: TMainFrameDlg
end
object StatusBar: TStatusBar
Left = 0
Top = 238
Top = 241
Width = 533
Height = 19
Panels = <>
......@@ -464,14 +464,6 @@ object MainFrameDlg: TMainFrameDlg
Caption = '-'
Visible = False
end
object MenuEjectDisc: TMenuItem
Tag = 3
Action = EjectAction
Caption = '&Eject disc'
end
object N1: TMenuItem
Caption = '-'
end
object MenuExit: TMenuItem
Tag = 3
Action = ExitAction
......@@ -486,16 +478,66 @@ object MainFrameDlg: TMainFrameDlg
Hint = 'Hide the main interface window'
OnClick = MenuHideinterfaceClick
end
object N3: TMenuItem
Caption = '-'
end
object MenuPlaylist: TMenuItem
Tag = 3
Action = PlaylistAction
Caption = '&Playlist...'
end
object MenuMessages: TMenuItem
Tag = 3
Action = MessagesAction
end
object MenuPreferences: TMenuItem
Tag = 3
Action = PreferencesAction
end
end
object MenuControls: TMenuItem
Tag = 3
Caption = '&Controls'
object MenuADevice: TMenuItem
Tag = 3
Caption = 'Audio device'
Enabled = False
end
object MenuVolumeUp: TMenuItem
Tag = 3
Action = VolumeUpAction
end
object MenuVolumeDown: TMenuItem
Tag = 3
Action = VolumeDownAction
end
object MenuMute: TMenuItem
Action = MuteAction
end
object MenuChannel: TMenuItem
Tag = 3
Caption = 'C&hannels'
Enabled = False
Hint = 'Select audio channel'
end
object N2: TMenuItem
Caption = '-'
end
object MenuVDevice: TMenuItem
Tag = 3
Caption = 'Sc&reen'
Enabled = False
end
object MenuFullscreen: TMenuItem
Tag = 3
Action = FullscreenAction
end
object N2: TMenuItem
object N11: TMenuItem
Caption = '-'
end
object MenuProgram: TMenuItem
Tag = 3
Caption = 'Progr&am'
Caption = '&Program'
Enabled = False
Hint = 'Select program'
end
......@@ -513,29 +555,13 @@ object MainFrameDlg: TMainFrameDlg
end
object MenuAngle: TMenuItem
Tag = 3
Caption = 'An&gle'
Caption = '&Angle'
Enabled = False
Hint = 'Select angle'
end
object N3: TMenuItem
Caption = '-'
end
object MenuPlaylist: TMenuItem
object MenuLanguage: TMenuItem
Tag = 3
Action = PlaylistAction
Caption = '&Playlist...'
end
object MenuMessages: TMenuItem
Tag = 3
Action = MessagesAction
end
end
object MenuSettings: TMenuItem
Tag = 3
Caption = '&Settings'
object MenuAudio: TMenuItem
Tag = 3
Caption = '&Audio'
Caption = '&Language'
Enabled = False
Hint = 'Select audio language'
end
......@@ -545,13 +571,6 @@ object MainFrameDlg: TMainFrameDlg
Enabled = False
Hint = 'Select subtitles language'
end
object N4: TMenuItem
Caption = '-'
end
object MenuPreferences: TMenuItem
Tag = 3
Action = PreferencesAction
end
end
object MenuHelp: TMenuItem
Tag = 3
......@@ -2299,16 +2318,17 @@ object MainFrameDlg: TMainFrameDlg
end
object PopupMenuMain: TPopupMenu
AutoPopup = False
TrackButton = tbLeftButton
Left = 72
Top = 208
object PopupClose: TMenuItem
Tag = 3
Caption = '&Close this popup'
Caption = 'Close this popup'
OnClick = PopupCloseClick
end
object PopupToggleInterface: TMenuItem
Tag = 3
Caption = '&Toggle interface'
Caption = 'Show interface'
OnClick = PopupToggleInterfaceClick
end
object N9: TMenuItem
......@@ -2363,9 +2383,38 @@ object MainFrameDlg: TMainFrameDlg
object PopupFullscreen: TMenuItem
Tag = 3
Action = FullscreenAction
ShortCut = 70
end
end
object PopupAudioSettings: TMenuItem
Tag = 3
Caption = 'Audio settings'
object PopupADevice: TMenuItem
Tag = 3
Caption = 'Device'
end
object VolumeUp1: TMenuItem
Tag = 3
Action = VolumeUpAction
end
object VolumeDown1: TMenuItem
Tag = 3
Action = VolumeDownAction
end
object Mute1: TMenuItem
Tag = 3
Action = MuteAction
end
object PopupChannel: TMenuItem
Tag = 3
Caption = 'Channels'
end
end
object PopupVDevice: TMenuItem
Caption = 'Screen'
end
object N1: TMenuItem
Caption = '-'
end
object PopupNavigation: TMenuItem
Tag = 3
Caption = 'Navigation'
......@@ -2374,9 +2423,9 @@ object MainFrameDlg: TMainFrameDlg
Tag = 3
Caption = 'Program'
end
object PopupAudio: TMenuItem
object PopupLanguage: TMenuItem
Tag = 3
Caption = 'Audio'
Caption = 'Language'
end
object PopupSubtitles: TMenuItem
Tag = 3
......@@ -2553,8 +2602,9 @@ object MainFrameDlg: TMainFrameDlg
object FullscreenAction: TAction
Tag = 3
Category = 'Control'
Caption = 'Fullscreen'
Caption = '&Fullscreen'
Hint = 'Toggle fullscreen'
ShortCut = 70
OnExecute = FullscreenActionExecute
end
object PreferencesAction: TAction
......@@ -2607,5 +2657,28 @@ object MainFrameDlg: TMainFrameDlg
Hint = 'Jump to next chapter'
OnExecute = NextChapterActionExecute
end
object VolumeUpAction: TAction
Tag = 3
Category = 'Control'
Caption = 'Volume &Up'
Hint = 'Increase the volume'
ShortCut = 16469
OnExecute = VolumeUpActionExecute
end
object VolumeDownAction: TAction
Tag = 3
Category = 'Control'
Caption = 'Volume &Down'
Hint = 'Decrease the volume'
ShortCut = 16452
OnExecute = VolumeDownActionExecute
end
object MuteAction: TAction
Tag = 3
Category = 'Control'
Caption = '&Mute'
Hint = 'Toggle mute'
OnExecute = MuteActionExecute
end
end
end
......@@ -70,22 +70,19 @@ __published: // IDE-managed Components
TMenuItem *MenuOpenFile;
TMenuItem *MenuOpenDisc;
TMenuItem *MenuNetworkStream;
TMenuItem *N1;
TMenuItem *MenuExit;
TMenuItem *MenuView;
TMenuItem *MenuHideinterface;
TMenuItem *MenuFullscreen;
TMenuItem *N2;
TMenuItem *MenuTitle;
TMenuItem *MenuChapter;
TMenuItem *MenuAngle;
TMenuItem *N3;
TMenuItem *MenuPlaylist;
TMenuItem *MenuMessages;
TMenuItem *MenuSettings;
TMenuItem *MenuAudio;
TMenuItem *MenuControls;
TMenuItem *MenuLanguage;
TMenuItem *MenuSubtitles;
TMenuItem *N4;
TMenuItem *MenuPreferences;
TMenuItem *MenuHelp;
TMenuItem *MenuAbout;
......@@ -105,7 +102,7 @@ __published: // IDE-managed Components
TMenuItem *PopupJump;
TMenuItem *PopupNavigation;
TMenuItem *PopupProgram;
TMenuItem *PopupAudio;
TMenuItem *PopupLanguage;
TMenuItem *PopupSubtitles;
TMenuItem *PopupFile;
TMenuItem *PopupPlaylist;
......@@ -120,7 +117,6 @@ __published: // IDE-managed Components
TLabel *LabelServer;
TGroupBox *GroupBoxDisc;
TMenuItem *N8;
TMenuItem *MenuEjectDisc;
TMenuItem *MenuProgram;
TLabel *LabelDisc;
TLabel *LabelTitle;
......@@ -169,6 +165,25 @@ __published: // IDE-managed Components
TAction *NextTitleAction;
TAction *PrevChapterAction;
TAction *NextChapterAction;
TMenuItem *N11;
TMenuItem *MenuChannel;
TMenuItem *PopupChannel;
TMenuItem *MenuVolumeUp;
TMenuItem *MenuVolumeDown;
TMenuItem *MenuMute;
TAction *VolumeUpAction;
TAction *VolumeDownAction;
TAction *MuteAction;
TMenuItem *MenuADevice;
TMenuItem *PopupAudioSettings;
TMenuItem *PopupADevice;
TMenuItem *VolumeDown1;
TMenuItem *VolumeUp1;
TMenuItem *Mute1;
TMenuItem *MenuVDevice;
TMenuItem *N2;
TMenuItem *N1;
TMenuItem *PopupVDevice;
void __fastcall TimerManageTimer( TObject *Sender );
void __fastcall TrackBarChange( TObject *Sender );
void __fastcall FormClose( TObject *Sender, TCloseAction &Action );
......@@ -180,21 +195,24 @@ __published: // IDE-managed Components
void __fastcall OpenFileActionExecute( TObject *Sender );
void __fastcall OpenDiscActionExecute( TObject *Sender );
void __fastcall NetworkStreamActionExecute( TObject *Sender );
void __fastcall ExitActionExecute( TObject *Sender );
void __fastcall PlaylistActionExecute( TObject *Sender );
void __fastcall MessagesActionExecute( TObject *Sender );
void __fastcall AboutActionExecute( TObject *Sender );
void __fastcall BackActionExecute( TObject *Sender );
void __fastcall PlayActionExecute( TObject *Sender );
void __fastcall PauseActionExecute( TObject *Sender );
void __fastcall StopActionExecute( TObject *Sender );
void __fastcall SlowActionExecute( TObject *Sender );
void __fastcall FastActionExecute( TObject *Sender );
void __fastcall EjectActionExecute( TObject *Sender );
void __fastcall PlaylistActionExecute( TObject *Sender );
void __fastcall PreviousActionExecute( TObject *Sender );
void __fastcall NextActionExecute( TObject *Sender );
void __fastcall EjectActionExecute( TObject *Sender );
void __fastcall VolumeUpActionExecute( TObject *Sender );
void __fastcall VolumeDownActionExecute( TObject *Sender );
void __fastcall MuteActionExecute( TObject *Sender );
void __fastcall FullscreenActionExecute( TObject *Sender );
void __fastcall PreferencesActionExecute( TObject *Sender );
void __fastcall MessagesActionExecute( TObject *Sender );
void __fastcall AboutActionExecute( TObject *Sender );
void __fastcall ExitActionExecute( TObject *Sender );
void __fastcall PrevTitleActionExecute( TObject *Sender );
void __fastcall NextTitleActionExecute( TObject *Sender );
void __fastcall PrevChapterActionExecute( TObject *Sender );
......
This diff is collapsed.
......@@ -2,7 +2,7 @@
* menu.h: prototypes for menu functions
*****************************************************************************
* Copyright (C) 2002 VideoLAN
* $Id: menu.h,v 1.2 2002/12/13 03:52:58 videolan Exp $
* $Id: menu.h,v 1.3 2003/01/08 02:16:09 ipkiss Exp $
*
* Authors: Olivier Teuliere <ipkiss@via.ecp.fr>
*
......@@ -30,8 +30,14 @@ private:
intf_thread_t *p_intf;
/* local pointers to main window menu items */
TMenuItem *MenuAudio;
TMenuItem *PopupAudio;
TMenuItem *MenuChannel;
TMenuItem *PopupChannel;
TMenuItem *MenuADevice;
TMenuItem *PopupADevice;
TMenuItem *MenuVDevice;
TMenuItem *PopupVDevice;
TMenuItem *MenuLanguage;
TMenuItem *PopupLanguage;
TMenuItem *MenuSubtitles;
TMenuItem *PopupSubtitles;
TMenuItem *MenuProgram;
......@@ -51,8 +57,13 @@ private:
int __fastcall Data2Chapter( int data );
int __fastcall Pos2Data( int title, int chapter );
void __fastcall VarChange( vlc_object_t *, const char *, TMenuItem *,
TMenuItem *, TMenuItem * );
void __fastcall LangChange( TMenuItem *, TMenuItem *, TMenuItem *, int );
void __fastcall ProgramChange( TMenuItem *, TMenuItem * );
void __fastcall SetupVarMenu( vlc_object_t *, const char *, TMenuItem *,
TNotifyEvent );
void __fastcall ProgramMenu( TMenuItem *, pgrm_descriptor_t *,
TNotifyEvent );
void __fastcall RadioMenu( TMenuItem *, AnsiString, int, int,
......@@ -67,8 +78,10 @@ public:
void __fastcall SetupMenus();
/* callbacks for menuitems */
void __fastcall MenuAudioClick( TObject *Sender );
void __fastcall PopupAudioClick( TObject *Sender );
void __fastcall AoutVarClick( TObject *Sender );
void __fastcall VoutVarClick( TObject *Sender );
void __fastcall MenuLanguageClick( TObject *Sender );
void __fastcall PopupLanguageClick( TObject *Sender );
void __fastcall MenuSubtitleClick( TObject *Sender );
void __fastcall PopupSubtitleClick( TObject *Sender );
void __fastcall MenuProgramClick( TObject *Sender );
......
......@@ -2,7 +2,7 @@
* win32.cpp : Win32 interface plugin for vlc
*****************************************************************************
* Copyright (C) 2002 VideoLAN
* $Id: win32.cpp,v 1.6 2002/12/13 17:05:12 babal Exp $
* $Id: win32.cpp,v 1.7 2003/01/08 02:16:09 ipkiss Exp $
*
* Authors: Olivier Teulire <ipkiss@via.ecp.fr>
*
......@@ -129,6 +129,9 @@ static void Run( intf_thread_t *p_intf )
*****************************************************************************/
int Win32Manage( intf_thread_t *p_intf )
{
aout_instance_t * p_aout;
vout_thread_t * p_vout;
vlc_mutex_lock( &p_intf->change_lock );
/* If the "display popup" flag has changed */
......@@ -230,6 +233,42 @@ int Win32Manage( intf_thread_t *p_intf )
p_intf->p_sys->b_playing = 0;
}
/* Does the audio output require to update the menus ? */
p_aout = (aout_instance_t *)vlc_object_find( p_intf, VLC_OBJECT_AOUT,
FIND_ANYWHERE );
if( p_aout != NULL )
{
vlc_value_t val;
if( var_Get( (vlc_object_t *)p_aout, "intf-change", &val ) >= 0
&& val.b_bool )
{
#if 0
p_intf->p_sys->b_aout_update = 1;
p_intf->p_sys->p_menus->SetupMenus();
#endif
}
vlc_object_release( (vlc_object_t *)p_aout );
}
/* Does the video output require to update the menus ? */
p_vout = (vout_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_VOUT,
FIND_ANYWHERE );
if( p_vout != NULL )
{
vlc_value_t val;
if( var_Get( (vlc_object_t *)p_vout, "intf-change", &val ) >= 0
&& val.b_bool )
{
#if 0
p_intf->p_sys->b_vout_update = 1;
p_intf->p_sys->p_menus->SetupMenus();
#endif
}
vlc_object_release( (vlc_object_t *)p_vout );
}
if( p_intf->b_die )
{
vlc_mutex_unlock( &p_intf->change_lock );
......
......@@ -9,7 +9,7 @@
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
......@@ -20,7 +20,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#include "about.h"
#include "disc.h"
#include "mainframe.h"
#include "menu.h"
......@@ -47,7 +46,11 @@ struct intf_sys_t
vlc_bool_t b_slider_free; /* slider status */
/* menus handlers */
vlc_bool_t b_program_update; /* do we need to update programs
vlc_bool_t b_aout_update; /* do we need to update menus
related with audio output */
vlc_bool_t b_vout_update; /* do we need to update menus
related with video output */
vlc_bool_t b_program_update; /* do we need to update programs
menu */
vlc_bool_t b_title_update; /* do we need to update title menus */
vlc_bool_t b_chapter_update; /* do we need to update chapter
......
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