Amarok 1.4 collection and artwork importing

Pedro de Carvalho Gomes pedrogomes81 at gmail.com
Wed Oct 28 20:04:32 UTC 2009


Hi,

All the issues I'm describing here are related to Amarok 2.2 truck,
pulled from git repository. I'm running OpenSuse 11.1, KDE 4.3.2 (From
OpenSuse 4.3.x repository).

The first issue is about the import of my collection from Amarok 1.4.
It imports only part of my collection (1604 out of 3400 musics). I've
checked the source code
(src/databaseimporter/amarok14/FastForwardWorker.cpp), and I see that
the SQL query trusts the information presented at the "statistics"
table. The thing is that "statistics" table contains information of
music that has been played at least once. So, if a song has never been
played it would not be imported. Also, the table contains information
of songs from removable devices (i.e iPod) that probably aren't
present when importing. Below are two example lines from my
"statistics" table dump: the first one shows a bad entry about a song
from my iPod. The second is an ordinary and valid entry:

/iPod_Control/Music/F01/USLG.mp3|2|1208408141|1209562831|9.5|0|3||0
./dados/mp3/B/Barão Vermelho/Malandragem Da Um
Tempo.mp3|-1|1208452330|1214098269|79.0|0|2|amarok-sqltrackuid://e6ecb3fc5326ff474dbcdd21620beb68|0

The fact is that ALL song from my collection are listed on the "tags"
label. So I consider that it would be correct if the SQL query would
do a left outer join from "tags" and "statistics" first. It would
eliminate the files from removable devices, keeping all my local
songs, but preserving statistics from songs already played. I've
proposed a new SQL query and attached the diff file to this message. I
am not totally familiar with the Amarok 1.4 DB schema (I've dumped it
and tried to figure it out by myself), so I would appreciate a any
help from experienced users on this.

The second issue is related to the importation of my artwork from
Amarok 1.4. The line below from FastForwardWorker.cpp shows that all
Amarok does is to copy each file from
~/.kde/share/apps/amarok/albumcovers/large to
~/.kde4/share/apps/amarok/albumcovers/large.

Line 332: KIO::FileCopyJob *job = KIO::file_copy( src, dst, -1 /*no
special perms*/ , KIO::HideProgressInfo );

But it takes too long. If I copy the image files (about 192MiB) using
the 'cp' command from shell, it would take less than one minute. But
if I import the same files using the import wizard, it takes almost 2
hours.  I've started amarok with debug on. So whenever I try to import
artwork, I get the message below for each of the image files I try to
import:

amarok:    image copy: "e173e4437e8ff6b14e85ddfa6da8f42b"  :
"/home/pcgomes/.kde/share/apps/amarok/albumcovers/large/e173e4437e8ff6b14e85ddfa6da8f42b"
QObject::connect: Cannot queue arguments of type 'KIO::filesize_t'
(Make sure 'KIO::filesize_t' is registered using qRegisterMetaType().)
QObject::connect: Cannot queue arguments of type 'KIO::filesize_t'
(Make sure 'KIO::filesize_t' is registered using qRegisterMetaType().)

Does this message means anything? Does anyone have a clue why is it so
slow? This would be very helpful for me to solve this problem.

Thanks in advance,

Pedro Gomes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: amarok14_import.diff
Type: application/octet-stream
Size: 1588 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/amarok/attachments/20091028/5f5960be/attachment.obj>


More information about the Amarok mailing list