View Issue Details

IDProjectCategoryView StatusLast Update
0011919MMAGeneralpublic2024-05-09 18:38
Reporterrusty Assigned To 
PriorityurgentSeveritymajorReproducibilitysometimes
Status assignedResolutionopen 
Product Version1.0.4 
Target Version2.1.0 
Summary0011919: Mixed up or Missing album art (Per-track Album Art)
DescriptionThere are several reports of Album Art getting mixed up between tracks. Debug log is posted at http://www.mediamonkey.com/forum/viewtopic.php?f=21&t=75596&start=15
Additional InformationSee: Ticket 7076
TagsNo tags attached.
Fixed in build

Relationships

duplicate of 0013428 resolvedmarek MMA Missing album art for tracks that don't have the Album field populated 
related to 0011961 closedLudek MMW v4 Duplicate tracks are missing from playlists 
related to 0006444 closedLudek MMW v4 Write only one album art file to a folder 
related to 0008478 closedLudek MMW 5 "Sync all artwork to file folders" option only syncs 1 image 
related to 0012905 closedmartin MMA Users can't remove incorrectly updated lyrics or artwork 
parent of 0019741 feedbackrusty MMA Wrong Artwork can be shown in MMA even synced corrected one from MM5 
parent of 0018129 assignedmartin MMA Some tracks with missing Artist/Album Artist are assigned the wrong artwork 
parent of 0019760 feedbackrusty MMA Artwork is missing when Album="" 
has duplicate 0013914 closedmartin MMA Artwork isn't shown in Artist and Genres nodes representing multiple Albums (regression 1.3) 
related to 0016576 closedrusty MMW 5 Album grid: MM5 Always shows last Cover (front) image if there is multiple images 
related to 0011794 newmartin MMA Scanning engine / tag parser / tagging engine 
Not all the children of this issue are yet resolved or closed.

Activities

marek

2014-03-17 10:11

developer   ~0039890

I have requested some additional data.

marek

2014-03-24 16:19

developer   ~0039989

So this is caused by sync mask. Music is synced to:
/Music/<Playlist>
and artworks are synced as albumart.jpg. I.e. all tracks of one playlist are in same folder and have common albumart.jpg file.

Please note that similar issue cause sync with MediaStore. MediaStore attaches random first synced artwork to all tracks in same folder. I.e. tracks that have no artwork (from MMW) gains artwork from MediaStore.

I will describe the situation in more detail:
1. Track A with Artwork X is synced to MMA to folder /Music/Playlist1/albumart.jpg
2. MediaStore takes this artwork as default artwork for this folder/album and copies it to its folder /Android/data/media/blabla.jpg
3. Track B with Artwork Y is synced to MMA to folder /Music/Playlist1/albumart.jpg. Artwork is overwritten.
4. Track C with no artwork is synced to MMA
5. MediaStore attaches /Android/data/media/blabla.jpg artwork to Track C because it is in same folder and has no artwork

At the end:
Track A has Artwork Y - WRONG
Track B has Artwork Y - CORRECT
Track C has Artwork X - WRONG

a) We cannot fix the issue with Track C till we have our own tag parser.
b) User can uncheck [ ] Sync all Artwork to file folder. This will store the artworks to separate app dir with random filenames.
c) It is not possible to increment names like albumart1.jpg because albumart.jpg is Android's default artwork name and MediaStore exclude it from Gallery app.
d) I suggest to store first artwork to file folder as albumart.jpg. All following artworks can be stored to our app dir with random filename as in b)

rusty

2014-03-24 21:23

administrator   ~0039990

I'm not certain that I'm understanding you.

From what I see, if "[ ] Sync all artwork to folders" is disabled, then it means that artwork isn't copied at all (i.e. the target device must read the tags). Are you suggesting leaving that as is?

If "[x] Sync all artwork to folders" is enabled and > 1 image exists, then MMA/MMW should:
- Sync the first image to the file folder
- If it's an Android device: sync subsequent images to our app dir (as suggested in d)

Is that what you mean? (that makes sense to me since the current behavior of overwriting artwork, doesn't seem to make sense ever).

Ludek

2014-03-25 07:52

developer   ~0039991

Last edited: 2014-03-25 07:53

Disabling '[ ] Sync all artwork to folders' is really the best choice in situations like this (whenever files from multiple albums are synced to single folder).

This way:
1) MediaStore will pick up the artwork from file tag instead of the folder (as desired)
2) MMA will pick up the artwork from its internal app folder (as it can't read tags) - is already implemented for some time although I can't find the issue number (but it sync to /MediaMonkey/artworks/)

So this is rather documentation issue (no change needed in implementation).

rusty

2014-03-26 16:52

administrator   ~0039999

My understanding is that this issue can also arise when multiple tracks within an album have different album art, which is often the case for compilation albums, or for incorrectly tagged tracks.

I was trying to suggest a possible approach that would allow album art sync to 'just work' in all cases, considering that '[ ] Sync all artwork to folders' is enabled by default since it is the preferred setting for non-android devices.

Are you suggesting that for Android devices, a default of having this setting disabled is preferable?

Ludek

2014-03-27 11:04

developer   ~0040008

To track email from Jiri:

I think that Ludek didn't propose to change the default setting, it's just that in the particular case described it would work. I'm not sure about all the effects of disabling the [x] Sync all artwork to folders - I just know that some older Android versions _required_ this option as it was the only way of getting Artwork to the device. I suppose that some newer Androids can better read Artwork from tags, but even if so, it would probably be version/format specific.

So, I think that we can't fix this properly for MS and thus other applications. In case of MM, this certainly could be improved by making sure that we pass artwork correctly to MMA during sync (both in wifi and usb sync we should be able to communicate the info properly between MMW and MMA). Another thing that the in the future versions we'll have tag readers in MMA...

As for the timeframe, I'd rather not do any change now.

Ludek

2014-03-27 11:09

developer   ~0040009

As for the sync MMW -> MMA, I think we could maybe sync to the /MediaMonkey/artworks/ directory even if '[x] Sync all artwork to folders' is enabled to prevent from issues like this. The negative effect is that the artworks would be copied twice to the device in this case, so probably we should copy just thumbnails (e.g. 320x320 JPG). But as Jiri indicated the future tag reading MMA capabilities will eliminate these needs.

rusty

2014-10-01 19:02

administrator   ~0040669

To confirm, this bug _does_ also occur with all compilation albums for which individual album art is assigned per artist or track. e.g. the default path for synching music files is: \Music\<Album Artist>\<Album>\<Track#:2> <Artist> - <Title>

So if the Album Artist=Various, then all tracks on the album are saved to a common directory, and all tracks will possess the single AA image as determined by the Android Media Scanner, rather than that contained within track tags.

Note also, that in the course of testing today, I found that in cases where there are multiple tracks in a single directory with different AA tags, the Media Store doesn't seem to read the tags.

Given that it may be a couple of releases before MMA reads artwork tags directly, it's probably worth fixing this, but I'm no longer sure what the best fix is, short of saving tracks to different directories whenever there's a different Artist/Album Artist/Album between tracks (even if all tracks are from a single album).

marek

2014-12-01 15:00

developer   ~0041241

I don't know if it is worth to add workaround when it is a kind of a bug and all apps that uses mediastore works the same way. The solution is known and it is a tag parser. Workaround won't be extra easy to implement and its code will be useless after fixing completely.

Do you still want to include it to 1.1.0?

rusty

2014-12-02 01:32

administrator   ~0041259

Last edited: 2014-12-03 17:45

Wouldn't a simple solution be to change the default mask to:
 \Music\<Artist>\<Album>\<Track#:2> <Artist> - <Title>

Edit: I tried switching to this mask, but for some reason, it still didn't solve the problem. i.e. the Artwork that appears in MMW didn't make it to MMA, despite the fact that tracks had unique combinations of Artist/Album.

I'm no longer certain why this is occurring.

marek

2014-12-11 14:46

developer   ~0041415

Ok, but the album was the same, right ?

Current implementation doesn't allow to sync more artworks for one album. We have only album artworks... not artworks for particular tracks.

rusty

2014-12-12 17:45

administrator   ~0041439

OK--I misunderstood. I'd assumed that Android could support 1 image per unique Directory.

What still doesn't make sense though is that for many compilation Album tracks (Artist|=Album Artist) where individual tracks each have different Album Art, MMA displays an Album Art image from a track that isn't even synced to the device!

e.g. for Album X
Track 1 - Artist 1 - Art 1
Track 2 - Artist 2 - Art 2
Track 3 - Artist 3 - Art 3

...if the user syncs a playlist containing Tracks 1 & 2, MMA may show the Artwork from Track 3--even though it's not even synced to the device!! perhaps track3 was synced to the device another time, and MMA retains Art 3 for the Album even after Tracks 3 has been removed?

marek

2014-12-12 17:55

developer   ~0041440

Yes, if it was probably this way:

1. Track 1 synced -> Art 1 set for Album X
2. Track 2 synced -> Art 2 set for Album X
3. Track 3 synced -> Art 3 set for Album X
4. Track 3 removed
5. Album X were not removed, so it still has Art 3

When you consider that album can have only one artwork (in our implementation), it works ok. Artworks are not bound to tracks but to albums. I know that it is a limitation now, but in the past, it was an intent to simplify it this way.

rusty

2014-12-12 18:28

administrator   ~0041442

Pushed to 1.1.1. I don't know that waiting for our own parser is the right solution (since whether we have a parser or not doesn't affect that the Android Media Scanner is limited in terms of supporting 1 image per album), but it seems that it's not realistic to get this done within the timeframe of 1.1.0.

marek

2015-07-14 15:01

developer   ~0042706

I prefer to postpone the implementation of per-track album artwork. There is one common functionality that works with all syncs and it is very complicated. It is also not covered by tests. I suggest to implement tests for track syncing first. They are critical for such important part of app because there are tons of combinations and it is common for many operations in app. Then we can try to change anything.

Maybe we can create a separate issue for this.

rusty

2015-09-04 17:17

administrator   ~0042904

OK, pushing to 1.2.

peke

2017-07-05 19:44

developer   ~0048342

In MM5 I've opened #14049 to better handle Albums presentation there is same potential problem as this one.

rusty

2017-11-20 20:12

administrator   ~0049213

Note: a similar issue for videos was reported at http://www.mediamonkey.com/forum/viewtopic.php?f=26&t=88780