Mercurial > mplayer.hg
changeset 14686:e2b2ab284a9a
ESD configuration dialog and software volume control option for Gui
Patch by Paul Wilhelm Elsinghorst ( paul [at] uni-bonn de )
author | reimar |
---|---|
date | Sat, 12 Feb 2005 16:05:11 +0000 |
parents | 4b02f759f529 |
children | 33a613386f74 |
files | AUTHORS Gui/cfg.c Gui/cfg.h Gui/interface.c Gui/mplayer/gtk/opts.c help/help_mp-en.h |
diffstat | 6 files changed, 60 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/AUTHORS Sat Feb 12 15:11:02 2005 +0000 +++ b/AUTHORS Sat Feb 12 16:05:11 2005 +0000 @@ -210,6 +210,9 @@ Egger, Christoph <christoph_egger@gmx.de> * vo_ggi updates +Elsinghorst, Paul Wilhelm <paul@uni-bonn.de> + * GUI: remote ESD support including software mixer + Ernesti, Bernd <mplayer@lists.veego.de> * NetBSD support patches
--- a/Gui/cfg.c Sat Feb 12 15:11:02 2005 +0000 +++ b/Gui/cfg.c Sat Feb 12 16:05:11 2005 +0000 @@ -6,6 +6,7 @@ #include "../config.h" #include "../mp_msg.h" #include "../help_mp.h" +#include "../mixer.h" #include "../mplayer.h" #include "../m_config.h" #include "../m_option.h" @@ -46,6 +47,9 @@ #ifdef HAVE_SDL char * gtkAOSDLDriver; #endif +#ifdef USE_ESD +char * gtkAOESDDevice; +#endif int gtkCacheOn = 0; int gtkCacheSize = 2048; @@ -108,6 +112,7 @@ { "ao_driver",&audio_driver_list,CONF_TYPE_STRING_LIST,0,0,0,NULL }, { "ao_volnorm",>kAONorm,CONF_TYPE_FLAG,0,0,1,NULL }, + { "softvol",&soft_vol,CONF_TYPE_FLAG,0,0,1,NULL }, { "ao_surround",>kAOSurround,CONF_TYPE_FLAG,0,0,1,NULL }, { "ao_extra_stereo",>kAOExtraStereo,CONF_TYPE_FLAG,0,0,1,NULL }, { "ao_extra_stereo_coefficient",>kAOExtraStereoMul,CONF_TYPE_FLOAT,CONF_RANGE,-10,10,NULL }, @@ -124,6 +129,9 @@ #ifdef HAVE_SDL { "ao_sdl_subdriver",>kAOSDLDriver,CONF_TYPE_STRING,0,0,0,NULL }, #endif +#ifdef USE_ESD + { "ao_esd_device",>kAOESDDevice,CONF_TYPE_STRING,0,0,0,NULL }, +#endif { "dvd_device",&dvd_device,CONF_TYPE_STRING,0,0,0,NULL }, { "cdrom_device",&cdrom_device,CONF_TYPE_STRING,0,0,0,NULL },
--- a/Gui/cfg.h Sat Feb 12 15:11:02 2005 +0000 +++ b/Gui/cfg.h Sat Feb 12 16:05:11 2005 +0000 @@ -25,6 +25,9 @@ #ifdef HAVE_SDL extern char * gtkAOSDLDriver; #endif +#ifdef USE_ESD +extern char * gtkAOESDDevice; +#endif #ifdef HAVE_DXR3 extern char * gtkDXR3Device; #endif
--- a/Gui/interface.c Sat Feb 12 15:11:02 2005 +0000 +++ b/Gui/interface.c Sat Feb 12 16:05:11 2005 +0000 @@ -875,6 +875,19 @@ free(tmp); } #endif +#ifdef USE_ESD + if ( audio_driver_list && !gstrncmp( audio_driver_list[0],"esd",3 ) ) + { + char *tmp; + if (gtkAOESDDevice) { + tmp = calloc( 1,strlen( gtkAOESDDevice ) + 10 ); + sprintf( tmp,"esd:%s",gtkAOESDDevice ); + } else + tmp = strdup("esd"); + gaddlist( &audio_driver_list,tmp ); + free(tmp); + } +#endif // -- subtitle #ifdef USE_SUB //subdata->filename=gstrdup( guiIntfStruct.Subtitlename );
--- a/Gui/mplayer/gtk/opts.c Sat Feb 12 15:11:02 2005 +0000 +++ b/Gui/mplayer/gtk/opts.c Sat Feb 12 16:05:11 2005 +0000 @@ -52,6 +52,7 @@ //static GtkWidget * CBSurround; static GtkWidget * CBExtraStereo; static GtkWidget * CBNormalize; +static GtkWidget * CBSoftwareMixer; static GtkWidget * CBDoubleBuffer; static GtkWidget * CBDR; static GtkWidget * CBFramedrop; @@ -180,6 +181,7 @@ #endif gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBExtraStereo ),gtkAOExtraStereo ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNormalize ),gtkAONorm ); + gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSoftwareMixer ),soft_vol ); gtk_adjustment_set_value( HSExtraStereoMuladj,gtkAOExtraStereoMul ); { int i = 0; @@ -207,6 +209,7 @@ gtk_widget_set_sensitive( AConfig,FALSE ); if ( !strncmp( ao_driver[0],"oss",3 ) || !strncmp( ao_driver[0],"alsa",4 ) || + !strncmp( ao_driver[0],"esd",3 ) || !strncmp( ao_driver[0],"sdl",3 ) ) gtk_widget_set_sensitive( AConfig,TRUE ); } @@ -407,6 +410,7 @@ // -- signals gtk_signal_connect( GTK_OBJECT( CBExtraStereo ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)0 ); gtk_signal_connect( GTK_OBJECT( CBNormalize ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)1 ); + gtk_signal_connect( GTK_OBJECT( CBSoftwareMixer ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)1 ); gtk_signal_connect( GTK_OBJECT( CBAudioEqualizer ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)2 ); gtk_signal_connect( GTK_OBJECT( CBShowVideoWindow ),"toggled",GTK_SIGNAL_FUNC( prToggled ), (void*)3 ); #ifdef HAVE_FREETYPE @@ -509,6 +513,7 @@ gtkEnableAudioEqualizer=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAudioEqualizer ) ); gtkAOExtraStereo=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBExtraStereo ) ); gtkAONorm=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNormalize ) ); + soft_vol=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSoftwareMixer ) ); gtkSet( gtkSetExtraStereo,HSExtraStereoMuladj->value,NULL ); audio_delay=HSAudioDelayadj->value; @@ -605,6 +610,7 @@ gtk_widget_set_sensitive( AConfig,FALSE ); if ( !strncmp( ao_driver[0],"oss",3 ) || !strncmp( ao_driver[0],"alsa",4 ) || + !strncmp( ao_driver[0],"esd",3 ) || !strncmp( ao_driver[0],"sdl",3 ) ) { ShowAudioConfig(); gtk_widget_set_sensitive( AConfig,TRUE ); @@ -727,6 +733,7 @@ gtk_widget_set_sensitive( AConfig,FALSE ); if ( !strncmp( ao_driver[0],"oss",3 ) || !strncmp( ao_driver[0],"alsa",4 ) || + !strncmp( ao_driver[0],"esd",3 ) || !strncmp( ao_driver[0],"sdl",3 ) ) gtk_widget_set_sensitive( AConfig,TRUE ); break; @@ -836,6 +843,7 @@ CBNormalize=AddCheckButton( MSGTR_PREFERENCES_NormalizeSound,vbox3 ); CBAudioEqualizer=AddCheckButton( MSGTR_PREFERENCES_EnEqualizer,vbox3 ); + CBSoftwareMixer=AddCheckButton( MSGTR_PREFERENCES_SoftwareMixer,vbox3 ); #if 0 CBSurround=AddCheckButton( "Enable surround",vbox3 ); #endif @@ -1253,6 +1261,7 @@ #if 0 gtk_signal_connect( GTK_OBJECT( CBNormalize ),"toggled",GTK_SIGNAL_FUNC( on_CBNormalize_toggled ),NULL ); + gtk_signal_connect( GTK_OBJECT( CBSoftwareMixer ),"toggled",GTK_SIGNAL_FUNC( on_CBSoftwareMixer_toggled ),NULL ); gtk_signal_connect( GTK_OBJECT( CBSurround ),"toggled",GTK_SIGNAL_FUNC( on_CBSurround_toggled ),NULL ); gtk_signal_connect( GTK_OBJECT( CBExtraStereo ),"toggled",GTK_SIGNAL_FUNC( on_CBExtraStereo_toggled ),NULL ); gtk_signal_connect( GTK_OBJECT( CBDoubleBuffer ),"toggled",GTK_SIGNAL_FUNC( on_CBDoubleBuffer_toggled ),NULL ); @@ -1382,6 +1391,14 @@ } #endif +#ifdef USE_ESD +GList *appendESDDevices(GList *l) { + l = g_list_append(l, (gpointer)"Enter Remote IP"); + l = g_list_append(l, (gpointer)"Use Software Mixer"); + return l; +} +#endif + // Gets text string from a gtk entry, interpreting // MSGTR_PREFERENCES_DriverDefault as null string. char *getGtkEntryText(GtkWidget *from) { @@ -1434,6 +1451,11 @@ setGtkEntryText(CEAudioDevice, gtkAOSDLDriver); } #endif +#ifdef USE_ESD + if (strncmp(ao_driver[0], "esd", 3) == 0) { + setGtkEntryText(CEAudioDevice, gtkAOESDDevice); + } +#endif gtk_widget_show(AudioConfig); gtkSetLayer(AudioConfig); @@ -1475,6 +1497,12 @@ gtkAOSDLDriver = gstrdup(getGtkEntryText(CEAudioDevice)); } #endif +#ifdef USE_ESD + if (strncmp(ao_driver[0], "esd", 3) == 0) { + gfree(>kAOESDDevice); + gtkAOESDDevice = gstrdup(getGtkEntryText(CEAudioDevice)); + } +#endif case 0: HideAudioConfig(); break; @@ -1525,6 +1553,10 @@ if (strncmp(ao_driver[0], "sdl", 3) == 0) items = appendSDLDevices(items); #endif +#ifdef USE_ESD + if (strncmp(ao_driver[0], "esd", 3) == 0) + items = appendESDDevices(items); +#endif gtk_combo_set_popdown_strings(GTK_COMBO(CBAudioDevice), items); g_list_free(items); items = NULL;
--- a/help/help_mp-en.h Sat Feb 12 15:11:02 2005 +0000 +++ b/help/help_mp-en.h Sat Feb 12 16:05:11 2005 +0000 @@ -735,6 +735,7 @@ #define MSGTR_PREFERENCES_DoNotPlaySound "Do not play sound" #define MSGTR_PREFERENCES_NormalizeSound "Normalize sound" #define MSGTR_PREFERENCES_EnEqualizer "Enable equalizer" +#define MSGTR_PREFERENCES_SoftwareMixer "Enable Software Mixer" #define MSGTR_PREFERENCES_ExtraStereo "Enable extra stereo" #define MSGTR_PREFERENCES_Coefficient "Coefficient:" #define MSGTR_PREFERENCES_AudioDelay "Audio delay"