From 4e53282469de4fea4b8daaec67298bd3394f34bd Mon Sep 17 00:00:00 2001 From: Warren Dukes Date: Sun, 6 Jun 2004 16:42:14 +0000 Subject: todo update git-svn-id: https://svn.musicpd.org/mpd/trunk@1352 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/player.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/player.c') diff --git a/src/player.c b/src/player.c index cda88fff4..587a5501d 100644 --- a/src/player.c +++ b/src/player.c @@ -474,10 +474,12 @@ void playerCycleLogFiles() { /* this actually creates a dupe of the current metadata */ Song * playerCurrentDecodeSong() { static Song * song = NULL; + static char * prev = NULL; PlayerControl * pc = &(getPlayerData()->playerControl); if(pc->metadataState == PLAYER_METADATA_STATE_READ && - (!song || strcmp(song->utf8url, pc->currentUrl))) + ((!song || strcmp(song->utf8url, pc->currentUrl)) + || (!prev || strcmp(prev,pc->metadata)))) { if(song) freeJustSong(song); song = newNullSong(); @@ -486,6 +488,7 @@ Song * playerCurrentDecodeSong() { song->utf8url = strdup(pc->currentUrl); if(pc->title >= 0) { song->tag->title = strdup(pc->title + pc->metadata); + /*printf("player title: %s\n", song->tag->title);*/ } if(pc->artist >= 0) { song->tag->artist = strdup(pc->artist + pc->metadata); @@ -494,11 +497,11 @@ Song * playerCurrentDecodeSong() { song->tag->album = strdup(pc->album + pc->metadata); } validateUtf8Tag(song->tag); + if(prev) free(prev); + prev = strdup(pc->metadata); resetPlayerMetadata(); return song; } return NULL; } - -/* vim:set shiftwidth=4 tabstop=8 expandtab: */ -- cgit v1.2.3