diff options
Diffstat (limited to 'Gui/mplayer/gtk/opts.c')
-rw-r--r-- | Gui/mplayer/gtk/opts.c | 1814 |
1 files changed, 0 insertions, 1814 deletions
diff --git a/Gui/mplayer/gtk/opts.c b/Gui/mplayer/gtk/opts.c deleted file mode 100644 index 60e9a1bde8..0000000000 --- a/Gui/mplayer/gtk/opts.c +++ /dev/null @@ -1,1814 +0,0 @@ - -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> -#include <string.h> - -#include <gdk/gdkkeysyms.h> -#include <gtk/gtk.h> - -#include "config.h" -#include "help_mp.h" -#include "mixer.h" -#include "libao2/audio_out.h" -#include "libvo/video_out.h" - -#include "app.h" -#include "cfg.h" -#include "interface.h" -#include "../widgets.h" -#include "opts.h" -#include "fs.h" -#include "common.h" - -typedef struct sh_video_t sh_video_t; -typedef struct sh_audio_t sh_audio_t; - -// for mpcodecs_[av]d_drivers: -#include "libmpcodecs/vd.h" -#include "libmpcodecs/ad.h" - - GtkWidget * Preferences = NULL; -static GtkWidget * AConfig; -static GtkWidget * VConfig; -//static GtkWidget * BLoadSubtitle; -static GtkWidget * BLoadFont; -static GtkWidget * BOk; -static GtkWidget * BCancel; - -static GtkWidget * CLADrivers; -static GtkWidget * CLVDrivers; - -//static GtkWidget * ESubtitleName; - GtkWidget * prEFontName; - GtkWidget * prEDVDDevice; - GtkWidget * prECDRomDevice; -static GtkWidget * EVFM; -static GtkWidget * EAFM; - -static GtkWidget * CBVFM; -static GtkWidget * CBAFM; -static GtkWidget * CBAudioEqualizer; -//static GtkWidget * CBSurround; -static GtkWidget * CBExtraStereo; -static GtkWidget * CBNormalize; -static GtkWidget * CBSoftwareMixer; -static GtkWidget * CBDoubleBuffer; -static GtkWidget * CBDR; -static GtkWidget * CBFramedrop; -static GtkWidget * CBHFramedrop; -//static GtkWidget * CBFullScreen; -static GtkWidget * CBShowVideoWindow; -static GtkWidget * CBNonInterlaved; -static GtkWidget * CBIndex; -static GtkWidget * CBFlip; -static GtkWidget * CBNoAutoSub; -static GtkWidget * CBSubUnicode; -static GtkWidget * CBSubOverlap; -static GtkWidget * CBDumpMPSub; -static GtkWidget * CBDumpSrt; -static GtkWidget * CBUseASS; -static GtkWidget * CBASSUseMargins; -static GtkWidget * SBASSTopMargin; -static GtkWidget * SBASSBottomMargin; -static GtkWidget * CBPostprocess; -static GtkWidget * CBCache; -static GtkWidget * CBLoadFullscreen; -static GtkWidget * CBSaveWinPos; -static GtkWidget * CBStopXScreenSaver; -static GtkWidget * CBPlayBar; - -static GtkWidget * SBCache; -static GtkAdjustment * SBCacheadj; - -static GtkWidget * CBAutoSync; -static GtkWidget * SBAutoSync; -static GtkAdjustment * SBAutoSyncadj; - -static GtkWidget * RBOSDNone; -static GtkWidget * RBOSDTandP; -static GtkWidget * RBOSDIndicator; -static GtkWidget * RBOSDTPTT; - -static GtkWidget * HSAudioDelay; -static GtkWidget * HSExtraStereoMul; -static GtkWidget * HSPanscan; -static GtkWidget * HSSubDelay; -static GtkWidget * HSSubPosition; -static GtkWidget * HSSubFPS; -static GtkWidget * HSPPQuality; -static GtkWidget * HSFPS; - -static GtkAdjustment * HSExtraStereoMuladj, * HSAudioDelayadj, * HSPanscanadj, * HSSubDelayadj; -static GtkAdjustment * HSSubPositionadj, * HSSubFPSadj, * HSPPQualityadj, * HSFPSadj; - -#ifndef HAVE_FREETYPE -static GtkWidget * HSFontFactor; -static GtkAdjustment * HSFontFactoradj; -#else -static GtkWidget * HSFontBlur, * HSFontOutLine, * HSFontTextScale, * HSFontOSDScale; -static GtkAdjustment * HSFontBluradj, * HSFontOutLineadj, * HSFontTextScaleadj, * HSFontOSDScaleadj; -static GtkWidget * CBFontEncoding, * EFontEncoding; -static GtkWidget * RBFontNoAutoScale, * RBFontAutoScaleWidth, * RBFontAutoScaleHeight, * RBFontAutoScaleDiagonal; -//static GtkWidget * AutoScale; -#endif - -#ifdef USE_ICONV -static GtkWidget * CBSubEncoding, * ESubEncoding; -#endif - -#if defined( HAVE_FREETYPE ) || defined( USE_ICONV ) -static struct -{ - char * name; - char * comment; -} lEncoding[] = - { - { "unicode", MSGTR_PREFERENCES_FontEncoding1 }, - { "iso-8859-1", MSGTR_PREFERENCES_FontEncoding2 }, - { "iso-8859-15", MSGTR_PREFERENCES_FontEncoding3 }, - { "iso-8859-2", MSGTR_PREFERENCES_FontEncoding4 }, - { "cp1250", MSGTR_PREFERENCES_FontEncoding22}, - { "iso-8859-3", MSGTR_PREFERENCES_FontEncoding5 }, - { "iso-8859-4", MSGTR_PREFERENCES_FontEncoding6 }, - { "iso-8859-5", MSGTR_PREFERENCES_FontEncoding7 }, - { "cp1251", MSGTR_PREFERENCES_FontEncoding21}, - { "iso-8859-6", MSGTR_PREFERENCES_FontEncoding8 }, - { "iso-8859-7", MSGTR_PREFERENCES_FontEncoding9 }, - { "iso-8859-9", MSGTR_PREFERENCES_FontEncoding10 }, - { "iso-8859-13", MSGTR_PREFERENCES_FontEncoding11 }, - { "iso-8859-14", MSGTR_PREFERENCES_FontEncoding12 }, - { "iso-8859-8", MSGTR_PREFERENCES_FontEncoding13 }, - { "koi8-r", MSGTR_PREFERENCES_FontEncoding14 }, - { "koi8-u/ru", MSGTR_PREFERENCES_FontEncoding15 }, - { "cp936", MSGTR_PREFERENCES_FontEncoding16 }, - { "big5", MSGTR_PREFERENCES_FontEncoding17 }, - { "shift-jis", MSGTR_PREFERENCES_FontEncoding18 }, - { "cp949", MSGTR_PREFERENCES_FontEncoding19 }, - { "cp874", MSGTR_PREFERENCES_FontEncoding20 }, - { NULL,NULL } - }; -char * lCEncoding = NULL; -char * lSEncoding = NULL; -#endif - -static int old_audio_driver = 0; -static char * ao_driver[3]; -static char * vo_driver[3]; -static int old_video_driver = 0; - -#ifdef HAVE_DXR3 - void ShowDXR3Config( void ); - void HideDXR3Config( void ); -#endif - void ShowAudioConfig(); - void HideAudioConfig(); - -static gboolean prHScaler( GtkWidget * widget,GdkEventMotion * event,gpointer user_data ); -static void prToggled( GtkToggleButton * togglebutton,gpointer user_data ); -static void prCListRow( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ); -#if defined( HAVE_FREETYPE ) || defined( USE_ICONV ) -static void prEntry( GtkContainer * container,gpointer user_data ); -#endif - -extern int stop_xscreensaver; - -void ShowPreferences( void ) -{ - if ( Preferences ) gtkActive( Preferences ); - else Preferences=create_Preferences(); - -// -- 1. page - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAudioEqualizer ),gtkEnableAudioEqualizer ); -#if 0 - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSurround ),gtkAOSurround ); -#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; - char * tmp[3]; tmp[2]=""; - old_audio_driver=-1; - if ( CLADrivers ) gtk_clist_clear( GTK_CLIST( CLADrivers ) ); - while ( audio_out_drivers[i] ) - { - const ao_info_t *info = audio_out_drivers[i++]->info; - if ( !strcmp( info->short_name,"plugin" ) ) continue; - if ( audio_driver_list ) - { - char * name = gstrdup( audio_driver_list[0] ); - char * sep = gstrchr( audio_driver_list[0],':' ); - if ( sep ) *sep=0; - if ( !gstrcmp( name,(char *)info->short_name ) ) old_audio_driver=i - 1; - free( name ); - } - tmp[0]=(char *)info->short_name; tmp[1]=(char *)info->name; gtk_clist_append( GTK_CLIST( CLADrivers ),tmp ); - } - if ( old_audio_driver > -1 ) - { - gtk_clist_select_row( GTK_CLIST( CLADrivers ),old_audio_driver,0 ); - gtk_clist_get_text( GTK_CLIST( CLADrivers ),old_audio_driver,0,(char **)&ao_driver ); - 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 ); - } - } - -// -- 2. page - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDoubleBuffer ),vo_doublebuffering ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDR ),vo_directrendering ); - - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBFramedrop ),FALSE ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBHFramedrop ),FALSE ); - switch ( frame_dropping ) - { - case 2: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBHFramedrop ),TRUE ); - case 1: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBFramedrop ),TRUE ); - } - - if (flip != -1) - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBFlip ),flip ); - gtk_adjustment_set_value( HSPanscanadj,vo_panscan ); - - { - int i = 0, c = 0; - char * tmp[3]; tmp[2]=""; - old_video_driver=0; - if ( CLVDrivers ) gtk_clist_clear( GTK_CLIST( CLVDrivers ) ); - while ( video_out_drivers[i] ) - if ( video_out_drivers[i++]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE ) - { - if ( video_driver_list && !gstrcmp( video_driver_list[0],(char *)video_out_drivers[i - 1]->info->short_name ) ) old_video_driver=c; c++; - tmp[0]=(char *)video_out_drivers[i - 1]->info->short_name; tmp[1]=(char *)video_out_drivers[i - 1]->info->name; - gtk_clist_append( GTK_CLIST( CLVDrivers ),tmp ); - } - gtk_clist_select_row( GTK_CLIST( CLVDrivers ),old_video_driver,0 ); - gtk_clist_get_text( GTK_CLIST( CLVDrivers ),old_video_driver,0,(char **)&vo_driver ); - gtk_widget_set_sensitive( VConfig,FALSE ); -#ifdef HAVE_DXR3 - if ( !gstrcmp( vo_driver[0],"dxr3" ) ) gtk_widget_set_sensitive( VConfig,TRUE ); -#endif - } - - gtk_adjustment_set_value( HSFPSadj,force_fps ); - -// -- 3. page - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSubOverlap ),suboverlap_enabled ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNoAutoSub ),!sub_auto ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDumpMPSub ),gtkSubDumpMPSub ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDumpSrt ),gtkSubDumpSrt ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSubUnicode ),sub_unicode ); -#ifdef USE_ASS - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBUseASS ),gtkASS.enabled ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBASSUseMargins ),gtkASS.use_margins ); - gtk_spin_button_set_value( (GtkSpinButton *)SBASSTopMargin,(gdouble)gtkASS.top_margin ); - gtk_spin_button_set_value( (GtkSpinButton *)SBASSBottomMargin,(gdouble)gtkASS.bottom_margin ); - - if ( !gtkASS.enabled ) - { - gtk_widget_set_sensitive( CBASSUseMargins,FALSE ); - gtk_widget_set_sensitive( SBASSTopMargin,FALSE ); - gtk_widget_set_sensitive( SBASSBottomMargin,FALSE ); - } -#endif - - gtk_adjustment_set_value( HSSubDelayadj,sub_delay ); - gtk_adjustment_set_value( HSSubFPSadj,sub_fps ); - gtk_adjustment_set_value( HSSubPositionadj,sub_pos ); - switch ( osd_level ) - { - case 0: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDNone ),TRUE ); break; - case 1: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDIndicator ),TRUE ); break; - case 2: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDTandP ),TRUE ); break; - case 3: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBOSDTPTT ),TRUE ); break; - } -#if 0 - if ( guiIntfStruct.Subtitlename ) gtk_entry_set_text( GTK_ENTRY( ESubtitleName ),guiIntfStruct.Subtitlename ); -#endif - -#ifdef USE_ICONV - if ( sub_cp ) - { - int i; - for ( i=0;lEncoding[i].name;i++ ) - if ( !gstrcmp( sub_cp,lEncoding[i].name ) ) break; - if ( lEncoding[i].name ) lSEncoding=lEncoding[i].comment; - gtk_entry_set_text( GTK_ENTRY( ESubEncoding ),lSEncoding ); - } -#endif - -// --- 4. page - // font ... - if ( font_name ) gtk_entry_set_text( GTK_ENTRY( prEFontName ),font_name ); -#ifndef HAVE_FREETYPE - gtk_adjustment_set_value( HSFontFactoradj,font_factor ); -#else - gtk_adjustment_set_value( HSFontBluradj,( subtitle_font_radius / 8.0f ) * 100.0f ); - gtk_adjustment_set_value( HSFontOutLineadj,( subtitle_font_thickness / 8.0f ) * 100.0f ); - gtk_adjustment_set_value( HSFontTextScaleadj,text_font_scale_factor ); - gtk_adjustment_set_value( HSFontOSDScaleadj,osd_font_scale_factor ); - if ( subtitle_font_encoding ) - { - int i; - for ( i=0;lEncoding[i].name;i++ ) - if ( !gstrcmp( subtitle_font_encoding,lEncoding[i].name ) ) break; - if ( lEncoding[i].name ) lCEncoding=lEncoding[i].comment; - gtk_entry_set_text( GTK_ENTRY( EFontEncoding ),lCEncoding ); - } - switch ( subtitle_autoscale ) - { - case 0: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontNoAutoScale ),TRUE ); break; - case 1: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleHeight ),TRUE ); break; - case 2: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleWidth ),TRUE ); break; - case 3: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleDiagonal ),TRUE ); break; - } -#endif - -// -- 5. page - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBNonInterlaved ),force_ni ); - if ( index_mode == 1 ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBIndex ),1 ); - { - int i; - GList * Items = NULL; - char * name = NULL; - - Items=g_list_append( Items,MSGTR_PREFERENCES_None ); - for( i=0;mpcodecs_vd_drivers[i];i++ ) - { - Items=g_list_append( Items,(char *)mpcodecs_vd_drivers[i]->info->name ); - if ( video_fm_list && !gstrcmp( video_fm_list[0],(char *)mpcodecs_vd_drivers[i]->info->short_name ) ) name=(char *)mpcodecs_vd_drivers[i]->info->name; - } - gtk_combo_set_popdown_strings( GTK_COMBO( CBVFM ),Items ); - g_list_free( Items ); - if ( name ) gtk_entry_set_text( GTK_ENTRY( EVFM ),name ); - } - - { - int i; - GList * Items = NULL; - char * name = NULL; - - Items=g_list_append( Items,MSGTR_PREFERENCES_None ); - for( i=0;mpcodecs_ad_drivers[i];i++ ) - { - Items=g_list_append( Items,(char *)mpcodecs_ad_drivers[i]->info->name ); - if ( audio_fm_list && !gstrcmp( audio_fm_list[0],(char *)mpcodecs_ad_drivers[i]->info->short_name ) ) name=(char *)mpcodecs_ad_drivers[i]->info->name; - } - gtk_combo_set_popdown_strings( GTK_COMBO( CBAFM ),Items ); - g_list_free( Items ); - if ( name ) gtk_entry_set_text( GTK_ENTRY( EAFM ),name ); - } - -// --- 6. page - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBPostprocess ),gtkVfPP ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ),gtkLoadFullscreen ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBSaveWinPos ),gui_save_pos ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ),gtkShowVideoWindow ); - if ( !gtkShowVideoWindow ) - { - gtk_widget_set_sensitive( CBLoadFullscreen,FALSE ); - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ),0 ); - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBStopXScreenSaver ),stop_xscreensaver ); - gtk_adjustment_set_value( HSPPQualityadj,auto_quality ); - - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBPlayBar ),gtkEnablePlayBar ); - if ( !appMPlayer.barIsPresent ) - { - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBPlayBar ),0 ); - gtk_widget_set_sensitive( CBPlayBar,FALSE ); - } - - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBCache ),0 ); - gtk_adjustment_set_value( SBCacheadj,(float)gtkCacheSize ); - if ( !gtkCacheOn ) gtk_widget_set_sensitive( SBCache,FALSE ); - else gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBCache ),TRUE ); - - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAutoSync ),0 ); - gtk_adjustment_set_value( SBAutoSyncadj,(float)gtkAutoSync ); - if ( !gtkAutoSyncOn ) gtk_widget_set_sensitive( SBAutoSync,FALSE ); - else gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBAutoSync ),TRUE ); - - if ( dvd_device ) gtk_entry_set_text( GTK_ENTRY( prEDVDDevice ),dvd_device ); - else gtk_entry_set_text( GTK_ENTRY( prEDVDDevice ),DEFAULT_DVD_DEVICE ); - if ( cdrom_device ) gtk_entry_set_text( GTK_ENTRY( prECDRomDevice ),cdrom_device ); - else gtk_entry_set_text( GTK_ENTRY( prECDRomDevice ),DEFAULT_CDROM_DEVICE ); - -// -- disables -#ifndef USE_ASS - gtk_widget_set_sensitive( CBUseASS,FALSE ); - gtk_widget_set_sensitive( CBASSUseMargins,FALSE ); - gtk_widget_set_sensitive( SBASSTopMargin,FALSE ); - gtk_widget_set_sensitive( SBASSBottomMargin,FALSE ); -#endif - -// -- 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 - gtk_signal_connect( GTK_OBJECT( RBFontNoAutoScale ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)4 ); - gtk_signal_connect( GTK_OBJECT( RBFontAutoScaleHeight ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)5 ); - gtk_signal_connect( GTK_OBJECT( RBFontAutoScaleWidth ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)6 ); - gtk_signal_connect( GTK_OBJECT( RBFontAutoScaleDiagonal ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)7 ); -#endif - gtk_signal_connect( GTK_OBJECT( CBCache ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)8); - gtk_signal_connect( GTK_OBJECT( CBAutoSync ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)9); -#ifdef USE_ASS - gtk_signal_connect( GTK_OBJECT( CBUseASS ),"toggled",GTK_SIGNAL_FUNC( prToggled ),(void*)10); -#endif - - gtk_signal_connect( GTK_OBJECT( HSExtraStereoMul ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)0 ); - gtk_signal_connect( GTK_OBJECT( HSAudioDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)1 ); - gtk_signal_connect( GTK_OBJECT( HSPanscan ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)2 ); - gtk_signal_connect( GTK_OBJECT( HSSubDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)3 ); - gtk_signal_connect( GTK_OBJECT( HSSubPosition ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)4 ); -#ifndef HAVE_FREETYPE - gtk_signal_connect( GTK_OBJECT( HSFontFactor ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)5 ); -#else - gtk_signal_connect( GTK_OBJECT( HSFontBlur ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)6 ); - gtk_signal_connect( GTK_OBJECT( HSFontOutLine ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)7 ); - gtk_signal_connect( GTK_OBJECT( HSFontTextScale ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)8 ); - gtk_signal_connect( GTK_OBJECT( HSFontOSDScale ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)9 ); - gtk_signal_connect( GTK_OBJECT( EFontEncoding ),"changed",GTK_SIGNAL_FUNC( prEntry ),(void *)0 ); -#endif -#ifdef USE_ICONV - gtk_signal_connect( GTK_OBJECT( ESubEncoding ),"changed",GTK_SIGNAL_FUNC( prEntry ),(void *)1 ); -#endif - gtk_signal_connect( GTK_OBJECT( HSPPQuality ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)10 ); - - gtk_signal_connect( GTK_OBJECT( CLADrivers ),"select_row",GTK_SIGNAL_FUNC( prCListRow ),(void*)0 ); - gtk_signal_connect( GTK_OBJECT( CLVDrivers ),"select_row",GTK_SIGNAL_FUNC( prCListRow ),(void*)1 ); - - gtk_widget_show( Preferences ); - gtkSetLayer( Preferences ); - { - static int visible = 1; - if ( visible ) - { - gtkMessageBox( GTK_MB_WARNING,MSGTR_PREFERENCES_Message ); - visible=0; - } - } -} - -void HidePreferences( void ) -{ - if ( !Preferences ) return; - gtk_widget_hide( Preferences ); - gtk_widget_destroy( Preferences ); - Preferences=NULL; - HideAudioConfig(); -#ifdef HAVE_DXR3 - HideDXR3Config(); -#endif -} - -#if defined( HAVE_FREETYPE ) || defined( USE_ICONV ) -static void prEntry( GtkContainer * container,gpointer user_data ) -{ - char * comment; - int i; - - switch( (int)user_data ) - { -#ifdef HAVE_FREETYPE - case 0: // font encoding - comment=gtk_entry_get_text( GTK_ENTRY( EFontEncoding ) ); - for ( i=0;lEncoding[i].name;i++ ) - if ( !gstrcmp( lEncoding[i].comment,comment ) ) break; - if ( lEncoding[i].comment ) gtkSet( gtkSetFontEncoding,0,lEncoding[i].name ); - break; -#endif -#ifdef USE_ICONV - case 1: // sub encoding - comment=gtk_entry_get_text( GTK_ENTRY( ESubEncoding ) ); - for ( i=0;lEncoding[i].name;i++ ) - if ( !gstrcmp( lEncoding[i].comment,comment ) ) break; - if ( lEncoding[i].comment ) gtkSet( gtkSetSubEncoding,0,lEncoding[i].name ); - else gtkSet( gtkSetSubEncoding,0,NULL ); - break; -#endif - } -} -#endif - -#define bAConfig 0 -#define bVconfig 1 -#define bOk 2 -#define bCancel 3 -#define bLSubtitle 4 -#define bLFont 5 - -void prButton( GtkButton * button,gpointer user_data ) -{ - switch ( (int)user_data ) - { - case bOk: - // -- 1. page - 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; - - gaddlist( &audio_driver_list,ao_driver[0] ); - gaddlist( &video_driver_list,vo_driver[0] ); - - // -- 2. page - vo_doublebuffering=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDoubleBuffer ) ); - vo_directrendering=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDR ) ); - - frame_dropping=0; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBFramedrop ) ) == TRUE ) frame_dropping=1; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBHFramedrop ) ) == TRUE ) frame_dropping=2; - - flip=-1; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBFlip ) ) ) flip=1; - - force_fps=HSFPSadj->value; - - // -- 3. page - suboverlap_enabled=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSubOverlap ) ); - sub_auto=!gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNoAutoSub ) ); - gtkSubDumpMPSub=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDumpMPSub ) ); - gtkSubDumpSrt=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBDumpSrt ) ); - sub_unicode=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSubUnicode ) ); -#ifdef USE_ASS - gtkASS.enabled=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBUseASS ) ); - gtkASS.use_margins=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBASSUseMargins ) ); - gtkASS.top_margin=gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON( SBASSTopMargin ) ); - gtkASS.bottom_margin=gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON( SBASSBottomMargin ) ); -#endif - sub_delay=HSSubDelayadj->value; - sub_fps=HSSubFPSadj->value; - sub_pos=(int)HSSubPositionadj->value; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDNone ) ) ) osd_level=0; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDIndicator ) ) ) osd_level=1; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDTandP ) ) ) osd_level=2; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBOSDTPTT ) ) ) osd_level=3; - - - // --- 4. page - guiSetFilename( font_name,gtk_entry_get_text( GTK_ENTRY( prEFontName ) ) ); -#ifndef HAVE_FREETYPE - gtkSet( gtkSetFontFactor,HSFontFactoradj->value,NULL ); -#else - gtkSet( gtkSetFontBlur,HSFontBluradj->value,NULL ); - gtkSet( gtkSetFontOutLine,HSFontOutLineadj->value,NULL ); - gtkSet( gtkSetFontTextScale,HSFontTextScaleadj->value,NULL ); - gtkSet( gtkSetFontOSDScale,HSFontOSDScaleadj->value,NULL ); - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontNoAutoScale ) ) ) gtkSet( gtkSetFontAutoScale,0,NULL ); - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleHeight ) ) ) gtkSet( gtkSetFontAutoScale,1,NULL ); - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleWidth ) ) ) gtkSet( gtkSetFontAutoScale,2,NULL ); - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBFontAutoScaleDiagonal ) ) ) gtkSet( gtkSetFontAutoScale,3,NULL ); -#endif - - // -- 5. page - force_ni=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBNonInterlaved ) ); - index_mode=-1; - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBIndex ) ) ) index_mode=1; - - { - int i; - char * tmp = gtk_entry_get_text( GTK_ENTRY( EVFM ) ); - for( i=0;mpcodecs_vd_drivers[i];i++ ) - if ( !gstrcmp( tmp,(char *)mpcodecs_vd_drivers[i]->info->name ) ) - { gaddlist( &video_fm_list,(char *)mpcodecs_vd_drivers[i]->info->short_name ); break; } - } - - { - int i; - char * tmp = gtk_entry_get_text( GTK_ENTRY( EAFM ) ); - for( i=0;mpcodecs_ad_drivers[i];i++ ) - if ( !gstrcmp( tmp,(char *)mpcodecs_ad_drivers[i]->info->name ) ) - { gaddlist( &audio_fm_list,(char *)mpcodecs_ad_drivers[i]->info->short_name ); break; } - } - - // --- 6. page - gtkVfPP=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBPostprocess ) ); - gtkLoadFullscreen=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ) ); - gui_save_pos=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBSaveWinPos ) ); - gtkShowVideoWindow=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ) ); - stop_xscreensaver=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBStopXScreenSaver ) ); - gtkEnablePlayBar=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBPlayBar ) ); - gtkSet( gtkSetAutoq,HSPPQualityadj->value,NULL ); - - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBCache ) ) ) { gtkCacheSize=(int)SBCacheadj->value; gtkCacheOn=1; } - else gtkCacheOn=0; - - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAutoSync ) ) ) { gtkAutoSync=(int)SBAutoSyncadj->value; gtkAutoSyncOn=1; } - else gtkAutoSyncOn=0; - - guiSetFilename( dvd_device,gtk_entry_get_text( GTK_ENTRY( prEDVDDevice ) ) ); - guiSetFilename( cdrom_device,gtk_entry_get_text( GTK_ENTRY( prECDRomDevice ) ) ); - - case bCancel: - HidePreferences(); - break; - case bAConfig: - if ( !ao_driver[0] ) break; - 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 ); - } - break; - case bVconfig: - if ( !vo_driver[0] ) break; - gtk_widget_set_sensitive( VConfig,FALSE ); -#ifdef HAVE_DXR3 - if ( !gstrcmp( vo_driver[0],"dxr3" ) ) { ShowDXR3Config(); gtk_widget_set_sensitive( VConfig,TRUE ); } -#endif - break; -#if 0 - case bLSubtitle: - break; -#endif - case bLFont: - ShowFileSelect( fsFontSelector,FALSE ); - gtkSetLayer( fsFileSelect ); - break; - } -} - -static gboolean prHScaler( GtkWidget * widget,GdkEventMotion * event,gpointer user_data ) -{ - switch ( (int)user_data ) - { - case 0: // extra stereo coefficient - if ( !guiIntfStruct.Playing ) break; - gtkSet( gtkSetExtraStereo,HSExtraStereoMuladj->value,NULL ); - break; - case 1: // audio delay - audio_delay=HSAudioDelayadj->value; - break; - case 2: // panscan - gtkSet( gtkSetPanscan,HSPanscanadj->value,NULL ); - break; - case 3: // sub delay - sub_delay=HSSubDelayadj->value; - break; - case 4: // sub position - sub_pos=(int)HSSubPositionadj->value; - break; -#ifndef HAVE_FREETYPE - case 5: // font factor - gtkSet( gtkSetFontFactor,HSFontFactoradj->value,NULL ); - break; -#else - case 6: // font blur - gtkSet( gtkSetFontBlur,HSFontBluradj->value,NULL ); - break; - case 7: // font outline - gtkSet( gtkSetFontOutLine,HSFontOutLineadj->value,NULL ); - break; - case 8: // text scale - gtkSet( gtkSetFontTextScale,HSFontTextScaleadj->value,NULL ); - break; - case 9: // osd scale - gtkSet( gtkSetFontOSDScale,HSFontOSDScaleadj->value,NULL ); - break; -#endif - case 10: // auto quality - gtkSet( gtkSetAutoq,HSPPQualityadj->value,NULL ); - break; - } - return FALSE; -} - -static void prToggled( GtkToggleButton * togglebutton,gpointer user_data ) -{ - int window; - switch ( (int)user_data ) - { - case 0: // extra stereo coefficient - if ( guiIntfStruct.Playing ) - gtk_widget_set_sensitive( HSExtraStereoMul,gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBExtraStereo ) ) ); - break; -// case 1: // normalize -// case 2: // equalizer -// if ( guiIntfStruct.Playing ) gtkMessageBox( GTK_MB_WARNING,"Please remember, this function need restart the playing." ); -// break; - case 3: - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ) ) ) gtk_widget_set_sensitive( CBLoadFullscreen,TRUE ); - else - { - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBLoadFullscreen ),0 ); - gtk_widget_set_sensitive( CBLoadFullscreen,FALSE ); - } - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBShowVideoWindow ) ) ) - { - window=wsShowWindow; - gtkActive( Preferences ); - } else window=wsHideWindow; - - if ( !guiIntfStruct.Playing ) wsVisibleWindow( &appMPlayer.subWindow,window ); - break; - case 4: - case 5: - case 6: - case 7: - gtkSet( gtkSetFontAutoScale,(float)((int)user_data - 4 ),NULL ); - break; - case 8: - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBCache ) ) ) gtk_widget_set_sensitive( SBCache,TRUE ); - else gtk_widget_set_sensitive( SBCache,FALSE ); - break; - case 9: - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBAutoSync ) ) ) gtk_widget_set_sensitive( SBAutoSync,TRUE ); - else gtk_widget_set_sensitive( SBAutoSync,FALSE ); - break; -#ifdef USE_ASS - case 10: - if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( CBUseASS ) ) ) - { - gtk_widget_set_sensitive( CBASSUseMargins,TRUE ); - gtk_widget_set_sensitive( SBASSTopMargin,TRUE ); - gtk_widget_set_sensitive( SBASSBottomMargin,TRUE ); - } - else - { - gtk_widget_set_sensitive( CBASSUseMargins,FALSE ); - gtk_widget_set_sensitive( SBASSTopMargin,FALSE ); - gtk_widget_set_sensitive( SBASSBottomMargin,FALSE ); - } - break; -#endif - } -} - -static void prCListRow( GtkCList * clist,gint row,gint column,GdkEvent * event,gpointer user_data ) -{ - switch ( (int)user_data ) - { - case 0: // audio driver - gtk_clist_get_text( GTK_CLIST( CLADrivers ),row,0,(char **)&ao_driver ); - 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 ); -#ifndef HAVE_GTK2_GUI - if ( !strncmp( ao_driver[0],"arts",4 ) ) - gtkMessageBox(GTK_MB_WARNING|GTK_MB_SIMPLE, MSGTR_PREFERENCES_ArtsBroken); -#endif - break; - case 1: // video driver - gtk_clist_get_text( GTK_CLIST( CLVDrivers ),row,0,(char **)&vo_driver ); - gtk_widget_set_sensitive( VConfig,FALSE ); -#ifdef HAVE_DXR3 - if ( !gstrcmp( vo_driver[0],"dxr3" ) ) gtk_widget_set_sensitive( VConfig,TRUE ); -#endif - break; - } -} - -GtkWidget * create_Preferences( void ) -{ - GtkWidget * label; - GtkWidget * frame; - - GtkWidget * vbox1; - GtkWidget * notebook1; - GtkWidget * hbox1; - GtkWidget * vbox2; - GtkWidget * scrolledwindow3; - GtkWidget * vbox3; - GtkWidget * hbox8; - GtkWidget * hbox2; - GtkWidget * vbox4; - GtkWidget * scrolledwindow2; - GtkWidget * hbuttonbox3; - GtkWidget * vbox5; - GtkWidget * vbox6; - GtkWidget * vbox600; - GSList * OSD_group = NULL; - GSList * Font_group = NULL; - GList * CBFontEncoding_items = NULL; - GList * CBSubEncoding_items = NULL; - GtkWidget * vbox7; - GtkWidget * vbox8; - GtkWidget * table1; - GtkWidget * vbox9; - GtkWidget * vbox603; - GtkWidget * hbox6; - GtkWidget * hbuttonbox5; -#ifndef HAVE_FREETYPE - GtkWidget * hbox7; -#endif - GtkWidget * vbox601; - GtkWidget * vbox602; - GtkWidget * hbox5; - GtkWidget * hbuttonbox1; - GtkAccelGroup * accel_group; - - GtkWidget * hbox9; - GtkWidget * hbox91; - GtkWidget * hbox92; - - accel_group=gtk_accel_group_new(); - - Preferences=gtk_window_new( GTK_WINDOW_TOPLEVEL ); - gtk_widget_set_name( Preferences,"Preferences" ); - gtk_object_set_data( GTK_OBJECT( Preferences ),"Preferences",Preferences ); - gtk_window_set_title( GTK_WINDOW( Preferences ),MSGTR_Preferences ); - gtk_window_set_position( GTK_WINDOW( Preferences ),GTK_WIN_POS_CENTER ); -// gtk_window_set_policy( GTK_WINDOW( Preferences ),FALSE,FALSE,FALSE ); - gtk_window_set_wmclass( GTK_WINDOW( Preferences ),"Preferences","MPlayer" ); - - gtk_widget_realize( Preferences ); - gtkAddIcon( Preferences ); - - vbox1=AddVBox( AddDialogFrame( Preferences ),0 ); - notebook1=gtk_notebook_new(); - gtk_widget_set_name( notebook1,"notebook1" ); - gtk_widget_show( notebook1 ); - gtk_box_pack_start( GTK_BOX( vbox1 ),notebook1,TRUE,TRUE,0 ); - - hbox1=AddVBox( notebook1,0 ); - - frame=AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox1,1 ); - frame=AddFrame( NULL,GTK_SHADOW_NONE,frame,1 ); - -// --- 1. page - - vbox2=AddVBox( frame,0 ); - - scrolledwindow3=gtk_scrolled_window_new( NULL,NULL ); - gtk_widget_set_name( scrolledwindow3,"scrolledwindow3" ); - gtk_widget_show( scrolledwindow3 ); - gtk_box_pack_start( GTK_BOX( vbox2 ),scrolledwindow3,TRUE,TRUE,0 ); - gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow3 ),GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC ); - - CLADrivers=gtk_clist_new( 2 ); - gtk_widget_set_name( CLADrivers,"CLADrivers" ); - gtk_widget_show( CLADrivers ); - gtk_container_add( GTK_CONTAINER( scrolledwindow3 ),CLADrivers ); - gtk_clist_set_column_width( GTK_CLIST( CLADrivers ),0,50 ); - gtk_clist_column_titles_show( GTK_CLIST( CLADrivers ) ); - gtk_clist_set_shadow_type( GTK_CLIST( CLADrivers ),GTK_SHADOW_NONE ); - gtk_widget_set_usize( CLADrivers,250,-2 ); - gtk_clist_set_column_widget( GTK_CLIST( CLADrivers ),0, - AddLabel( MSGTR_PREFERENCES_AvailableDrivers,NULL ) ); - - AConfig=AddButton( MSGTR_ConfigDriver, - AddHButtonBox( vbox2 ) ); - - vbox3=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox1,0 ),1 ),0 ); - gtk_widget_set_usize( vbox3,250,-2 ); - - CBNormalize=AddCheckButton( MSGTR_PREFERENCES_NormalizeSound,vbox3 ); - CBAudioEqualizer=AddCheckButton( MSGTR_PREFERENCES_EnableEqualizer,vbox3 ); - CBSoftwareMixer=AddCheckButton( MSGTR_PREFERENCES_SoftwareMixer,vbox3 ); -#if 0 - CBSurround=AddCheckButton( "Enable surround",vbox3 ); -#endif - - AddHSeparator( vbox3 ); - CBExtraStereo=AddCheckButton( MSGTR_PREFERENCES_ExtraStereo,vbox3 ); - hbox8=AddHBox( vbox3,1 ); - label=AddLabel( MSGTR_PREFERENCES_Coefficient,hbox8 ); -// gtk_misc_set_padding( GTK_MISC( label ),20,0 ); - HSExtraStereoMuladj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-10,10,0.1,0,0 ) ); - HSExtraStereoMul=AddHScaler( HSExtraStereoMuladj,hbox8,1 ); - AddHSeparator( vbox3 ); - - hbox8=AddHBox( vbox3,1 ); - AddLabel( MSGTR_PREFERENCES_AudioDelay,hbox8 ); - - HSAudioDelayadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-10,10,0.01,0,0 ) ); - HSAudioDelay=AddHScaler( HSAudioDelayadj,hbox8,2 ); - label=AddLabel( MSGTR_PREFERENCES_Audio,NULL ); - gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),0 ),label ); - -// --- 2. page - - hbox2=AddVBox( notebook1,0 ); - - vbox4=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox2,1 ),1 ),0 ); - - scrolledwindow2=gtk_scrolled_window_new( NULL,NULL ); - gtk_widget_set_name( scrolledwindow2,"scrolledwindow2" ); - gtk_widget_show( scrolledwindow2 ); - gtk_box_pack_start( GTK_BOX( vbox4 ),scrolledwindow2,TRUE,TRUE,0 ); - gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolledwindow2 ),GTK_POLICY_NEVER,GTK_POLICY_AUTOMATIC ); - - CLVDrivers=gtk_clist_new( 2 ); - gtk_widget_set_name( CLVDrivers,"CLVDrivers" ); - gtk_widget_show( CLVDrivers ); - gtk_container_add( GTK_CONTAINER( scrolledwindow2 ),CLVDrivers ); - gtk_clist_set_column_width( GTK_CLIST( CLVDrivers ),0,50 ); - gtk_clist_column_titles_show( GTK_CLIST( CLVDrivers ) ); - gtk_clist_set_shadow_type( GTK_CLIST( CLVDrivers ),GTK_SHADOW_NONE ); - gtk_widget_set_usize( CLVDrivers,250,-2 ); - - label=AddLabel( MSGTR_PREFERENCES_AvailableDrivers,NULL ); - gtk_clist_set_column_widget( GTK_CLIST( CLVDrivers ),0,label ); - - hbuttonbox3=AddHButtonBox( vbox4 ); - VConfig=AddButton( MSGTR_ConfigDriver,hbuttonbox3 ); - - vbox5=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( NULL,GTK_SHADOW_ETCHED_OUT,hbox2,0 ),1 ),0 ); - gtk_widget_set_usize( vbox5,250,-2 ); - - CBDoubleBuffer=AddCheckButton( MSGTR_PREFERENCES_DoubleBuffer,vbox5 ); - CBDR=AddCheckButton( MSGTR_PREFERENCES_DirectRender,vbox5 ); - CBFramedrop=AddCheckButton( MSGTR_PREFERENCES_FrameDrop,vbox5 ); - CBHFramedrop=AddCheckButton( MSGTR_PREFERENCES_HFrameDrop,vbox5 ); - CBFlip=AddCheckButton( MSGTR_PREFERENCES_Flip,vbox5 ); - - table1=gtk_table_new( 3,2,FALSE ); - gtk_widget_set_name( table1,"table1" ); - gtk_widget_show( table1 ); - gtk_box_pack_start( GTK_BOX( vbox5 ),table1,FALSE,FALSE,0 ); - - label=AddLabel( MSGTR_PREFERENCES_Panscan,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_FPS,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSPanscanadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,1,0.001,0,0 ) ); - HSPanscan=AddHScaler( HSPanscanadj,NULL,1 ); - gtk_table_attach( GTK_TABLE( table1 ),HSPanscan,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSFPSadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,1000,0.001,0,0 ) ); - HSFPS=gtk_spin_button_new( GTK_ADJUSTMENT( HSFPSadj ),1,3 ); - gtk_widget_set_name( HSFPS,"HSFPS" ); - gtk_widget_show( HSFPS ); - gtk_spin_button_set_numeric( GTK_SPIN_BUTTON( HSFPS ),TRUE ); - gtk_table_attach( GTK_TABLE( table1 ),HSFPS,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_Video,NULL ); - gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),1 ),label ); - -// --- 3. page - - vbox6=AddVBox( notebook1,0 ); - - vbox600=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( MSGTR_PREFERENCES_FRAME_OSD_Level,GTK_SHADOW_ETCHED_OUT,vbox6,0 ),1 ),0 ); - - RBOSDNone=AddRadioButton( MSGTR_PREFERENCES_None,&OSD_group,vbox600 ); - RBOSDTandP=AddRadioButton( MSGTR_PREFERENCES_OSDTimer,&OSD_group,vbox600 ); - RBOSDIndicator=AddRadioButton( MSGTR_PREFERENCES_OSDProgress,&OSD_group,vbox600 ); - RBOSDTPTT=AddRadioButton( MSGTR_PREFERENCES_OSDTimerPercentageTotalTime,&OSD_group,vbox600 ); - - vbox7=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( MSGTR_PREFERENCES_FRAME_Subtitle,GTK_SHADOW_ETCHED_OUT,vbox6,0 ),1 ),0 ); - -#if 0 - hbox4=AddHBox( vbox7,1 ); - - AddLabel( MSGTR_PREFERENCES_Subtitle,hbox4 ); - - ESubtitleName=gtk_entry_new(); - gtk_widget_set_name( ESubtitleName,"ESubtitleName" ); - gtk_widget_show( ESubtitleName ); - gtk_box_pack_start( GTK_BOX( hbox4 ),ESubtitleName,TRUE,TRUE,0 ); - - hbuttonbox4=AddHButtonBox( hbuttonbox4 ); - gtk_container_set_border_width( GTK_CONTAINER( hbuttonbox4 ),3 ); - BLoadSubtitle=AddButton( MSGTR_Browse,hbuttonbox4 ); -#endif - - vbox8=AddVBox( vbox7,0 ); - - table1=gtk_table_new( 3,2,FALSE ); - gtk_widget_set_name( table1,"table1" ); - gtk_widget_show( table1 ); - gtk_box_pack_start( GTK_BOX( vbox8 ),table1,FALSE,FALSE,0 ); - - label=AddLabel( MSGTR_PREFERENCES_SUB_Delay,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_SUB_POS,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_SUB_FPS,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - -#ifdef USE_ICONV - label=AddLabel( MSGTR_PREFERENCES_FontEncoding,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); -#endif - - HSSubDelayadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,-10.0,10,0.01,0,0 ) ); - HSSubDelay=AddHScaler( HSSubDelayadj,NULL,1 ); - gtk_table_attach( GTK_TABLE( table1 ),HSSubDelay,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSSubPositionadj=GTK_ADJUSTMENT( gtk_adjustment_new( 100,0,100,1,0,0 ) ); - HSSubPosition=AddHScaler( HSSubPositionadj,NULL,0 ); - gtk_table_attach( GTK_TABLE( table1 ),HSSubPosition,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSSubFPSadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.01,0,0 ) ); - HSSubFPS=gtk_spin_button_new( GTK_ADJUSTMENT( HSSubFPSadj ),1,3 ); - gtk_widget_set_name( HSSubFPS,"HSSubFPS" ); - gtk_widget_show( HSSubFPS ); - gtk_widget_set_usize( HSSubFPS,60,-1 ); - gtk_spin_button_set_numeric( GTK_SPIN_BUTTON( HSSubFPS ),TRUE ); - gtk_table_attach( GTK_TABLE( table1 ),HSSubFPS,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - -#ifdef USE_ICONV - CBSubEncoding=gtk_combo_new(); - gtk_widget_set_name( CBSubEncoding,"CBSubEncoding" ); - gtk_widget_show( CBSubEncoding ); - gtk_table_attach( GTK_TABLE( table1 ),CBSubEncoding,1,2,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - CBSubEncoding_items=g_list_append( CBSubEncoding_items,MSGTR_PREFERENCES_None ); - { - int i; - for ( i=0;lEncoding[i].name;i++ ) CBSubEncoding_items=g_list_append( CBSubEncoding_items,lEncoding[i].comment ); - } - gtk_combo_set_popdown_strings( GTK_COMBO( CBSubEncoding ),CBSubEncoding_items ); - g_list_free( CBSubEncoding_items ); - - ESubEncoding=GTK_COMBO( CBSubEncoding )->entry; - gtk_widget_set_name( ESubEncoding,"ESubEncoding" ); - gtk_entry_set_editable( GTK_ENTRY( ESubEncoding ),FALSE ); - gtk_widget_show( ESubEncoding ); -#endif - - vbox9=AddVBox( vbox8,0 ); - - CBSubOverlap=AddCheckButton( MSGTR_PREFERENCES_SUB_Overlap,vbox9 ); - CBNoAutoSub=AddCheckButton( MSGTR_PREFERENCES_SUB_AutoLoad,vbox9 ); - CBSubUnicode=AddCheckButton( MSGTR_PREFERENCES_SUB_Unicode,vbox9 ); - CBDumpMPSub=AddCheckButton( MSGTR_PREFERENCES_SUB_MPSUB,vbox9 ); - CBDumpSrt=AddCheckButton( MSGTR_PREFERENCES_SUB_SRT,vbox9 ); - - AddHSeparator( vbox9 ); - CBUseASS=AddCheckButton( MSGTR_PREFERENCES_SUB_USE_ASS,vbox9 ); - hbox9=AddHBox( vbox9,0 ); - CBASSUseMargins=AddCheckButton( MSGTR_PREFERENCES_SUB_ASS_USE_MARGINS,hbox9 ); - - hbox91=gtk_hbox_new( FALSE,0 ); - gtk_widget_set_name( hbox91,"hbox91" ); - gtk_box_pack_start( GTK_BOX( hbox9 ),hbox91,TRUE,FALSE,0 ); - gtk_widget_show( hbox91 ); - SBASSTopMargin=AddSpinButton( MSGTR_PREFERENCES_SUB_ASS_TOP_MARGIN, - (GtkAdjustment *)gtk_adjustment_new(0,0,512,1,8,0),hbox91 ); - - hbox92=gtk_hbox_new( FALSE,0 ); - gtk_widget_set_name( hbox92,"hbox92" ); - gtk_box_pack_start( GTK_BOX( hbox9 ),hbox92,TRUE,FALSE,0 ); - gtk_widget_show( hbox92 ); - SBASSBottomMargin=AddSpinButton( MSGTR_PREFERENCES_SUB_ASS_BOTTOM_MARGIN, - (GtkAdjustment *)gtk_adjustment_new(0,0,512,1,8,0),hbox92 ); - - label=AddLabel( MSGTR_PREFERENCES_SubtitleOSD,NULL ); - gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),2 ),label ); - vbox601=AddVBox( notebook1,0 ); - -// --- 4. page - - vbox603=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( MSGTR_PREFERENCES_FRAME_Font,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); - - hbox6=AddHBox( vbox603,1 ); - AddLabel( MSGTR_PREFERENCES_Font,hbox6 ); - prEFontName=gtk_entry_new(); - gtk_widget_set_name( prEFontName,"prEFontName" ); - gtk_widget_show( prEFontName ); - gtk_box_pack_start( GTK_BOX( hbox6 ),prEFontName,TRUE,TRUE,0 ); - hbuttonbox5=AddHButtonBox( hbox6 ); - gtk_container_set_border_width( GTK_CONTAINER( hbuttonbox5 ),3 ); - BLoadFont=AddButton( MSGTR_Browse,hbuttonbox5 ); - -#ifndef HAVE_FREETYPE - hbox7=AddHBox( vbox603,1 ); - AddLabel( MSGTR_PREFERENCES_FontFactor,hbox7 ); - HSFontFactoradj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,10,0.05,0,0 ) ); - HSFontFactor=AddHScaler( HSFontFactoradj,hbox7,2 ); -#else - - RBFontNoAutoScale=AddRadioButton( MSGTR_PREFERENCES_FontNoAutoScale,&Font_group,vbox603 ); - RBFontAutoScaleHeight=AddRadioButton( MSGTR_PREFERENCES_FontPropHeight,&Font_group,vbox603 ); - RBFontAutoScaleWidth=AddRadioButton( MSGTR_PREFERENCES_FontPropWidth,&Font_group,vbox603 ); - RBFontAutoScaleDiagonal=AddRadioButton( MSGTR_PREFERENCES_FontPropDiagonal,&Font_group,vbox603 ); - - table1=gtk_table_new( 3,2,FALSE ); - gtk_widget_set_name( table1,"table1" ); - gtk_widget_show( table1 ); - gtk_box_pack_start( GTK_BOX( vbox603 ),table1,FALSE,FALSE,0 ); - - label=AddLabel( MSGTR_PREFERENCES_FontEncoding,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - CBFontEncoding=gtk_combo_new(); - gtk_widget_set_name( CBFontEncoding,"CBFontEncoding" ); - gtk_widget_show( CBFontEncoding ); - gtk_table_attach( GTK_TABLE( table1 ),CBFontEncoding,1,2,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - { - int i; - for ( i=0;lEncoding[i].name;i++ ) CBFontEncoding_items=g_list_append( CBFontEncoding_items,lEncoding[i].comment ); - } - gtk_combo_set_popdown_strings( GTK_COMBO( CBFontEncoding ),CBFontEncoding_items ); - g_list_free( CBFontEncoding_items ); - - EFontEncoding=GTK_COMBO( CBFontEncoding )->entry; - gtk_widget_set_name( EFontEncoding,"EFontEncoding" ); - gtk_entry_set_editable( GTK_ENTRY( EFontEncoding ),FALSE ); - gtk_widget_show( EFontEncoding ); - - label=AddLabel( MSGTR_PREFERENCES_FontBlur,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSFontBluradj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); - HSFontBlur=AddHScaler( HSFontBluradj,NULL,2 ); - gtk_table_attach( GTK_TABLE( table1 ),HSFontBlur,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_FontOutLine,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,2,3,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSFontOutLineadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); - HSFontOutLine=AddHScaler( HSFontOutLineadj,NULL,2 ); - gtk_table_attach( GTK_TABLE( table1 ),HSFontOutLine,1,2,2,3,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_FontTextScale,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,3,4,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSFontTextScaleadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); - HSFontTextScale=AddHScaler( HSFontTextScaleadj,NULL,2 ); - gtk_table_attach( GTK_TABLE( table1 ),HSFontTextScale,1,2,3,4,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_FontOSDScale,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,4,5,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - HSFontOSDScaleadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0.1,0,0 ) ); - HSFontOSDScale=AddHScaler( HSFontOSDScaleadj,NULL,2 ); - gtk_table_attach( GTK_TABLE( table1 ),HSFontOSDScale,1,2,4,5,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); -#endif - - label=AddLabel( MSGTR_PREFERENCES_FRAME_Font,NULL ); - gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),3 ),label ); - -// --- 5. page - - vbox601=AddVBox( notebook1,0 ); - - vbox602=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( MSGTR_PREFERENCES_FRAME_CodecDemuxer,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); - - CBNonInterlaved=AddCheckButton( MSGTR_PREFERENCES_NI,vbox602 ); - CBIndex=AddCheckButton( MSGTR_PREFERENCES_IDX,vbox602 ); - - hbox5=AddHBox( vbox602,1 ); - - AddLabel( MSGTR_PREFERENCES_VideoCodecFamily,hbox5 ); - - CBVFM=gtk_combo_new(); - gtk_widget_set_name( CBVFM,"CBVFM" ); - gtk_widget_show( CBVFM ); - gtk_box_pack_start( GTK_BOX( hbox5 ),CBVFM,TRUE,TRUE,0 ); - - EVFM=GTK_COMBO( CBVFM )->entry; - gtk_widget_set_name( EVFM,"CEVFM" ); - gtk_entry_set_editable( GTK_ENTRY( EVFM ),FALSE ); - gtk_widget_show( EVFM ); - - hbox5=AddHBox( vbox602,1 ); - - AddLabel( MSGTR_PREFERENCES_AudioCodecFamily,hbox5 ); - - CBAFM=gtk_combo_new(); - gtk_widget_set_name( CBAFM,"CBAFM" ); - gtk_widget_show( CBAFM ); - gtk_box_pack_start( GTK_BOX( hbox5 ),CBAFM,TRUE,TRUE,0 ); - - EAFM=GTK_COMBO( CBAFM )->entry; - gtk_widget_set_name( EAFM,"EAFM" ); - gtk_entry_set_editable( GTK_ENTRY( EAFM ),FALSE ); - gtk_widget_show( EAFM ); - - label=AddLabel( MSGTR_PREFERENCES_Codecs,NULL ); - gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),4 ),label ); - - vbox601=AddVBox( notebook1,0 ); - -// --- 6. page - - vbox602=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( MSGTR_PREFERENCES_FRAME_PostProcess,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); - - CBPostprocess=AddCheckButton( MSGTR_PREFERENCES_PostProcess,vbox602 ); - - hbox5=AddHBox( vbox602,1 ); - - AddLabel( MSGTR_PREFERENCES_AutoQuality,hbox5 ); - - if ( guiIntfStruct.sh_video && guiIntfStruct.Playing ) HSPPQualityadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,get_video_quality_max( guiIntfStruct.sh_video ),0,0,0 ) ); - else HSPPQualityadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0,0,0 ) ); - HSPPQuality=AddHScaler( HSPPQualityadj,hbox5,0 ); - - vbox602=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( MSGTR_PREFERENCES_FRAME_Cache,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); - - CBCache=AddCheckButton( MSGTR_PREFERENCES_Cache,vbox602 ); - - hbox5=AddHBox( vbox602,1 ); - - AddLabel( MSGTR_PREFERENCES_CacheSize,hbox5 ); - - SBCacheadj=GTK_ADJUSTMENT( gtk_adjustment_new( 2048,4,65535,1,10,10 ) ); - SBCache=gtk_spin_button_new( GTK_ADJUSTMENT( SBCacheadj ),1,0 ); - gtk_widget_show( SBCache ); - gtk_box_pack_start( GTK_BOX( hbox5 ),SBCache,TRUE,TRUE,0 ); - - vbox602=AddVBox( - AddFrame( NULL,GTK_SHADOW_NONE, - AddFrame( MSGTR_PREFERENCES_FRAME_Misc,GTK_SHADOW_ETCHED_OUT,vbox601,1 ),1 ),0 ); - - CBShowVideoWindow=AddCheckButton( MSGTR_PREFERENCES_ShowVideoWindow,vbox602 ); - CBLoadFullscreen=AddCheckButton( MSGTR_PREFERENCES_LoadFullscreen,vbox602 ); - CBSaveWinPos=AddCheckButton( MSGTR_PREFERENCES_SaveWinPos,vbox602 ); - CBStopXScreenSaver=AddCheckButton( MSGTR_PREFERENCES_XSCREENSAVER,vbox602 ); - CBPlayBar=AddCheckButton( MSGTR_PREFERENCES_PlayBar,vbox602 ); - - AddHSeparator( vbox602 ); - - CBAutoSync=AddCheckButton( MSGTR_PREFERENCES_AutoSync,vbox602 ); - hbox5=AddHBox( vbox602,1 ); - AddLabel( MSGTR_PREFERENCES_AutoSyncValue,hbox5 ); - SBAutoSyncadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,10000,1,10,10 ) ); - SBAutoSync=gtk_spin_button_new( GTK_ADJUSTMENT( SBAutoSyncadj ),1,0 ); - gtk_widget_show( SBAutoSync ); - gtk_box_pack_start( GTK_BOX( hbox5 ),SBAutoSync,TRUE,TRUE,0 ); - - AddHSeparator( vbox602 ); - - table1=gtk_table_new( 2,2,FALSE ); - gtk_widget_set_name( table1,"table1" ); - gtk_widget_show( table1 ); - gtk_box_pack_start( GTK_BOX( vbox602 ),table1,FALSE,FALSE,0 ); - - label=AddLabel( MSGTR_PREFERENCES_DVDDevice,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,0,1,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - prEDVDDevice=gtk_entry_new(); - gtk_widget_set_name( prEDVDDevice,"prEDVDDevice" ); - gtk_widget_show( prEDVDDevice ); - gtk_table_attach( GTK_TABLE( table1 ),prEDVDDevice,1,2,0,1,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - - label=AddLabel( MSGTR_PREFERENCES_CDROMDevice,NULL ); - gtk_table_attach( GTK_TABLE( table1 ),label,0,1,1,2,(GtkAttachOptions)( GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - prECDRomDevice=gtk_entry_new(); - gtk_widget_set_name( prECDRomDevice,"prECDRomDevice" ); - gtk_widget_show( prECDRomDevice ); - gtk_table_attach( GTK_TABLE( table1 ),prECDRomDevice,1,2,1,2,(GtkAttachOptions)( GTK_EXPAND | GTK_FILL ),(GtkAttachOptions)( 0 ),0,0 ); - -// AddHSeparator( vbox602 ); - - label=AddLabel( MSGTR_PREFERENCES_Misc,NULL ); - gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),5 ),label ); - -// --- - - AddHSeparator( vbox1 ); - - hbuttonbox1=AddHButtonBox( vbox1 ); - gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); - gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); - BOk=AddButton( MSGTR_Ok,hbuttonbox1 ); - BCancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); - - gtk_widget_add_accelerator( BOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); - gtk_widget_add_accelerator( BCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); - - gtk_signal_connect( GTK_OBJECT( Preferences ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&Preferences ); - - gtk_signal_connect( GTK_OBJECT( AConfig ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bAConfig ); - gtk_signal_connect( GTK_OBJECT( BOk ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bOk ); - gtk_signal_connect( GTK_OBJECT( BCancel ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bCancel ); - gtk_signal_connect( GTK_OBJECT( VConfig ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bVconfig ); -#if 0 - gtk_signal_connect( GTK_OBJECT( BLoadSubtitle ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bLSubtitle ); -#endif - gtk_signal_connect( GTK_OBJECT( BLoadFont ),"clicked",GTK_SIGNAL_FUNC( prButton ),(void*)bLFont ); - -#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 ); - gtk_signal_connect( GTK_OBJECT( CBDR ),"toggled",GTK_SIGNAL_FUNC( on_CBDR_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBFramedrop ),"toggled",GTK_SIGNAL_FUNC( on_CBFramedrop_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBHFramedrop ),"toggled",GTK_SIGNAL_FUNC( on_CBHFramedrop_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBFullScreen ),"toggled",GTK_SIGNAL_FUNC( on_CBFullScreen_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBNonInterlaved ),"toggled",GTK_SIGNAL_FUNC( on_CBNonInterlaved_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBFlip ),"toggled",GTK_SIGNAL_FUNC( on_CBFlip_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBPostprocess ),"toggled",GTK_SIGNAL_FUNC( on_CBPostprocess_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBNoAutoSub ),"toggled",GTK_SIGNAL_FUNC( on_CBNoAutoSub_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBSubUnicode ),"toggled",GTK_SIGNAL_FUNC( on_CNSubUnicode_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBDumpMPSub ),"toggled",GTK_SIGNAL_FUNC( on_CBDumpMPSub_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBDumpSrt ),"toggled",GTK_SIGNAL_FUNC( on_CBDumpSrt_toggled ),NULL ); -#endif -#if 0 - gtk_signal_connect( GTK_OBJECT( RBOSDNone ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDNone_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( RBOSDTandP ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDTandP_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( RBOSDIndicator ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDIndicator_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( RBOSDTPTT ),"toggled",GTK_SIGNAL_FUNC( on_RBOSDIndicator_toggled ),NULL ); - gtk_signal_connect( GTK_OBJECT( CBAudioEqualizer ),"toggled",GTK_SIGNAL_FUNC( on_CBAudioEqualizer_toggled ),NULL ); -#endif -#if 0 - gtk_signal_connect( GTK_OBJECT( HSAudioDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSAudioDelay_motion_notify_event ),NULL ); - gtk_signal_connect( GTK_OBJECT( HSPanscan ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSPanscan_motion_notify_event ),NULL ); - gtk_signal_connect( GTK_OBJECT( label2 ),"motion_notify_event",GTK_SIGNAL_FUNC( on_label2_motion_notify_event ),NULL ); - gtk_signal_connect( GTK_OBJECT( HSSubDelay ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSSubDelay_motion_notify_event ),NULL ); - gtk_signal_connect( GTK_OBJECT( HSSubPosition ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSSubPosition_motion_notify_event ),NULL ); - gtk_signal_connect( GTK_OBJECT( HSSubFPS ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSSubFPS_motion_notify_event ),NULL ); - gtk_signal_connect( GTK_OBJECT( HSFontFactor ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSFontFactor_motion_notify_event ),NULL ); - gtk_signal_connect( GTK_OBJECT( HSPPQuality ),"motion_notify_event",GTK_SIGNAL_FUNC( on_HSPPQuality_motion_notify_event ),NULL ); -#endif - - gtk_notebook_set_page( GTK_NOTEBOOK( notebook1 ),2 ); - - gtk_window_add_accel_group( GTK_WINDOW( Preferences ),accel_group ); - - return Preferences; -} - -#ifdef USE_OSS_AUDIO -GList *appendOSSDevices(GList *l) { - // careful! the current implementation allows only string constants! - l = g_list_append(l, (gpointer)"/dev/dsp"); - if (gtkAOOSSDevice && strncmp(gtkAOOSSDevice, "/dev/sound", 10) == 0) { - l = g_list_append(l, (gpointer)"/dev/sound/dsp0"); - l = g_list_append(l, (gpointer)"/dev/sound/dsp1"); - l = g_list_append(l, (gpointer)"/dev/sound/dsp2"); - l = g_list_append(l, (gpointer)"/dev/sound/dsp3"); - } else { - l = g_list_append(l, (gpointer)"/dev/dsp0"); - l = g_list_append(l, (gpointer)"/dev/dsp1"); - l = g_list_append(l, (gpointer)"/dev/dsp2"); - l = g_list_append(l, (gpointer)"/dev/dsp3"); - } -#ifdef HAVE_DXR3 - l = g_list_append(l, (gpointer)"/dev/em8300_ma"); - l = g_list_append(l, (gpointer)"/dev/em8300_ma-0"); - l = g_list_append(l, (gpointer)"/dev/em8300_ma-1"); - l = g_list_append(l, (gpointer)"/dev/em8300_ma-2"); - l = g_list_append(l, (gpointer)"/dev/em8300_ma-3"); -#endif - return l; -} - -GList *appendOSSMixers(GList *l) { - // careful! the current implementation allows only string constants! - l = g_list_append(l, (gpointer)"/dev/mixer"); - if (gtkAOOSSMixer && strncmp(gtkAOOSSMixer, "/dev/sound", 10) == 0) { - l = g_list_append(l, (gpointer)"/dev/sound/mixer0"); - l = g_list_append(l, (gpointer)"/dev/sound/mixer1"); - l = g_list_append(l, (gpointer)"/dev/sound/mixer2"); - l = g_list_append(l, (gpointer)"/dev/sound/mixer3"); - } else { - l = g_list_append(l, (gpointer)"/dev/mixer0"); - l = g_list_append(l, (gpointer)"/dev/mixer1"); - l = g_list_append(l, (gpointer)"/dev/mixer2"); - l = g_list_append(l, (gpointer)"/dev/mixer3"); - } - return l; -} - -GList *appendOSSMixerChannels(GList *l) { - l = g_list_append(l, (gpointer)"vol"); - l = g_list_append(l, (gpointer)"pcm"); - l = g_list_append(l, (gpointer)"line"); - return l; -} -#endif - -#if defined(HAVE_ALSA9) || defined (HAVE_ALSA1X) -GList *appendALSADevices(GList *l) { - l = g_list_append(l, (gpointer)"default"); - l = g_list_append(l, (gpointer)"hw=0.0"); - l = g_list_append(l, (gpointer)"hw=0.1"); - l = g_list_append(l, (gpointer)"hw=0.2"); - l = g_list_append(l, (gpointer)"surround40"); - l = g_list_append(l, (gpointer)"surround51"); - l = g_list_append(l, (gpointer)"plug=surround40"); - l = g_list_append(l, (gpointer)"plug=surround51"); - return l; -} - -GList *appendALSAMixers(GList *l) { - l = g_list_append(l, (gpointer)"default"); - return l; -} - -GList *appendALSAMixerChannels(GList *l) { - l = g_list_append(l, (gpointer)"Master"); - l = g_list_append(l, (gpointer)"Line"); - l = g_list_append(l, (gpointer)"PCM"); - l = g_list_append(l, (gpointer)"PCM,1"); - return l; -} -#endif - -#ifdef HAVE_SDL -GList *appendSDLDevices(GList *l) { - l = g_list_append(l, (gpointer)"alsa"); - l = g_list_append(l, (gpointer)"arts"); - l = g_list_append(l, (gpointer)"esd"); - l = g_list_append(l, (gpointer)"jack"); - l = g_list_append(l, (gpointer)"oss"); - l = g_list_append(l, (gpointer)"nas"); - return l; -} -#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) { - char *tmp = gtk_entry_get_text(GTK_ENTRY(from)); - if (strcmp(tmp, MSGTR_PREFERENCES_DriverDefault) == 0) { - tmp = NULL; - } - return tmp; -} - -// Sets text string of a gtk entry, interpreting -// null string as MSGTR_PREFERENCES_DriverDefault. -void setGtkEntryText(GtkWidget *dest, char *to) { - if (!to) { - to = MSGTR_PREFERENCES_DriverDefault; - } - gtk_entry_set_text(GTK_ENTRY(dest),to); -} - - GtkWidget *AudioConfig; -static GtkWidget *CEAudioDevice; -static GtkWidget *CBAudioDevice; -static GtkWidget *CEAudioMixer; -static GtkWidget *CBAudioMixer; -static GtkWidget *CEAudioMixerChannel; -static GtkWidget *CBAudioMixerChannel; -static GtkWidget *BAudioOk; -static GtkWidget *BAudioCancel; - -void ShowAudioConfig() { - if (AudioConfig) gtkActive(AudioConfig); - else AudioConfig = create_AudioConfig(); - -#ifdef USE_OSS_AUDIO - if (strncmp(ao_driver[0], "oss", 3) == 0) { - setGtkEntryText(CEAudioDevice, gtkAOOSSDevice); - setGtkEntryText(CEAudioMixer, gtkAOOSSMixer); - setGtkEntryText(CEAudioMixerChannel, gtkAOOSSMixerChannel); - } -#endif -#if defined(HAVE_ALSA9) || defined (HAVE_ALSA1X) - if (strncmp(ao_driver[0], "alsa", 4) == 0) { - setGtkEntryText(CEAudioDevice, gtkAOALSADevice); - setGtkEntryText(CEAudioMixer, gtkAOALSAMixer); - setGtkEntryText(CEAudioMixerChannel, gtkAOALSAMixerChannel); - } -#endif -#ifdef HAVE_SDL - if (strncmp(ao_driver[0], "sdl", 3) == 0) { - 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); -} - -void HideAudioConfig() { - if (!AudioConfig) return; - gtk_widget_hide(AudioConfig); - gtk_widget_destroy(AudioConfig); - AudioConfig=NULL; -} - -static void audioButton(GtkButton *button, gpointer user_data) { - switch( (int)user_data ) { - case 1: -#ifdef USE_OSS_AUDIO - if (strncmp(ao_driver[0], "oss", 3) == 0) { - gfree(>kAOOSSDevice); - gtkAOOSSDevice = gstrdup(getGtkEntryText(CEAudioDevice)); - gfree(>kAOOSSMixer); - gtkAOOSSMixer = gstrdup(getGtkEntryText(CEAudioMixer)); - gfree(>kAOOSSMixerChannel); - gtkAOOSSMixerChannel = gstrdup(getGtkEntryText(CEAudioMixerChannel)); - } -#endif -#if defined(HAVE_ALSA9) || defined (HAVE_ALSA1X) - if (strncmp(ao_driver[0], "alsa", 4) == 0) { - gfree(>kAOALSADevice); - gtkAOALSADevice = gstrdup(getGtkEntryText(CEAudioDevice)); - gfree(>kAOALSAMixer); - gtkAOALSAMixer = gstrdup(getGtkEntryText(CEAudioMixer)); - gfree(>kAOALSAMixerChannel); - gtkAOALSAMixerChannel = gstrdup(getGtkEntryText(CEAudioMixerChannel)); - } -#endif -#ifdef HAVE_SDL - if (strncmp(ao_driver[0], "sdl", 3) == 0) { - gfree(>kAOSDLDriver); - 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; - } -} - -GtkWidget *create_AudioConfig() { - GList *items = NULL; - GtkWidget *vbox; - GtkWidget *table; - GtkWidget *label; - GtkWidget *hbuttonbox; - GtkAccelGroup *accel_group; - - AudioConfig = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_widget_set_name(AudioConfig, "AudioConfig"); - gtk_object_set_data(GTK_OBJECT(AudioConfig), "AudioConfig", AudioConfig); - gtk_window_set_title(GTK_WINDOW(AudioConfig), MSGTR_AudioPreferences); - gtk_window_set_position(GTK_WINDOW(AudioConfig), GTK_WIN_POS_CENTER); - gtk_window_set_policy(GTK_WINDOW(AudioConfig), FALSE, FALSE, FALSE); - gtk_window_set_wmclass(GTK_WINDOW(AudioConfig), "Audio Config", "MPlayer"); - - gtk_widget_realize(AudioConfig); - gtkAddIcon(AudioConfig); - - vbox = AddVBox(AddDialogFrame(AudioConfig), 0); - - table = gtk_table_new(2, 3, FALSE); - gtk_widget_set_name(table, "table"); - gtk_widget_show(table); - gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0); - - label = AddLabel(MSGTR_PREFERENCES_Audio_Device, NULL); - gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); - - CBAudioDevice = AddComboBox(NULL); - gtk_table_attach(GTK_TABLE(table), CBAudioDevice, 1, 2, 0, 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(0), 0, 0); - items = g_list_append(items,(gpointer)MSGTR_PREFERENCES_DriverDefault); -#ifdef USE_OSS_AUDIO - if (strncmp(ao_driver[0], "oss", 3) == 0) - items = appendOSSDevices(items); -#endif -#if defined(HAVE_ALSA9) || defined (HAVE_ALSA1X) - if (strncmp(ao_driver[0], "alsa", 4) == 0) - items = appendALSADevices(items); -#endif -#ifdef HAVE_SDL - 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; - - CEAudioDevice = GTK_COMBO(CBAudioDevice)->entry; - gtk_widget_set_name(CEAudioDevice, "CEAudioDevice"); - gtk_widget_show(CEAudioDevice); - - label = AddLabel(MSGTR_PREFERENCES_Audio_Mixer, NULL); - gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); - - CBAudioMixer = AddComboBox(NULL); - gtk_table_attach(GTK_TABLE(table), CBAudioMixer, 1, 2, 1, 2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(0), 0, 0); - items = g_list_append(items, (gpointer)MSGTR_PREFERENCES_DriverDefault); -#ifdef USE_OSS_AUDIO - if (strncmp(ao_driver[0], "oss", 3) == 0) - items = appendOSSMixers(items); -#endif -#if defined(HAVE_ALSA9) || defined (HAVE_ALSA1X) - if (strncmp(ao_driver[0], "alsa", 4) == 0) - items = appendALSAMixers(items); -#endif - gtk_combo_set_popdown_strings(GTK_COMBO(CBAudioMixer), items); - g_list_free(items); - items = NULL; - - CEAudioMixer = GTK_COMBO(CBAudioMixer)->entry; - gtk_widget_set_name(CEAudioMixer, "CEAudioMixer"); - gtk_widget_show(CEAudioMixer); - - label = AddLabel(MSGTR_PREFERENCES_Audio_MixerChannel, NULL); - gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3, (GtkAttachOptions)(GTK_FILL), (GtkAttachOptions)(0), 0, 0); - - CBAudioMixerChannel = AddComboBox(NULL); - gtk_table_attach(GTK_TABLE(table), CBAudioMixerChannel, 1, 2, 2, 3, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(0), 0, 0); - items = g_list_append(items, (gpointer)MSGTR_PREFERENCES_DriverDefault); -#ifdef USE_OSS_AUDIO - if (strncmp(ao_driver[0], "oss", 3) == 0) - items = appendOSSMixerChannels(items); -#endif -#if defined(HAVE_ALSA9) || defined (HAVE_ALSA1X) - if (strncmp(ao_driver[0], "alsa", 4) == 0) - items = appendALSAMixerChannels(items); -#endif - gtk_combo_set_popdown_strings(GTK_COMBO(CBAudioMixerChannel), items); - g_list_free(items); - items = NULL; - - CEAudioMixerChannel = GTK_COMBO(CBAudioMixerChannel)->entry; - gtk_widget_set_name(CEAudioMixerChannel, "CEAudioMixerChannel"); - gtk_widget_show(CEAudioMixerChannel); - - AddHSeparator(vbox); - - hbuttonbox = AddHButtonBox(vbox); - gtk_button_box_set_layout(GTK_BUTTON_BOX(hbuttonbox), GTK_BUTTONBOX_END); - gtk_button_box_set_spacing(GTK_BUTTON_BOX(hbuttonbox), 10); - BAudioOk = AddButton(MSGTR_Ok, hbuttonbox); - BAudioCancel = AddButton(MSGTR_Cancel, hbuttonbox); - - gtk_signal_connect(GTK_OBJECT(AudioConfig), "destroy", GTK_SIGNAL_FUNC(WidgetDestroy), &AudioConfig); - gtk_signal_connect(GTK_OBJECT(BAudioOk), "clicked", GTK_SIGNAL_FUNC(audioButton), (void*)1); - gtk_signal_connect(GTK_OBJECT(BAudioCancel), "clicked", GTK_SIGNAL_FUNC(audioButton), (void*)0); - - accel_group = gtk_accel_group_new(); - gtk_widget_add_accelerator(BAudioOk, "clicked", accel_group, GDK_Return, 0, GTK_ACCEL_VISIBLE); - gtk_widget_add_accelerator(BAudioCancel, "clicked", accel_group, GDK_Escape, 0, GTK_ACCEL_VISIBLE); - gtk_window_add_accel_group(GTK_WINDOW(AudioConfig), accel_group); - - return AudioConfig; -} - -#ifdef HAVE_DXR3 -// --- dxr3 config box - -static GtkWidget * DXR3Config; -static GtkWidget * CBDevice; -static GtkWidget * CEDXR3Device; -static GtkWidget * RBVNone; -#ifdef USE_LIBAVCODEC - static GtkWidget * RBVLavc; -#endif -static GtkWidget * dxr3BOk; -static GtkWidget * dxr3BCancel; - -GtkWidget * create_DXR3Config( void ); - -void ShowDXR3Config( void ) -{ - if ( DXR3Config ) gtkActive( DXR3Config ); - else DXR3Config=create_DXR3Config(); - - gtk_entry_set_text( GTK_ENTRY( CEDXR3Device ),gtkDXR3Device ); - - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBVNone ),TRUE ); -#ifdef USE_LIBAVCODEC - if ( gtkVfLAVC ) gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( RBVLavc ),TRUE ); -#endif - - gtk_widget_show( DXR3Config ); - gtkSetLayer( DXR3Config ); -} - -void HideDXR3Config( void ) -{ - if ( !DXR3Config ) return; - gtk_widget_hide( DXR3Config ); - gtk_widget_destroy( DXR3Config ); - DXR3Config=NULL; -} - -static void dxr3Button( GtkButton * button,gpointer user_data ) -{ - switch ( (int)user_data ) - { - case 0: // Ok - gfree( (void **)>kDXR3Device ); gtkDXR3Device=strdup( gtk_entry_get_text( GTK_ENTRY( CEDXR3Device ) ) ); -#ifdef USE_LIBAVCODEC - gtkVfLAVC=gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( RBVLavc ) ); -#endif - case 1: // Cancel - HideDXR3Config(); - break; - } -} - -GtkWidget * create_DXR3Config( void ) -{ - GtkWidget * vbox1; - GtkWidget * vbox2; - GtkWidget * hbox1; - GList * CBDevice_items = NULL; - GtkWidget * vbox3; - GSList * VEncoder_group = NULL; - GtkWidget * hbuttonbox1; - GtkAccelGroup * accel_group; - - accel_group=gtk_accel_group_new(); - - DXR3Config=gtk_window_new( GTK_WINDOW_TOPLEVEL ); - gtk_widget_set_name( DXR3Config,"DXR3Config" ); - gtk_object_set_data( GTK_OBJECT( DXR3Config ),"DXR3Config",DXR3Config ); -// gtk_widget_set_usize( DXR3Config,300,156 ); - GTK_WIDGET_SET_FLAGS( DXR3Config,GTK_CAN_DEFAULT ); - gtk_window_set_title( GTK_WINDOW( DXR3Config ),"DXR3/H+" ); - gtk_window_set_position( GTK_WINDOW( DXR3Config ),GTK_WIN_POS_CENTER ); - gtk_window_set_policy( GTK_WINDOW( DXR3Config ),FALSE,FALSE,FALSE ); - gtk_window_set_wmclass( GTK_WINDOW( DXR3Config ),"DXR3","MPlayer" ); - - gtk_widget_realize( DXR3Config ); - gtkAddIcon( DXR3Config ); - - vbox1=AddVBox( AddDialogFrame( DXR3Config ),0 ); - vbox2=AddVBox( vbox1,0 ); - hbox1=AddHBox( vbox2,1 ); - AddLabel( MSGTR_PREFERENCES_Audio_Device,hbox1 ); - - CBDevice=AddComboBox( hbox1 ); - - CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300" ); - CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-0" ); - CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-1" ); - CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-2" ); - CBDevice_items=g_list_append( CBDevice_items,( gpointer ) "/dev/em8300-3" ); - gtk_combo_set_popdown_strings( GTK_COMBO( CBDevice ),CBDevice_items ); - g_list_free( CBDevice_items ); - - CEDXR3Device=GTK_COMBO( CBDevice )->entry; - gtk_widget_set_name( CEDXR3Device,"CEDXR3Device" ); - gtk_widget_show( CEDXR3Device ); - gtk_entry_set_text( GTK_ENTRY( CEDXR3Device ),"/dev/em8300" ); - -#if defined( USE_LIBAVCODEC ) - AddHSeparator( vbox2 ); - vbox3=AddVBox( vbox2,0 ); - AddLabel( MSGTR_PREFERENCES_DXR3_VENC,vbox3 ); - RBVNone=AddRadioButton( MSGTR_PREFERENCES_None,&VEncoder_group,vbox3 ); -#ifdef USE_LIBAVCODEC - RBVLavc=AddRadioButton( MSGTR_PREFERENCES_DXR3_LAVC,&VEncoder_group,vbox3 ); -#endif - -#endif - - AddHSeparator( vbox1 ); - - hbuttonbox1=AddHButtonBox( vbox1 ); - gtk_button_box_set_layout( GTK_BUTTON_BOX( hbuttonbox1 ),GTK_BUTTONBOX_END ); - gtk_button_box_set_spacing( GTK_BUTTON_BOX( hbuttonbox1 ),10 ); - dxr3BOk=AddButton( MSGTR_Ok,hbuttonbox1 ); - dxr3BCancel=AddButton( MSGTR_Cancel,hbuttonbox1 ); - - gtk_widget_add_accelerator( dxr3BOk,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE ); - gtk_widget_add_accelerator( dxr3BCancel,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE ); - - gtk_signal_connect( GTK_OBJECT( DXR3Config ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&DXR3Config ); - - gtk_signal_connect( GTK_OBJECT( dxr3BOk ),"clicked",GTK_SIGNAL_FUNC( dxr3Button ),(void *)0 ); - gtk_signal_connect( GTK_OBJECT( dxr3BCancel ),"clicked",GTK_SIGNAL_FUNC( dxr3Button ),(void *)1 ); - - gtk_window_add_accel_group( GTK_WINDOW( DXR3Config ),accel_group ); - - return DXR3Config; -} - -#endif |