Fwd: Do not show under various artists

Seb Ruiz ruiz at kde.org
Tue Nov 11 05:00:53 CET 2008


---------- 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/



-- 
Seb Ruiz

http://www.sebruiz.net/
http://amarok.kde.org/


More information about the Amarok-devel mailing list