diff options
Diffstat (limited to 'vdr_player.c')
| -rw-r--r-- | vdr_player.c | 49 |
1 files changed, 10 insertions, 39 deletions
diff --git a/vdr_player.c b/vdr_player.c index bd05767..9365090 100644 --- a/vdr_player.c +++ b/vdr_player.c @@ -203,7 +203,7 @@ public: virtual bool GetIndex(int &Current, int &Total, bool SnapToIFrame=false); // bool GetPlayInfo(cMP3PlayInfo *rm); // LVW - void NewPlaylist( mgPlaylist *plist, int first ); + void NewPlaylist( mgPlaylist *plist, unsigned first ); mgContentItem *getCurrent () { return m_current; } mgPlaylist *getPlaylist () { return m_playlist; } }; @@ -699,51 +699,20 @@ bool mgPCMPlayer::NextFile( ) mgContentItem *newcurr; bool res = false; - bool m_partymode = false; - bool m_shufflemode = false; - if( m_partymode ) + if( m_playlist->skipFwd() ) { - /* - - Party mode (see iTunes) - - initialization - - find 15 titles according to the scheme below - - playing - - before entering next title perform track selection - - track selection - - generate a random uid - - if file exists: - - determine maximum playcount of all tracks - - generate a random number n - - if n < playcount / max. playcount - - add the file to the end of the list - */ - } - else if( m_shufflemode ) - { - /* - - Handle shuffle mode in mgPlaylist - - for next file: - - generate a random number 0..n-1 - - move corresponding playlist item to front - - continue - */ + newcurr = m_playlist->getCurrent(); } else { - if( m_playlist->skipFwd() ) - { - newcurr = m_playlist->getCurrent(); - } - else - { - newcurr = &(mgContentItem::UNDEFINED); - } + newcurr = &(mgContentItem::UNDEFINED); } if( newcurr && newcurr != &(mgContentItem::UNDEFINED) ) { m_current = newcurr; + mgMuggle::setResumeIndex( m_playlist->getIndex() ); res = true; } @@ -760,7 +729,8 @@ bool mgPCMPlayer::PrevFile(void) if( newcurr && newcurr != &(mgContentItem::UNDEFINED) ) { - m_current = newcurr; + m_current = newcurr; + mgMuggle::setResumeIndex( m_playlist->getIndex() ); res = true; } } @@ -1105,7 +1075,7 @@ void mgPCMPlayer::send_pes_packet(unsigned char *data, int len, int timestamp) // --- mgPlayerControl ------------------------------------------------------- -mgPlayerControl::mgPlayerControl( mgPlaylist *plist, int start ) +mgPlayerControl::mgPlayerControl( mgPlaylist *plist, unsigned start ) : cControl( player = new mgPCMPlayer( plist, start ) ) { MGLOG( "mgPlayerControl::mgPlayerControl" ); @@ -1217,7 +1187,7 @@ void mgPlayerControl::ToggleLoop(void) } } -void mgPlayerControl::NewPlaylist(mgPlaylist *plist, int start) +void mgPlayerControl::NewPlaylist(mgPlaylist *plist, unsigned start) { if( player ) { @@ -1586,6 +1556,7 @@ eOSState mgPlayerControl::ProcessKey(eKeys key) { InternalHide(); Stop(); + mgMuggle::setResumeIndex( 0 ); return osEnd; } break; |
