summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphelin <phelin>2007-09-17 18:12:28 +0000
committerphelin <phelin>2007-09-17 18:12:28 +0000
commit629ebb59c3f4328b53f4181de718718079fbd236 (patch)
treebd583ddbc7a55a466b03a4e6bf71ce894ff1a1b0
parent523a5f35111711ff4e52d96f96397a30483a3048 (diff)
downloadxineliboutput-629ebb59c3f4328b53f4181de718718079fbd236.tar.gz
xineliboutput-629ebb59c3f4328b53f4181de718718079fbd236.tar.bz2
Change the playlist behaviour so that kLeft and kPrev restart the current
entry if it has been playing more than three seconds. Otherwise a previous one is selected.
-rw-r--r--media_player.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/media_player.c b/media_player.c
index 026c622d..80de6747 100644
--- a/media_player.c
+++ b/media_player.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: media_player.c,v 1.32 2007-07-18 12:40:07 phintuka Exp $
+ * $Id: media_player.c,v 1.33 2007-09-17 18:12:28 phelin Exp $
*
*/
@@ -735,10 +735,17 @@ eOSState cXinelibPlayerControl::ProcessKey(eKeys Key)
MsgReplaying(*m_Player->Playlist().Current()->Track, *m_Player->File());
break;
case kPrev:
- case kLeft: m_Player->NextFile(-1);
- if(!m_DisplayReplay)
- m_AutoShowStart = time(NULL);
- MsgReplaying(*m_Player->Playlist().Current()->Track, *m_Player->File());
+ case kLeft: if(cXinelibDevice::Instance().PlayFileCtrl("GETPOS") < 3000) {
+ m_Player->NextFile(-1);
+ if(!m_DisplayReplay)
+ m_AutoShowStart = time(NULL);
+ MsgReplaying(*m_Player->Playlist().Current()->Track, *m_Player->File());
+ }
+ else {
+ m_Player->NextFile(0);
+ if(!m_DisplayReplay)
+ m_AutoShowStart = time(NULL);
+ }
break;
case kDown:
case kPause: if(m_Player->Speed()) {