QueueSave: use the long format to save partial songs

Previously, only streams were saved with range and tags, but this is
necessary for all "partial" songs (e.g. CUE tracks).
This commit is contained in:
Max Kellermann 2014-07-12 19:36:39 +02:00
parent 751995ab95
commit 80d9baa9e8
2 changed files with 7 additions and 1 deletions

1
NEWS
View File

@ -18,6 +18,7 @@ ver 0.19 (not yet released)
- smbclient: new plugin - smbclient: new plugin
* playlist * playlist
- cue: fix bogus duration of the last track - cue: fix bogus duration of the last track
- cue: restore CUE tracks from state file
- soundcloud: use https instead of http - soundcloud: use https instead of http
- soundcloud: add default API key - soundcloud: add default API key
* archive * archive

View File

@ -50,9 +50,14 @@ queue_save_full_song(FILE *fp, const DetachedSong &song)
static void static void
queue_save_song(FILE *fp, int idx, const DetachedSong &song) queue_save_song(FILE *fp, int idx, const DetachedSong &song)
{ {
if (song.IsInDatabase()) if (song.IsInDatabase() &&
song.GetStartMS() == 0 && song.GetEndMS() == 0)
/* use the brief format (just the URI) for "full"
database songs */
queue_save_database_song(fp, idx, song); queue_save_database_song(fp, idx, song);
else else
/* use the long format (URI, range, tags) for the
rest, so all metadata survives a MPD restart */
queue_save_full_song(fp, song); queue_save_full_song(fp, song);
} }