summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Low <lostlogic@rockbox.org>2006-04-12 01:45:53 +0000
committerBrandon Low <lostlogic@rockbox.org>2006-04-12 01:45:53 +0000
commit376950155cc241b3c231e2bbe75f8316167d1397 (patch)
tree288ec6064e51a6cfa4a5dc9f01201fbf46c88b24
parent10c3a34c85b255569344f134594c3f4838dbbf40 (diff)
downloadrockbox-376950155cc241b3c231e2bbe75f8316167d1397.zip
rockbox-376950155cc241b3c231e2bbe75f8316167d1397.tar.gz
rockbox-376950155cc241b3c231e2bbe75f8316167d1397.tar.bz2
rockbox-376950155cc241b3c231e2bbe75f8316167d1397.tar.xz
Get the GUI and audio in sync for track changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9634 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/playback.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/apps/playback.c b/apps/playback.c
index 5433186..697e285 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -656,7 +656,6 @@ static void audio_update_trackinfo(void)
ci.curpos = 0;
cur_ti->start_pos = 0;
ci.taginfo_ready = (bool *)&cur_ti->taginfo_ready;
- track_changed = true;
}
static int get_codec_base_type(int type)
@@ -1354,7 +1353,12 @@ static bool audio_load_track(int offset, bool start_play)
/* Get track metadata if we don't already have it. */
if (!tracks[track_widx].taginfo_ready) {
- if (!get_metadata(&tracks[track_widx],current_fd,trackname,v1first)) {
+ if (get_metadata(&tracks[track_widx],current_fd,trackname,v1first)) {
+ if (start_play) {
+ playlist_update_resume_info(audio_current_track());
+ track_changed = true;
+ }
+ } else {
logf("Metadata error:%s!",trackname);
/* Set filesize to zero to indicate no file was loaded. */
tracks[track_widx].filesize = 0;
@@ -1366,7 +1370,7 @@ static bool audio_load_track(int offset, bool start_play)
tracks[track_widx].taginfo_ready = false;
goto peek_again;
}
- track_changed = true;
+
}
/* Load the codec. */
@@ -1425,9 +1429,6 @@ static bool audio_load_track(int offset, bool start_play)
}
- if (start_play)
- codec_track_changed();
-
logf("arf:%s", trackname);
audio_read_file();