1
mirror of https://github.com/mpv-player/mpv synced 2025-05-13 08:49:55 +02:00

add autosync && some 10l bugfix

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8312 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
pontscho 2002-11-28 23:17:14 +00:00
parent fdb87e0d8e
commit 4984919e0b
7 changed files with 50 additions and 6 deletions

View File

@ -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 },

View File

@ -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;

View File

@ -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 )
{

View File

@ -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 );

View File

@ -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!"

View File

@ -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;

View File

@ -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;