----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/104294/ -----------------------------------------------------------
Review request for Amarok. Description ------- Older amarok used the following heuristics to determine whether a particular album is a compilation (from a comment in amarok-2.2.1/src/collection/sqlcollection/ScanResultProcessor.cpp): //using the following heuristics: //if more than one album is in the dir, use the artist of each track as albumartist //if all tracks have the same artist, use it as albumartist //try to find the albumartist A: tracks must have the artist A or A feat. B (and variants) //if no albumartist could be found, it's a compilation However, more recent Amarok versions started to merge different albums with different artist in separate directories together, as explained above. Amarok started to assume all albums with same name to be compilations (even if in separate directories) since the following commit: dfd8b457d7094144563c51b2528afdbe23ffc344 Ralf Engels Fix all collection scanner auto tests. Now, amarok first scans all directories (sorting albums by the name) and then tries to process *album names*, one at a time. If it finds more than one instance of an album name, it assumes it to be a compilation. Thus, it lost the heuristics in employed before ("if more than one album is in the dir..."). While it is still possible to force the right behavior by selecting "Do not show under Various Artists" for each of the erroneous albums, it would still be better to restore the original heuristics as there may be lots of albums merged this way. I think the old heuristics made sense (why would albums be put into separate directories otherwise, if they are a single compilation album?). The attached patch restores the following logic: If any given directory contains tracks that were sorted into a single album and and that album was not created as a compilation (i.e. it has non-empty artists), this album is excluded from being merged with other albums to create a "compilation". Diffs ----- src/core-impl/collections/db/ScanResultProcessor.cpp 4f02a16 Diff: http://git.reviewboard.kde.org/r/104294/diff/ Testing ------- Thanks, Alexey Neyman
_______________________________________________ Amarok-devel mailing list Amarok-devel@kde.org https://mail.kde.org/mailman/listinfo/amarok-devel