Support for multiple genres in tags
Submitted by Matteo Settenvini
Created attachment 218815 Example of multiple genres in tags
I have a fairly large music library (~16'000 songs), and I use MusicBrainz Picard for tagging. One of the conventions I've seen it use to support multiple genres for songs is to separate them by a semi-colon followed by a space (e.g. "Rock; Classic Rock; Progressive Rock"). It turns out other people use the same convention, with or without the leading space (see for instance http://www.blisshq.com/music-library-management-blog/2011/03/12/multiple-genres-in-mp3s).
Supposedly, for ID3v2.4 tagged files, "Version 2.4 of the specification prescribes that the text fields (all the fields starting with a T except TXXX) can contain multiple values separated by a null character." [source: http://en.wikipedia.org/wiki/ID3]. Ogg files and some other formats have native support for multiple genre tags [source: http://www.xiph.org/vorbis/doc/v-comment.html]: "Field names are not required to be unique (occur once) within a comment header.".
It would really be helpful if Rhythmbox were able to recognize these situations and present a consistent view, leading to the same tracks to appear under different genres, and splitting the ID3 tag on semi-colons when storing data in the library. As it is of now (see attached screenshot) the genre panel for me is nearly useless. Sure, you can search for a genre, but you can't exclude easily - without a lot of clicking - related genres that are super-strings of a given genre. Also, it's ugly and not very good for browsing when opposed to searching (that is, not having already a clear idea what you want to listen to), because it's not naturally sorted ("Rock; Jazz" comes before "Jazz; Rock") :-p.
This would imply taking a decision about which tracks to show when selecting two genres with a non-null intersection. Taking the set union seems the natural answer, but you have to choose what to sort on in the Genre column, if it is visible in the main pane.
PS. Is this suitable for the "gnome-love" keyword, or is it too difficult?