Album art is missing for older albums and some tracks but not others
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntuone-music |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Description:
In older albums some tracks have album art and others don't, occasionally there is no album art at all and on newer purchases, on the whole, the album art is there.
Service:
U1 Sync for Music
~/.ubuntuone/
U1 Music Player
https:/
Steps:
1. Goto the folder above if you have purchased music previously go through all of the folders note the tracks that don't have album art
2. Goto the link above
3. From the player select the tracks and play them see if there is album art
Expected Results:
I expect to see album art for all tracks.
Actual Results:
Currently the older the purchase the less likely it is to have complete album art coverage.
description: | updated |
description: | updated |
Changed in ubuntuone-music: | |
status: | Confirmed → Fix Committed |
Changed in ubuntuone-music: | |
status: | Fix Committed → Fix Released |
Changed in ubuntuone-music: | |
assignee: | Registry Administrators (registry) → nobody |
Initial impressions are that there are a couple of things going on here, that may or may not be related.
Following the steps outlined above, I see nothing untoward with my own purchased music, regardless of time of purchase - those tracks that do not display a thumbnail in nautilus also show no album art in the ID3 tags (verified with eyeD3). The thumbnails in nautilus are extracted from the ID3 tags by nautilus itself, so this makes perfect sense.
In the web music player things are a little (OK, a lot!) more complicated. This at least partly stems from the fact that we're using two versions of the music API to generate the page - the v2 API for artwork and the v1 api for everything else.
For the artists view, https:/ /one.ubuntu. com/music/ player/ #view=artists - selected via the Artists link on the left, and also the default when you hit https:/ /one.ubuntu. com/music/ player/ - the thumbnails are requested from https:/ /one.ubuntu. com/api/ music/v2/ artists/<v2_artist_id>/art/ and the image served is the cover art from the ID3 tags of the most recently parsed music file that has cover art and whose artist_id matches the one requested. Though it's an implementation detail, I'll mention that the v2_artist_id is the hex digest of the MD5 hash of the UTF-8 encoding of the lower-cased value of the album_artist ID3 tag, or the artist ID3 tag if album_artist is not present, or 'Unknown artist' if neither is present. The v2_artist_id does not necessarily match the v1_artist_id due to case sensitivity - the v1_artist_id is generated without converting the artist to lower case.
For the albums view, https:/ /one.ubuntu. com/music/ player/ #view=albums - selected via the Albums link on the left - the thumbnails are requested from https:/ /one.ubuntu. com/api/ music/v2/ albums/<v2_album_id>/art/ and the image served is the cover art from the ID3 tags of the most recently parsed music file that has cover art and whose album_id matches the one requested. Again, though it's an implementation detail, I'll mention that the v2_album_id is the hex digest of the MD5 hash of the UTF-8 encoding of the lower-cased value of the album ID3 tag, or 'Unknown album' if album is not present, prepended to the UTF-8 encoding of the lower-cased value of the album_artist ID3 tag, or the artist ID3 tag if album_artist is not present, or 'Unknown artist' if neither is present. Again, the v2_album_id does not necessarily match the v1_album_id due to case sensitivity - the v1_album_id is generated without converting the artist to lower case.
Now, I can see some potential problems with the algorithms for selecting artwork, that I'll look into more deeply. Once I'm satisfied that we are indeed requesting the correct artwork from the metadata store, I can dig further.