Bug 210837 - [PATCH] Add/remove tracks to various artists cause duplicate album entry in collection
Summary: [PATCH] Add/remove tracks to various artists cause duplicate album entry in c...
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: Collections/Local (show other bugs)
Version: 2.3-GIT
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
: 198861 218270 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-10-16 23:19 UTC by Morten Sjoegren
Modified: 2009-12-11 15:08 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Suggested patch to solve this problem. (6.19 KB, patch)
2009-10-16 23:20 UTC, Morten Sjoegren
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Morten Sjoegren 2009-10-16 23:19:54 UTC
Version:           2.2-GIT (using KDE 4.3.2)
OS:                Linux
Installed from:    Archlinux Packages

I've two related problem with adding and removing albums from various artists.

Problem one:
When I add an album to various artists and an album with the same same already exists under various, there will be an extra album in the list.

Problem two:
Remove an album from various artists, sometimes result in an empty album under various artists, but the tracks will be under the right artist under the right album.

I've made a patch that should fix this problem and I hope one of the amarok developers will look at it. I'll attach it in a moment.

The problem is caused in SqlAlbum::setCompilation() which are marked AMAROK_NOTIMPLEMENTED.

Solution for problem one:
There is a constraint on album.name and album.artist in the database, but if artist is NULL multiple entries of the same name can exist in the database.
I simply check for existing albums with the same name and artist is null, if such an album exist, add the tracks to that album.

Solution for problem two:
The same constraint as problem one plays in here.
The problems was primarily caused by attempting to update an album to having the same name and artist as another album, and there were no check to prevent this.

But the code also assumed the artist for the first track in the album, was also the artist for all the other tracks. This wasn't the case with tracks I had from four different albums all called "Greatest hits".

I solved these by checking for artist for each track in the album, against other album with the same name and moving the tracks to those albums.
Comment 1 Morten Sjoegren 2009-10-16 23:20:46 UTC
Created attachment 37628 [details]
Suggested patch to solve this problem.
Comment 2 Myriam Schweingruber 2009-10-17 13:39:57 UTC
*** Bug 198861 has been marked as a duplicate of this bug. ***
Comment 3 Mathieu 2009-11-26 18:44:21 UTC
*** This bug has been confirmed by popular vote. ***
Comment 4 Myriam Schweingruber 2009-11-26 19:44:06 UTC
Morten, could you please submit a merge request to git as described in this tutorial: http://techbase.kde.org/Getting_Started/Sources/KDE_git-tutorial#Patch_Contributors so the deveolpers can have a look.
Comment 5 Morten Sjoegren 2009-11-26 19:50:12 UTC
Hi, Myriam.

I've already done that http://gitorious.org/amarok/amarok/merge_requests/2169
Comment 6 Myriam Schweingruber 2009-11-26 20:23:23 UTC
(In reply to comment #5)
> Hi, Myriam.
> 
> I've already done that http://gitorious.org/amarok/amarok/merge_requests/2169

Right, sorry, didn't remember that.
Comment 7 Mikko C. 2009-12-08 18:14:19 UTC
could anyone test this patch and see if it fixes the issues? http://gitorious.org/amarok/amarok/merge_requests/2169
Comment 8 Mikko C. 2009-12-08 19:58:09 UTC
patch merged in master
Comment 9 Myriam Schweingruber 2009-12-11 15:08:57 UTC
*** Bug 218270 has been marked as a duplicate of this bug. ***