[Rhythmbox-devel] Re: Compilation Grouping

> The problem is that it's tricky to 1) detect compilations and 2) to
> know where to store the info.  You can't always know if a particular
> track belongs to a compilation, because there may be duplicate album
> names.  (More integrated Musicbrainz support would probably help here,
> but is a non-trivial feature that needs to be added to Rhythmbox:
> http://bugs.gnome.org/104203)

> Should it be stored only RB's database, should it also be added to the
> files?  What kind of user interface would you need to specify that a
> particular set of tracks comprise a single compilation?

Yes, the problem is related to the lack of "albums" (as opposed to "album
names").  AFAIK iTunes uses a single boolean "compilation" tag and allows
the user to place all "compilation" songs under the same artist name
(namely "compilation").  And just like for all tags, iTunes can store the
tag in its own database if it is unable to add it to the song-file.

Automatically detecting if a song is part of a compilation or not is
trickier, as you say since two songs with the same album name but different
artists may simply be two songs from two different albums or two songs on
a single compilation album (or a mix of the two, of course).
There are some heuristics one can use to try and resolve the ambiguity:
- if two songs have the same track-nb and song-nb, they're probably not
  part of the same album.  So if we take the set of songs with the same
  album name and look at such overlaps we can get a lower-bound on the
  number of albums involved, then we can try and see how many of those
  albums can be non-compilations (have the same artist name) and finally we
  could assume the rest is part of some compilations.
- if the two song-files are not located in the same directory, we could
  assume they're not part of the same album.  This could actually turn into
  a kind of implicit tagging: by placing the files in different directories,
  the user can control whether they're handled as a compilation album
  or not.

-- Stefan

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]