diff options
author | pontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-11-28 23:17:14 +0000 |
---|---|---|
committer | pontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-11-28 23:17:14 +0000 |
commit | 4984919e0b81198fd38b5114797c2025cfb5a013 (patch) | |
tree | 3f0dff039e41fdef8f459a7bd3b6c7f11eda163e | |
parent | fdb87e0d8e63a5a92432247baeceb3b36425bf49 (diff) | |
download | mpv-4984919e0b81198fd38b5114797c2025cfb5a013.tar.bz2 mpv-4984919e0b81198fd38b5114797c2025cfb5a013.tar.xz |
add autosync && some 10l bugfix
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8312 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | Gui/cfg.c | 8 | ||||
-rw-r--r-- | Gui/cfg.h | 3 | ||||
-rw-r--r-- | Gui/interface.c | 7 | ||||
-rw-r--r-- | Gui/mplayer/gtk/opts.c | 32 | ||||
-rw-r--r-- | help/help_mp-en.h | 3 | ||||
-rw-r--r-- | mplayer.c | 2 | ||||
-rw-r--r-- | mplayer.h | 1 |
7 files changed, 50 insertions, 6 deletions
@@ -42,6 +42,9 @@ char * gtkAOOSSDevice; int gtkCacheOn = 0; int gtkCacheSize = 2048; +int gtkAutoSyncOn = 0; +int gtkAutoSync = 0; + #ifdef HAVE_DXR3 char * gtkDXR3Device; #endif @@ -111,11 +114,14 @@ static config_t gui_opts[] = { "font_autoscale",&subtitle_autoscale,CONF_TYPE_INT,CONF_RANGE,0,3,NULL }, #endif - { "cache",>kCacheOn,CONF_TYPE_INT,CONF_RANGE,-1,65535,NULL }, + { "cache",>kCacheOn,CONF_TYPE_FLAG,0,0,1,NULL }, { "cache_size",>kCacheSize,CONF_TYPE_INT,CONF_RANGE,-1,65535,NULL }, { "load_fullscreen",>kLoadFullscreen,CONF_TYPE_FLAG,0,0,1,NULL }, { "stopxscreensaver",&stop_xscreensaver,CONF_TYPE_FLAG,0,0,1,NULL }, + + { "autosync",>kAutoSyncOn,CONF_TYPE_FLAG,0,0,1,NULL }, + { "autosync_size",>kAutoSync,CONF_TYPE_INT,CONF_RANGE,0,10000,NULL }, { "gui_skin",&skinName,CONF_TYPE_STRING,0,0,0,NULL }, @@ -20,6 +20,9 @@ extern char * gtkDXR3Device; extern int gtkCacheOn; extern int gtkCacheSize; +extern int gtkAutoSyncOn; +extern int gtkAutoSync; + extern int gtkSubDumpMPSub; extern int gtkSubDumpSrt; diff --git a/Gui/interface.c b/Gui/interface.c index c3ef86fbf4..3bf2ef7aef 100644 --- a/Gui/interface.c +++ b/Gui/interface.c @@ -167,7 +167,9 @@ void guiInit( void ) #ifdef HAVE_DXR3 if ( !gtkDXR3Device ) gtkDXR3Device=strdup( "/dev/em8300-0" ); #endif - fullscreen=gtkLoadFullscreen; + fullscreen=gtkLoadFullscreen; + if ( stream_cache_size != -1 ) { gtkCacheOn=1; gtkCacheSize=stream_cache_size; } + if ( autosync && autosync != gtkAutoSync ) { gtkAutoSyncOn=1; gtkAutoSync=autosync; } gtkInit(); // --- initialize X @@ -552,6 +554,9 @@ int guiGetEvent( int type,char * arg ) if ( gtkCacheOn ) stream_cache_size=gtkCacheSize; else stream_cache_size=-1; + if ( gtkAutoSyncOn ) autosync=gtkAutoSync; + else autosync=0; + // -- audio if ( audio_out ) { diff --git a/Gui/mplayer/gtk/opts.c b/Gui/mplayer/gtk/opts.c index 3f7a7c47c8..ccf084bc86 100644 --- a/Gui/mplayer/gtk/opts.c +++ b/Gui/mplayer/gtk/opts.c @@ -70,6 +70,10 @@ static GtkWidget * CBStopXScreenSaver; static GtkWidget * SBCache; static GtkAdjustment * SBCacheadj; +static GtkWidget * CBAutoSync; +static GtkWidget * SBAutoSync; +static GtkAdjustment * SBAutoSyncadj; + static GtkWidget * RBOSDNone; static GtkWidget * RBOSDTandP; static GtkWidget * RBOSDIndicator; @@ -316,7 +320,12 @@ void ShowPreferences( void ) 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 ),1 ); + 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 ); // -- disables #ifndef USE_SUB @@ -354,6 +363,7 @@ void ShowPreferences( void ) 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); 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 ); @@ -477,6 +487,9 @@ void prButton( GtkButton * button,gpointer user_data ) 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; { int i; @@ -592,6 +605,10 @@ static void prToggled( GtkToggleButton * togglebutton,gpointer user_data ) 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; } } @@ -763,7 +780,6 @@ GtkWidget * create_Preferences( void ) gtk_widget_set_usize( vbox5,250,-2 ); CBDoubleBuffer=AddCheckButton( MSGTR_PREFERENCES_DoubleBuffer,vbox5 ); -// gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( CBDoubleBuffer ),TRUE ); CBDR=AddCheckButton( MSGTR_PREFERENCES_DirectRender,vbox5 ); CBFramedrop=AddCheckButton( MSGTR_PREFERENCES_FrameDrop,vbox5 ); CBHFramedrop=AddCheckButton( MSGTR_PREFERENCES_HFrameDrop,vbox5 ); @@ -998,7 +1014,17 @@ GtkWidget * create_Preferences( void ) AddFrame( MSGTR_PREFERENCES_FRAME_Misc,GTK_SHADOW_ETCHED_OUT,vbox601,0 ),1 ),0 ); CBLoadFullscreen=AddCheckButton( MSGTR_PREFERENCES_LoadFullscreen,vbox602 ); - CBStopXScreenSaver=AddCheckButton( MSGTR_PREFERENCES_XSREENSAVER,vbox602 ); + CBStopXScreenSaver=AddCheckButton( MSGTR_PREFERENCES_XSCREENSAVER,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 ); label=AddLabel( MSGTR_PREFERENCES_Misc,NULL ); gtk_notebook_set_tab_label( GTK_NOTEBOOK( notebook1 ),gtk_notebook_get_nth_page( GTK_NOTEBOOK( notebook1 ),3 ),label ); diff --git a/help/help_mp-en.h b/help/help_mp-en.h index 6afb1def24..0e2c26cfb1 100644 --- a/help/help_mp-en.h +++ b/help/help_mp-en.h @@ -491,6 +491,9 @@ static char help_text[]= #define MSGTR_PREFERENCES_Cache "Cache on/off" #define MSGTR_PREFERENCES_LoadFullscreen "Start in fullscreen" #define MSGTR_PREFERENCES_CacheSize "Cache size: " +#define MSGTR_PREFERENCES_XSCREENSAVER "Stop XScreenSaver" +#define MSGTR_PREFERENCES_AutoSync "AutoSync on/off" +#define MSGTR_PREFERENCES_AutoSyncValue "Autosync: " // --- messagebox #define MSGTR_MSGBOX_LABEL_FatalError "Fatal error!" @@ -186,7 +186,7 @@ static off_t step_sec=0; static int loop_times=-1; // A/V sync: -static int autosync=0; // 30 might be a good default value. + int autosync=0; // 30 might be a good default value. // may be changed by GUI: (FIXME!) float rel_seek_secs=0; @@ -38,6 +38,7 @@ extern char * filename; extern int stream_cache_size; extern int force_ni; extern int index_mode; +extern int autosync; // libmpcodecs: extern int fullscreen; |