| 191 | }; |
| 192 | |
| 193 | static void |
| 194 | Copy(TagBuilder &tag, TagType d_tag, |
| 195 | const struct mpd_song *song, enum mpd_tag_type s_tag) noexcept |
| 196 | { |
| 197 | |
| 198 | for (unsigned i = 0;; ++i) { |
| 199 | const char *value = mpd_song_get_tag(song, s_tag, i); |
| 200 | if (value == nullptr) |
| 201 | break; |
| 202 | |
| 203 | tag.AddItem(d_tag, value); |
| 204 | } |
| 205 | } |
| 206 | |
| 207 | ProxySong::ProxySong(const mpd_song *song) |
| 208 | :LightSong(mpd_song_get_uri(song), tag_buffer) |