aboutsummaryrefslogtreecommitdiffstats
path: root/src/DespotifyUtils.cxx
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/DespotifyUtils.cxx39
1 files changed, 19 insertions, 20 deletions
diff --git a/src/DespotifyUtils.cxx b/src/DespotifyUtils.cxx
index e91587a7f..8a499d75d 100644
--- a/src/DespotifyUtils.cxx
+++ b/src/DespotifyUtils.cxx
@@ -19,6 +19,7 @@
#include "DespotifyUtils.hxx"
#include "tag/Tag.hxx"
+#include "tag/TagBuilder.hxx"
#include "ConfigGlobal.hxx"
#include "ConfigOption.hxx"
#include "util/Domain.hxx"
@@ -82,33 +83,31 @@ void mpd_despotify_unregister_callback(void (*cb)(struct despotify_session *, in
}
}
-
-Tag *
-mpd_despotify_tag_from_track(struct ds_track *track)
+Tag
+mpd_despotify_tag_from_track(const ds_track &track)
{
char tracknum[20];
char comment[80];
char date[20];
- Tag *tag = new Tag();
-
- if (!track->has_meta_data)
- return tag;
+ if (!track.has_meta_data)
+ return Tag();
- snprintf(tracknum, sizeof(tracknum), "%d", track->tracknumber);
- snprintf(date, sizeof(date), "%d", track->year);
+ TagBuilder tag;
+ snprintf(tracknum, sizeof(tracknum), "%d", track.tracknumber);
+ snprintf(date, sizeof(date), "%d", track.year);
snprintf(comment, sizeof(comment), "Bitrate %d Kbps, %sgeo restricted",
- track->file_bitrate / 1000,
- track->geo_restricted ? "" : "not ");
- tag->AddItem(TAG_TITLE, track->title);
- tag->AddItem(TAG_ARTIST, track->artist->name);
- tag->AddItem(TAG_TRACK, tracknum);
- tag->AddItem(TAG_ALBUM, track->album);
- tag->AddItem(TAG_DATE, date);
- tag->AddItem(TAG_COMMENT, comment);
- tag->time = track->length / 1000;
-
- return tag;
+ track.file_bitrate / 1000,
+ track.geo_restricted ? "" : "not ");
+ tag.AddItem(TAG_TITLE, track.title);
+ tag.AddItem(TAG_ARTIST, track.artist->name);
+ tag.AddItem(TAG_TRACK, tracknum);
+ tag.AddItem(TAG_ALBUM, track.album);
+ tag.AddItem(TAG_DATE, date);
+ tag.AddItem(TAG_COMMENT, comment);
+ tag.SetTime(track.length / 1000);
+
+ return tag.Commit();
}
struct despotify_session *mpd_despotify_get_session(void)