summaryrefslogtreecommitdiffstats
path: root/Gui/mplayer
diff options
context:
space:
mode:
Diffstat (limited to 'Gui/mplayer')
-rw-r--r--Gui/mplayer/play.c32
-rw-r--r--Gui/mplayer/play.h1
2 files changed, 32 insertions, 1 deletions
diff --git a/Gui/mplayer/play.c b/Gui/mplayer/play.c
index f7ad980432..147674bba0 100644
--- a/Gui/mplayer/play.c
+++ b/Gui/mplayer/play.c
@@ -69,7 +69,7 @@ void mplEnd( void )
{
plItem * next;
- if ( !mplGotoTheNext ) { mplGotoTheNext=1; return; }
+ if ( !mplGotoTheNext && guiIntfStruct.Playing) { mplGotoTheNext=1; return; }
if ( guiIntfStruct.Playing && (next=gtkSet( gtkGetNextPlItem,0,NULL )) && plLastPlayed != next )
{
@@ -268,6 +268,36 @@ void mplSetFileName( char * dir,char * name,int type )
gfree( (void **)&guiIntfStruct.Subtitlename );
}
+void mplCurr( void )
+{
+ plItem * curr;
+ int stop = 0;
+
+ if ( guiIntfStruct.Playing == 2 ) return;
+ switch ( guiIntfStruct.StreamType )
+ {
+#ifdef USE_DVDREAD
+ case STREAMTYPE_DVD:
+ break;
+#endif
+#ifdef HAVE_VCD
+ case STREAMTYPE_VCD:
+ break;
+#endif
+ default:
+ if ( (curr=gtkSet( gtkGetCurrPlItem,0,NULL)) )
+ {
+ mplSetFileName( curr->path,curr->name,STREAMTYPE_FILE );
+ mplGotoTheNext=0;
+ break;
+ }
+ return;
+ }
+ if ( stop ) mplEventHandling( evStop,0 );
+ if ( guiIntfStruct.Playing == 1 ) mplEventHandling( evPlay,0 );
+}
+
+
void mplPrev( void )
{
plItem * prev;
diff --git a/Gui/mplayer/play.h b/Gui/mplayer/play.h
index 9b1dd25e9e..b7c3c58a3b 100644
--- a/Gui/mplayer/play.h
+++ b/Gui/mplayer/play.h
@@ -13,6 +13,7 @@ extern void mplPause( void );
extern void mplState( void );
extern void mplPrev( void );
extern void mplNext( void );
+extern void mplCurr( void );
extern void mplIncAudioBufDelay( void );
extern void mplDecAudioBufDelay( void );