summaryrefslogtreecommitdiffstats
path: root/apps/playlist_viewer.c
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2005-10-21 06:40:45 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2005-10-21 06:40:45 +0000
commitc52f7f1b5e02b48272037f7e82d1af43cea74b1d (patch)
tree1dbc6a56a36d66cec2d9701da3c188ffead6ed2b /apps/playlist_viewer.c
parentddad7197ed4d3c9db25bcbbcafd40ff82ad4b717 (diff)
downloadrockbox-c52f7f1b5e02b48272037f7e82d1af43cea74b1d.tar.gz
rockbox-c52f7f1b5e02b48272037f7e82d1af43cea74b1d.zip
iRiver: Fixed broken items skipping on playlist: Now skipping and
marking them as bad instead of deleting the entries from playlist. Faster buffered track skipping and preventing glitches from previous tracks (still something might occur though, please report them). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7647 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/playlist_viewer.c')
-rw-r--r--apps/playlist_viewer.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/apps/playlist_viewer.c b/apps/playlist_viewer.c
index b7a042733e..70c1cf8995 100644
--- a/apps/playlist_viewer.c
+++ b/apps/playlist_viewer.c
@@ -112,6 +112,7 @@ struct playlist_entry {
int index; /* Playlist index */
int display_index; /* Display index */
bool queued; /* Is track queued? */
+ bool skipped; /* Is track marked as bad? */
};
static struct playlist_viewer_info viewer;
@@ -381,6 +382,7 @@ static int load_entry(int index, int pos, char* p, int size)
tracks[pos].index = info.index;
tracks[pos].display_index = info.display_index;
tracks[pos].queued = info.attr & PLAYLIST_ATTR_QUEUED;
+ tracks[pos].skipped = info.attr & PLAYLIST_ATTR_SKIPPED;
result = len;
}
@@ -424,14 +426,18 @@ static void format_name(char* dest, const char* src)
static void format_line(const struct playlist_entry* track, char* str, int len)
{
char name[MAX_PATH];
+ char *skipped = "";
format_name(name, track->name);
+ if (track->skipped)
+ skipped = "(ERR) ";
+
if (global_settings.playlist_viewer_indices)
/* Display playlist index */
- snprintf(str, len, "%d. %s", track->display_index, name);
+ snprintf(str, len, "%d. %s%s", track->display_index, skipped, name);
else
- snprintf(str, len, "%s", name);
+ snprintf(str, len, "%s%s", skipped, name);
}