Bug 116127 - compilation tracks appear in collection browser even if marked as compilation
Summary: compilation tracks appear in collection browser even if marked as compilation
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 1.3.6
Platform: Debian testing Linux
: NOR normal
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-11 13:40 UTC by Frosch
Modified: 2006-08-14 23:34 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Screenshot of compilation bug (11.61 KB, image/png)
2006-04-05 23:54 UTC, F. Edward Barrett
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Frosch 2005-11-11 13:40:48 UTC
Version:            (using KDE KDE 3.4.2)
Installed from:    Debian testing/unstable Packages

When an artist is in an album marked as compilation and also has a seperate album (e.g. Dido is on Cafe del Mar Vol. 8 (marked as compilation) with the song "Worthless" and there's also the complete album "Dido - Life for rent"; btw. "Worthless" does NOT belong to "Life for rent"), then the song on Cafe del Mar appears also in the collection browser under the Name "Dido" where it is not supposed to be (i think). Hence, "Worthless" on Cafe del Mar Vol. 8 appears TWICE in the collection browser, once under "Dido"->"Cafe del Mar Vol. 8" and once under "Various"->"Cafe del Mar Vol. 8".

Sounds a bit complicated, hope it was understandable ;-)
Comment 1 Frosch 2005-11-11 13:41:40 UTC
Forgot to say: Version is 1.3.6 from Debian unstable package
Comment 2 Ian Monroe 2005-11-11 17:04:19 UTC
So to be clear, you only have one "Worthless" file but it appears twice?
Comment 3 Frosch 2005-11-11 17:30:50 UTC
Yes. Dido's "Worthless" actually belongs to the Cafe del Mar compilation, which is marked as such and can be found under "Various" in the collection browser. I checked for the other songs in this compilation, they can't be found elsewhere. But as I said, Dido is the only artist, that is on Cafe del Mar and is present with another album on my hard disk.
Btw. there are a few more examples here, where the same happens. I have quite a big mp3 collection containing many compilations and albums. Whenever there is an artist which contributed to a compilation and has songs outside this compilation, the song of the compilation gets added also to the artist's name in the collection browser (under artist name -> compilation name; btw., i'm using the tree view with artist name on the first level and album name on the second). So they always appear twice.
Comment 4 F. Edward Barrett 2006-04-05 23:43:09 UTC
I also see this, using amarok 1.4-beta2 (built from the tarball on amarok.kde.org) under KDE 3.5.2 (built using konstruct on Debian Sarge).  I'm attaching a screenshot to illustrate the error.
Comment 5 F. Edward Barrett 2006-04-05 23:54:57 UTC
Created attachment 15488 [details]
Screenshot of compilation bug

I created a small collection to illustrate the point.  There are two top-level
folders in this collection: "Meat Beat Manifesto" and "Nine Inch Nails".  MBM's
album "99%" is in the Meat Beat Manifesto folder, and NIN's "The Perfect Drug
Versions" is in the Nine Inch Nails folder.  "The Perfect Drug Versions" is
auto-recognized as a compilation containing tracks by Meat Beat Manifesto,
Plug, Nine Inch Nails, Spacetime Continuum, and The Orb.  I have no stand-alone
albums by Plug, Nine Inch Nails, Spacetime Continuum, or The Orb in the
collection.
Comment 6 Andrew Turner 2006-06-16 19:53:34 UTC
Fixed in SVN version 552135
Comment 7 Andrew Turner 2006-06-17 19:34:10 UTC
Changed again in SVN 552311.

Compilations will be shown under both the artists concerned and Various Artists.

But also, the bug is fixed where if you had no non-compilation albums by an artist, they would not show up, even if you did have compilations with them on
Comment 8 radfoj 2006-06-22 01:08:21 UTC
 Andrew,

its little complicated to understand it all, but is it allright after your commit, that:

1) lets have album X which contain 20 songs from 20 different artists

2) lets have not any other song from any of 20 artists above

3) marking that album as compilation - album will appear in "Various Artists" + we will have also in collection grouped by Interpret/Album 20 artists, each with one song

4) unmarking as compilation - that album dissapear from "Various Artists" and we will have only 20 artists in collection, each with one song

Result: in this situation, marking and unmarking as compilation lead only to one difference - if album is presented in VA or isnt.

Can you imagine, if somebody have 15 compilation albums, what mess collection became?
Comment 9 Jannick Kuhr 2006-07-03 23:25:23 UTC
radfoj, I completly agree... I have only a few of compilations, but my collection is an absolute mess new. Now there are not 20 artist, but about 100 with only one song each. Please change that, it's an horror...
Comment 10 Adeodato Simó 2006-07-04 02:56:07 UTC
> Yes please, makes me terribly unhappy as well.


Okay, let's be constructive instead. This is my opinion about the issue:

- the implementation in 1.4.0 was IMHO a very good one: given song S by
  artist A in compilation album B, always include it under "Various
  Artists", and show it again under "Artist A" __if and only if__ artist
  A has more songs in the collection which do not belong to a
  compilation album.

- the reason this is a very good implementation is that manages not to
  clutter the artist listing in the collection with "probably
  uninteresting" artists (IOW who one only knows through compilations),
  but (very importantly) at the same time helping the user notice that
  artist A, which they like, happens to have a song in compilation
  "Beatles versioned".

- given the reasoning above, it is my understanding that the bug, as
  explained by the submitter, is not a bug but a feature, one of those
  details that makes amaroK better than others, if you ask me.

- if the developers can't view the above as a feature and only as a bug,
  please consider not giving authors without non-compilation songs their
  own entry in the collection, in order not to clutter it.

Thanks in advance.
Comment 11 Frosch 2006-07-05 09:06:21 UTC
I also accepted this "bug" as an actual feature now. The behavior as ist was, is in my opinion now, the right one. Thus, I fully agree to comment #10. I should also emphasize that it is indeed not a good idea to add every single artist of the compilations to the collection. This would render the possibilty to mark albums as compilations pretty much useless (and I should say, that this bug report was NEVER aimed at supporting this way of managing the compilation.)
Hence, we should just revert to the initial behavior. It was just good and far better than anything else I've seen with other audio players.
Comment 12 Frosch 2006-07-05 09:12:15 UTC
I'll reopen this bug as we now want the old behavior back :-) (From the postings here I understand that there have been some changes in the wrong direction already). I don't use any cvs-version of amarok though, just the stable versions, so I can't confirm this. I just installed amarok 1.4.1 and everything is still as it was.
Comment 13 Michael Baumann 2006-07-05 23:43:12 UTC
I would like to confirm this bug (I see it as one) for the Ubuntu Dapper package of 1.4.1-0ubuntu1.
The collection became a complete mess because each artist in a compilation now got its own entry in the collection browser even if he is only on compilation albums.

The former behavior was perfect (artist entry only if he also had non-compilation albums), please revert.
Comment 14 Seb Ruiz 2006-07-06 00:14:00 UTC
SVN commit 558731 by seb:

Don't show compilations under individual artists.  I think we have reached consensus that this is both the most popular and most natural way of displaying the data
BUG: 116127


 M  +7 -1      collectionbrowser.cpp  


--- trunk/extragear/multimedia/amarok/src/collectionbrowser.cpp #558730:558731
@@ -673,6 +673,9 @@
         qb.sortBy( q_cat1, QueryBuilder::valName );
         qb.setOptions( QueryBuilder::optRemoveDuplicates );
 
+        if( q_cat1 == QueryBuilder::tabArtist )
+            qb.setOptions( QueryBuilder::optNoCompilations );
+
         // ensure we don't get empty genres/albums/etc due to tag changes
         qb.addFilter( QueryBuilder::tabSong, QString::null );
 
@@ -939,6 +942,7 @@
             isUnknown = tmptext.isEmpty();
             if ( !static_cast<CollectionItem*>( item )->isSampler() )
             {
+                qb.setOptions( QueryBuilder::optNoCompilations );
                 if( VisYearAlbum == 1 )
                 {
                     tmptext = item->text( 0 );
@@ -996,6 +1000,7 @@
 
             if( !static_cast<CollectionItem*>( item->parent() )->isSampler() )
             {
+                qb.setOptions( QueryBuilder::optNoCompilations );
                 if( VisYearAlbum == 1 )
                 {
                     tmptext = item->parent()->text( 0 );
@@ -1068,7 +1073,8 @@
 
             if ( !static_cast<CollectionItem*>( item->parent()->parent() )->isSampler() )
             {
-                if (VisYearAlbum==1)
+                qb.setOptions( QueryBuilder::optNoCompilations );
+                if( VisYearAlbum == 1 )
                 {
                     tmptext = item->parent()->parent()->text( 0 );
                     QString year = tmptext.left( tmptext.find( i18n(" - ") ) );
Comment 15 Adeodato Simó 2006-07-06 03:28:55 UTC
* Seb Ruiz [Wed, 05 Jul 2006 22:14:02 -0000]:

> Don't show compilations under individual artists.  I think we have
> reached consensus that this is both the most popular and most natural
> way of displaying the data


I think the complains were all about this bit:

> +        if( q_cat1 == QueryBuilder::tabArtist )
> +            qb.setOptions( QueryBuilder::optNoCompilations );
> +


So thanks for reverting it. But not about these:

> +                qb.setOptions( QueryBuilder::optNoCompilations );
> +                qb.setOptions( QueryBuilder::optNoCompilations );
> +                qb.setOptions( QueryBuilder::optNoCompilations );


Thanks,
Comment 16 Thomas McGuire 2006-07-10 17:54:05 UTC
I liked the old behaviour (every song which appears under Various Artists also appears somewhere else (under the artist's name) in the collection browser) the best.
The reason why I don't like the new behaviour:
When looking for a song by artist XXX, I now first have to look whether there is  a "XXX" entry in the collection browser. If not, I additionally have to look under "Various Artists". I now have to look at to places instead of one to see wheter I have a song by XXX.

However, I also understand the concerns about the collection browser getting cluttered.

IMHO the best solution would be to make this behaviour configureable:
	Option 1: Show compilation songs both under
		  "Various Artists" and under the respective artist.
	Option 2: Show compilation songs only under the 
		  respective artist if there are other, non-compilation songs
		  by that artist. Also show all compilation songs under 
		  "Various Artists"
	Option 3: Show compilation songs only under "Various Artists"

What "Option" is used right now? I really hope it is not Option 3...
Comment 17 Marcel Dischinger 2006-07-12 00:35:23 UTC
It is Option 3.
While I would prefer Option 2 (we had this behavior before), while Option 3 is still OK.
Comment 18 Martin Burnicki 2006-08-14 23:34:54 UTC
In my option it is not option 3, it is option 1 ;-)

My collection includes about 58000 files, which are from 1360 albums (including 250 compilations) and a bunch of single files.

I'm often digging through the collection, look at an artist, and see which songs of that there are in the collection. There are also some duplicate songs, or different versions of one song, e.g. on a compilation and on a special album from that artist. If all the tracks from the compilations are also listed under the individual artists this is more clearly arranged for me than if I had to look under the artist entry, and additionally in the compilations section.

Since others on this topic disagree with my opinion I'd really appreciate if this would be made configurable, either in
Settings->Configure Amarok->Collection
or "on the fly" in the upper left corner of the collection browser.
It could be implemented either using 2 checkboxes, or a selection box which offers the 3 options as listed above.

The code should not be too hard to implement in either way, but every user could have it the way he prefers.

Martin