Tag: use SignedSongTime for the song duration

This commit is contained in:
Max Kellermann
2014-08-29 12:14:27 +02:00
parent 8ce30c6a69
commit 7c25d83f1c
25 changed files with 103 additions and 84 deletions

View File

@@ -89,7 +89,7 @@ extm3u_parse_tag(const char *line)
return Tag();
TagBuilder tag;
tag.SetTime(duration);
tag.SetDuration(SignedSongTime::FromS(unsigned(duration)));
/* unfortunately, there is no real specification for the
EXTM3U format, so we must assume that the string after the

View File

@@ -85,7 +85,7 @@ pls_parser(GKeyFile *keyfile, std::forward_list<DetachedSong> &songs)
int length = g_key_file_get_integer(keyfile, "playlist", key,
nullptr);
if (length > 0)
tag.SetTime(length);
tag.SetDuration(SignedSongTime::FromS(length));
songs.emplace_front(uri, tag.Commit());
g_free(uri);

View File

@@ -215,7 +215,7 @@ handle_end_map(void *ctx)
soundcloud_config.apikey.c_str(), nullptr);
TagBuilder tag;
tag.SetTime(data->duration / 1000);
tag.SetDuration(SignedSongTime::FromMS(data->duration));
if (data->title != nullptr)
tag.AddItem(TAG_NAME, data->title);