Fwd: Do not show under various artists

Martin Aumueller aumuell at reserv.at
Wed Nov 12 00:03:24 CET 2008


Handling of compilations is closely related to the 'album artist' tag. In my 
opinion this would render the 'compilation boolean' unnecessary: everything 
having the same album artist and the same album name is an album, and for 
compilations without meaningful album artist you would set it to 'Various 
Artists'.

In the UI, the 'this is a compilation' flag could be replaced by a method to 
set the album artist.

Storing a proper album artist in the songs tags would solve the persistence 
problem. As far as I know, most tag formats have a way to store an album 
artist. ID3v2 often uses the TPE2 tag for this purpose and m4a can handle it, 
flac seems to use "ENSEMBLE" or "ALBUM ARTIST". I have no idea about other 
formats, but I suppose most of them also can handle the album artist.


On Tue November 11 2008, Seb Ruiz wrote:
> ---------- Forwarded message ----------
> From: Seb Ruiz <ruiz at kde.org>
> Date: 2008/11/11
> Subject: Re: Do not show under various artists
> To: Amarok Mailing List <amarok at kde.org>
>
>
> Even though the patch seems perfectly valid...
>
> To be honest I suggest that we rethink compilation handling before we
> release Amarok 2. At least, rethink the database schema. We have a big
> problem in that we lose compilation information on a rescan.
>
> Additionally, I'd like to see a new column added to the albums table
> 'compilation boolean' which holds the information about the various
> artist value. Either true/false, or null if there has been no explicit
> value set.
>
> This doesn't solve persistance across rescans, which I think is an
> important feature we should strive to achieve.
>
> 2008/11/11 Gary Steinert <gary.steinert at gmail.com>:
> > This is a patch implementing the 'Do not show under Various Artists'
> > context menu action in the collection browser.
> > As far as I can tell, this isn't the prettiest of patches, but it gets
> > the job done.
> > Could someone please look this over and give me a nudge in the right
> > direction if it's not up to scratch. If I hear nothing in 48 hours I'll
> > commit anyway.
> >
> > Index: src/collection/sqlcollection/SqlMeta.cpp
> > ===================================================================
> > --- src/collection/sqlcollection/SqlMeta.cpp    (revision 882361)
> > +++ src/collection/sqlcollection/SqlMeta.cpp    (working copy)
> > @@ -1471,7 +1471,16 @@
> >         else
> >         {
> >             debug() << "User selected album as non-compilation";
> > -            //TODO find album artist
> > +
> > +            QString select = "SELECT artist FROM tracks WHERE album =
> > %1"; +            QStringList artistid = m_collection->query( select.arg(
> > m_id ) ); +
> > +            m_artistId = artistid[0].toInt();
> > +            m_artist = this->tracks()[0]->artist();
> > +
> > +            QString update = "UPDATE albums SET artist = %1 WHERE id =
> > %2;"; +            update = update.arg( m_artistId ).arg( m_id );
> > +            m_collection->query( update );
> >         }
> >         notifyObservers();
> >         m_collection->sendChangedSignal();
> >
> > Gary Steinert
> > _______________________________________________
> > Amarok mailing list
> > Amarok at kde.org
> > https://mail.kde.org/mailman/listinfo/amarok
>
> --
> Seb Ruiz
>
> http://www.sebruiz.net/
> http://amarok.kde.org/


More information about the Amarok-devel mailing list