summaryrefslogtreecommitdiffstats
path: root/Gui
diff options
context:
space:
mode:
authorpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-11-28 23:17:14 +0000
committerpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-11-28 23:17:14 +0000
commit4984919e0b81198fd38b5114797c2025cfb5a013 (patch)
tree3f0dff039e41fdef8f459a7bd3b6c7f11eda163e /Gui
parentfdb87e0d8e63a5a92432247baeceb3b36425bf49 (diff)
downloadmpv-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
Diffstat (limited to 'Gui')
-rw-r--r--Gui/cfg.c8
-rw-r--r--Gui/cfg.h3
-rw-r--r--Gui/interface.c7
-rw-r--r--Gui/mplayer/gtk/opts.c32
4 files changed, 45 insertions, 5 deletions
diff --git a/Gui/cfg.c b/Gui/cfg.c
index 3b5bf894e4..a6cdb3c89f 100644
--- a/Gui/cfg.c
+++ b/Gui/cfg.c
@@ -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",&gtkCacheOn,CONF_TYPE_INT,CONF_RANGE,-1,65535,NULL },
+ { "cache",&gtkCacheOn,CONF_TYPE_FLAG,0,0,1,NULL },
{ "cache_size",&gtkCacheSize,CONF_TYPE_INT,CONF_RANGE,-1,65535,NULL },
{ "load_fullscreen",&gtkLoadFullscreen,CONF_TYPE_FLAG,0,0,1,NULL },
{ "stopxscreensaver",&stop_xscreensaver,CONF_TYPE_FLAG,0,0,1,NULL },
+
+ { "autosync",&gtkAutoSyncOn,CONF_TYPE_FLAG,0,0,1,NULL },
+ { "autosync_size",&gtkAutoSync,CONF_TYPE_INT,CONF_RANGE,0,10000,NULL },
{ "gui_skin",&skinName,CONF_TYPE_STRING,0,0,0,NULL },
diff --git a/Gui/cfg.h b/Gui/cfg.h
index 02afcfdc50..f1ff0995fd 100644
--- a/Gui/cfg.h
+++ b/Gui/cfg.h
@@ -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 );