alehouse / cantata

Automatically exported from code.google.com/p/cantata
GNU General Public License v3.0
1 stars 0 forks source link

Add option to group by genre. #630

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Which version of Cantata?
1.5.1

Which build? KDE, Qt4, Qt5, Windows, Ubuntu, Mac?
built for KDE on Ubuntu

I just built and installed 1.5.1 on Kubuntu Trusty.  It's really looking sharp 
compared to the version in Trusty!

I am still missing a genre tab, though.  It's extremely awkward to have to go 
to, e.g. the artists tab and then go down to the status bar and choose the 
genre I want from the (very long) drop-down list (which actually "drops" up, 
since it's at the bottom).

I also use Clementine, and it's very natural to have its library pane sorted by 
Genre/Artist/Album.  This is how I think of my music, by genre first.  If 
Cantata had this feature, it'd be practically perfect.  :)

Original issue reported on code.google.com by alphadel...@gmail.com on 18 Feb 2015 at 9:49

GoogleCodeExporter commented 9 years ago
No. A song may belong to more than 1 genre - Cantata, and MPD support multiple 
genres per track. Grouping under genre would break this.

Why is it easier to scroll a list of genres (as per Clementine, etc) - but not 
to scroll a list on a combo? A list is a list.

Cantata has always been this way, and will continue to be. I realise its 
different to other music players - but so be it. If this is not acceptable to 
you, then please provide a patch to achieve what you wish - whilst keeping 
existing features.

Original comment by craig.p....@gmail.com on 19 Feb 2015 at 5:56

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Thanks for your quick reply.

Maybe I can show you what I mean to make my request more clear.  Here are some 
screenshots of Clementine and Cantata displaying similar data from my music 
library:

http://imgur.com/ko5Ajgv,EqMlgbu,Yn2Bz64  (I'm also attaching them to this 
message.)

In the first picture, you can see Clementine displaying all tracks filtered by 
the query "assad", and displayed in a tree sorted first by genre, then by 
artist, then by album.  You can see how the album "Echoes of Brazil" contains 
tracks in different genres, so the same album is listed under more than one 
genre, with the appropriate tracks from that album listed in the appropriate 
genre.

In the second picture, you can see Cantata with the genre list displayed.  
There are a few ways that this is less than optimal:

1) It covers the entire Cantata window, obscuring the current view of tracks.
2) It doesn't fit on the screen, but rather than a scrollbar, there are only 
the very narrow buttons that appear at the top and bottom edges of the list, 
which cause the list to scroll when the cursor is hovered over them.
3) The genres cannot be seen except while the list is expanded, which means 
they can't be seen at the same time as the artists, albums, or tracks.

Basically, a drop-down list like this is not the best widget to use for a long 
list of data.  The genre is a property of the tracks in the music library 
nearly as important as the artist or album names, but it's relegated to a 
widget at the bottom of the screen that prevents it from being very useful.  
It's actually not very noticeable either: I almost didn't notice that it 
existed, thinking that there was no genre support at all in Cantata.  I'm sure 
I'm not the only one who's experienced this.  :)

In the third picture, you can see Cantata displaying tracks matching the query 
"assad", like in Clementine in the first picture.  But since the genre isn't 
displayed in the tree, it's not possible to distinguish tracks in different 
genres.  To do this you have to filter by each genre in turn and try to 
remember which tracks are in which genre, or hover over each track and wait for 
the tooltip.

Also, notice that the two tracks in the "Echoes of Brazil" album are displayed 
separately, under two "Echoes of Brazil" album entries, instead of being under 
the same album entry.  This is because one track is in the "Brazilian" genre 
while the other is in the "Classical Guitar" genre.  The only way to find this 
out is to hover over each track and wait for the tooltip to be displayed.  In 
contrast, with grouping by genre like in the Clementine example, it's easy to 
understand and visually sort through.

You said that grouping by genre would break multiple-genre-per-track support.  
I don't think that would be the case.  Albums can have tracks in multiple 
genres already, and the album is displayed for each genre separately in the 
tree, even though the genre is hidden from view.  A track in multiple genres 
could simply be displayed under each genre separately, just as albums covering 
multiple genres are now.

I hope this clarifies what I'm requesting and the reasons why.  I only recently 
discovered and started using Cantata when I started using mpd, and I'm quite 
impressed by it.  It seems like by far the best mpd client, and I just want to 
help make it even better.  :)

Original comment by alphadel...@gmail.com on 19 Feb 2015 at 10:57

Attachments:

GoogleCodeExporter commented 9 years ago
I am well aware of how Clementine and Amarok handle genres - I used Amarok 1.4 
for many years. However, I do *not* like the splitting of albums - how do you 
play a full album? It's a mess that *I* do not like.

A drop down list is *fine* for a large amount of data - its the same as a 
listview (in fact I think Qt uses a listview widget). your problem is that the 
*style* you are using is not adding scrollbars, and is allowing the list to be 
so large. If you used Oxygen, you would find a much smaller list. (The genre 
combo did have code to work-around this (force scrollbars, restrict height), 
but I removed it for some reason - perhaps I can re-add this) Also using the 
combo allows *me* to mouse-wheel through the genres...

No *tracks* *can* have multiple genres - Cantata gets its album genres by 
creating the set of all track genres. A track could be 'Rock;Classic Rock' for 
instance - this is two genres. (I know this is a highly made up example, but it 
is possible - and I *have* had users ask about multiple tags (genres 
specifically) per *track*)

Your method of splitting per genre would *not* work for tracks with multiple 
genres.

With Cantata's way - the genre combo is only a filter, so it only displays 
tracks that pass the filter. But, if you want to play the *full* album you just 
need to click its '>' or '+' buttons - only want the tracks that pass the genre 
filter, then just select all the album tracks and drag'n'drop

Your other point about the split "Echoes of Brazil" album has *nothing* to do 
with genres. Cantata will group albums based upon the album name *and* its 
"music brainz album id". Seeing as the track number is also wrong for these 
tracks, I'm guessing there is an issue with your tags. Still, out of scope for 
this issue.

p.s. Looks like you are using QtCurve - which I originally wrote years ago. 
However looking at the up arrows on scrollbars, these are not drawn correctly - 
I suggest you create a QtCruve bug report so that the new maintainers can fix 
this (or rather un-break it!)

Original comment by craig.p....@gmail.com on 20 Feb 2015 at 8:29

GoogleCodeExporter commented 9 years ago
All that being said, I *might* replace the 'Artists' and 'Albums' views with a 
single 'Collection' view - and have an option as to how to group the 
collection; Artists, Albums, Genres :-)

Therefore the genre combo would only be required if grouped via artists or 
albums...

Accepted, for now :)

Original comment by craig.p....@gmail.com on 20 Feb 2015 at 8:42

GoogleCodeExporter commented 9 years ago
Always nice to meet a fellow Amarok 1.4 fan.  :)

I don't play by album often myself, but there are a couple of ways Clementine 
can do that, if that's what you were asking:  1) Sort the library by 
Artist/Album instead of Genre/Artist/Album, and then albums won't be split 
across genres; then add the tracks to the playlist.  2) Add the tracks you want 
to the playlist, then turn on Random Album mode.

Alas, despite being a KDE fan, I'm not an Oxygen fan.  Yes, the scroll wheel 
does work in the list.

Yes, I realize that some file formats' tags allow for multiple genres per 
track, such as ID3v2+, or 2.1+, or whatever.  :)  And, of course, a format like 
Ogg could support that easily, being plain key/value pairs.  It doesn't sound 
like many clients support it, but that's a nice feature to have.

> Your method of splitting per genre would *not* work for tracks with multiple 
genres.

I'm not sure what you mean.  Couldn't a track be displayed under multiple 
genres, similarly to how an album can be displayed under multiple genres?

I guess it's confusing to me for genres to be handled as a filter instead of 
being a tag like artist/album, etc.  I've never seen a music player that 
handles genre this way.  I'm used to it being just another piece of data that 
can be displayed and sorted and grouped by.  What's probably most inconvenient 
about doing it this way is that the genre list collapses to the chosen genre, 
so then you can't see the genres while you're using the library view.

Thanks for the tip about the MB album ID.  I didn't know Cantata uses that tag. 
 A few of my tracks do have that tag, since I've used Picard to adjust some of 
their tags.  You were right, one of those "Echoes of Brazil" tracks had an MB 
album ID tag, and the other didn't.  As you said, it's out of scope for this 
issue, but I wonder if that feature should be on by default.  I think most 
people don't have MB album ID tags in their music files, and being a hidden 
feature, it seems likely to confuse people, like it did me.  ;)

And yes, I am indeed using QtCurve!  I have for many years now!  I didn't make 
the connection to your name.  It's a pleasure to "meet" the author of my 
favorite Qt style.  :)  I love how it lets me customize so many settings and 
make everything just how I like it.

Anyway, yes, I like your idea of having a unified collection/library view with 
configurable grouping.  That would be great.  It would be more powerful but 
also simpler to use.  I'm afraid the Qt coding is beyond my area of expertise, 
but please let me know if I can help with this somehow.

Thanks for talking through this with me.  :)

Original comment by alphadel...@gmail.com on 23 Feb 2015 at 8:20

GoogleCodeExporter commented 9 years ago
Your ways of adding albums in Clementine are a bit awkward to say the least :-)

Anyhow, my proposal allows for the existing behaviour (when grouped by artists 
or albums, the genre combo would still be there) and for the Clementine 
behaviour.

As to having never seen a music player handle genres the way Cantata does - 
that is not a valid reason for it not being that way. There are plenty of music 
players - and they do not all have to be the same. If so, what would the point 
be?

As to MB album ID - if you don't want to have this used, don't configure MPD to 
use it. Cantata is only using the tags as supplied by MPD. The usage of this ID 
was added to distinguish between multiple releases of the same album - at the 
request of another user.

Please bear in mind that it is not easy (or possible?) to create a music player 
that meets everyone's requirements. Cantata already meets my use cases - and 
has for quite a few releases. I don't use genres, don't have multiple copies of 
the same album, don't use Magantune/Jamendo/Podcasts, don't have 5000 albums in 
my collection, etc. All this is added at the request of others.

Original comment by craig.p....@gmail.com on 23 Feb 2015 at 12:56