diff options
author | Hardeep Sidhu <dyp@pobox.com> | 2005-06-25 04:46:25 +0000 |
---|---|---|
committer | Hardeep Sidhu <dyp@pobox.com> | 2005-06-25 04:46:25 +0000 |
commit | 74d082c03892ae551cf4a72bb27af91fe8e1ed28 (patch) | |
tree | 227ede22869e6aa2e4f919a38cc3638ee0d76cfe /firmware | |
parent | 1224d578e8ef250cacc86ba3e97408446867baa6 (diff) | |
download | rockbox-74d082c03892ae551cf4a72bb27af91fe8e1ed28.tar.gz rockbox-74d082c03892ae551cf4a72bb27af91fe8e1ed28.zip |
Added new shuffle repeat mode that reshuffles playlist before repeating. Also added new shuffled insert mode that randomly inserts selected track(s) somewhere between current track and end of playlist.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6861 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/mpeg.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/firmware/mpeg.c b/firmware/mpeg.c index e4ea8d67e7..092447fe2d 100644 --- a/firmware/mpeg.c +++ b/firmware/mpeg.c @@ -862,14 +862,15 @@ static void stop_playing(void) static void update_playlist(void) { - int index; - struct trackdata *track; - if (num_tracks_in_memory() > 0) { - track = get_trackdata(0); - index = playlist_next(track->id3.index); - track->id3.index = index; + struct trackdata *track = get_trackdata(0); + track->id3.index = playlist_next(track->id3.index); + } + else + { + /* End of playlist */ + playlist_next(playlist_amount()); } } @@ -1189,6 +1190,9 @@ static void mpeg_thread(void) if (new_file(1) < 0) { DEBUGF("No more files to play\n"); filling = false; + + update_playlist(); + current_track_counter++; } else { /* Make it read more data */ filling = true; |