From 52e75244fc604bb371d92bc6b5de941789222483 Mon Sep 17 00:00:00 2001 From: Tobias Rundstrom Date: Sun, 5 Mar 2006 16:15:07 -0300 Subject: [PATCH] Fix various artists in medialib. --- Medialib.cpp | 2 +- PlaylistList.cpp | 6 +++++- TextBar.cpp | 3 --- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Medialib.cpp b/Medialib.cpp index cf75217..4b6848a 100644 --- a/Medialib.cpp +++ b/Medialib.cpp @@ -57,7 +57,7 @@ MedialibList::MedialibList (QWidget *parent) : QListWidget (parent) dir.mkpath (dir.path ()); } - xmmsh->medialibQuery ("select distinct m1.value as artist, ifnull(m2.value,'[unknown]') as album, m4.value as image from Media m1 left join Media m2 on m1.id = m2.id and m2.key='album' left join Media m3 on m1.id = m3.id and m3.key='compilation' left join Media m4 on m4.id = m1.id and m4.key='album_front_small' where m1.key='artist' and m3.value is null"); + xmmsh->medialibQuery ("select distinct ifnull(nullif(ifnull(nullif(ifnull(m3.value,0),1),'Various Artists'),0),m1.value) as artist, ifnull(m2.value,'[unknown]') as album, m4.value as image from Media m1 left join Media m2 on m1.id = m2.id and m2.key='album' left join Media m3 on m1.id = m3.id and m3.key='compilation' left join Media m4 on m4.id = m1.id and m4.key='album_front_small' where m1.key='artist' order by artist, album"); connect (xmmsh, SIGNAL (medialibResponse (QList >)), this, SLOT (queryCallback (QList >))); diff --git a/PlaylistList.cpp b/PlaylistList.cpp index 9572a80..66859ca 100644 --- a/PlaylistList.cpp +++ b/PlaylistList.cpp @@ -398,7 +398,11 @@ PlaylistList::dropEvent (QDropEvent *event) stream >> album; QString query; - query.sprintf ("select m1.id as id, ifnull(m3.value,-1) as tracknr from Media m1 join Media m2 on m1.id = m2.id and m2.key='album' left join Media m3 on m1.id = m3.id and m3.key='tracknr' where m1.key='artist' and m1.value='%s' and m2.value='%s' order by tracknr", artist.toUtf8 ().data (), album.toUtf8 ().data ()); + if (artist == "Various Artists") { + query.sprintf ("select m1.id as id, ifnull(m3.value,-1) as tracknr from Media m1 join Media m2 on m1.id = m2.id and m2.key='compilation' left join Media m3 on m1.id = m3.id and m3.key='tracknr' where m1.key='album' and m1.value='%s' and m2.value=1 order by tracknr", album.toUtf8 ().data ()); + } else { + query.sprintf ("select m1.id as id, ifnull(m3.value,-1) as tracknr from Media m1 join Media m2 on m1.id = m2.id and m2.key='album' left join Media m3 on m1.id = m3.id and m3.key='tracknr' where m1.key='artist' and m1.value='%s' and m2.value='%s' order by tracknr", artist.toUtf8 ().data (), album.toUtf8 ().data ()); + } xmmsh->medialibQueryAdd (query); diff --git a/TextBar.cpp b/TextBar.cpp index 93f306a..54ed029 100644 --- a/TextBar.cpp +++ b/TextBar.cpp @@ -147,9 +147,6 @@ TextScroller::drawBitmapFont (QString text) QPixmap p = skin->getLetter (t[i]); if (p.isNull ()) { p = skin->getLetter(' '); - if (p.isNull ()) { - qDebug ("abort ffs!"); - } } paint.drawPixmap (QRect ((i * 6), m_y, 4, 6),