Speedup?
This commit is contained in:
@@ -155,6 +155,9 @@ void MtpConnection::updateLibrary()
|
||||
musicPath=musicFolder.value().path;
|
||||
}
|
||||
}
|
||||
|
||||
MusicLibraryItemArtist *artistItem = 0;
|
||||
MusicLibraryItemAlbum *albumItem = 0;
|
||||
while (track) {
|
||||
QMap<int, Folder>::ConstIterator it=folderMap.find(track->parent_id);
|
||||
Song s;
|
||||
@@ -174,8 +177,13 @@ void MtpConnection::updateLibrary()
|
||||
s.track=track->tracknumber;
|
||||
s.fillEmptyFields();
|
||||
trackMap.insert(track->item_id, track);
|
||||
MusicLibraryItemArtist *artistItem = library->artist(s);
|
||||
MusicLibraryItemAlbum *albumItem = artistItem->album(s);
|
||||
|
||||
if (!artistItem || s.albumArtist()!=artistItem->data()) {
|
||||
artistItem = library->artist(s);
|
||||
}
|
||||
if (!albumItem || albumItem->parent()!=artistItem || s.album!=albumItem->data()) {
|
||||
albumItem = artistItem->album(s);
|
||||
}
|
||||
MusicLibraryItemSong *songItem = new MusicLibraryItemSong(s, albumItem);
|
||||
|
||||
albumItem->append(songItem);
|
||||
|
||||
@@ -95,6 +95,8 @@ void MusicScanner::scanFolder(const QString &f, int level)
|
||||
if (level<4) {
|
||||
QDir d(f);
|
||||
QFileInfoList entries=d.entryInfoList(QDir::Files|QDir::NoSymLinks|QDir::Dirs|QDir::NoDotAndDotDot);
|
||||
MusicLibraryItemArtist *artistItem = 0;
|
||||
MusicLibraryItemAlbum *albumItem = 0;
|
||||
foreach (const QFileInfo &info, entries) {
|
||||
if (stopRequested) {
|
||||
return;
|
||||
@@ -110,8 +112,12 @@ void MusicScanner::scanFolder(const QString &f, int level)
|
||||
|
||||
song.fillEmptyFields();
|
||||
song.size=info.size();
|
||||
MusicLibraryItemArtist *artistItem = library->artist(song);
|
||||
MusicLibraryItemAlbum *albumItem = artistItem->album(song);
|
||||
if (!artistItem || song.albumArtist()!=artistItem->data()) {
|
||||
artistItem = library->artist(song);
|
||||
}
|
||||
if (!albumItem || albumItem->parent()!=artistItem || song.album!=albumItem->data()) {
|
||||
albumItem = artistItem->album(song);
|
||||
}
|
||||
MusicLibraryItemSong *songItem = new MusicLibraryItemSong(song, albumItem);
|
||||
|
||||
albumItem->append(songItem);
|
||||
|
||||
@@ -607,7 +607,7 @@ bool MusicLibraryModel::fromXML(const QDateTime dbUpdate)
|
||||
if (root) {
|
||||
if (QLatin1String("Artist")==element) {
|
||||
song.albumartist=reader.attributes().value("name").toString();
|
||||
artistItem = root->artist(song);
|
||||
artistItem = root->createArtist(song);
|
||||
}
|
||||
else if (QLatin1String("Album")==element) {
|
||||
song.album=reader.attributes().value("name").toString();
|
||||
@@ -615,7 +615,7 @@ bool MusicLibraryModel::fromXML(const QDateTime dbUpdate)
|
||||
if (!song.file.isEmpty()) {
|
||||
song.file.append("dummy.mp3");
|
||||
}
|
||||
albumItem = artistItem->album(song);
|
||||
albumItem = artistItem->createAlbum(song);
|
||||
if (QLatin1String("true")==reader.attributes().value("singleTracks").toString()) {
|
||||
albumItem->setIsSingleTracks();
|
||||
}
|
||||
|
||||
@@ -300,6 +300,8 @@ MusicLibraryItemRoot * MPDParseUtils::parseLibraryItems(const QByteArray &data)
|
||||
QByteArray currentItem;
|
||||
QList<QByteArray> lines = data.split('\n');
|
||||
int amountOfLines = lines.size();
|
||||
MusicLibraryItemArtist *artistItem = 0;
|
||||
MusicLibraryItemAlbum *albumItem = 0;
|
||||
|
||||
for (int i = 0; i < amountOfLines; i++) {
|
||||
currentItem += lines.at(i);
|
||||
@@ -313,8 +315,13 @@ MusicLibraryItemRoot * MPDParseUtils::parseLibraryItems(const QByteArray &data)
|
||||
}
|
||||
|
||||
currentSong.fillEmptyFields();
|
||||
MusicLibraryItemArtist *artistItem = rootItem->artist(currentSong);
|
||||
MusicLibraryItemAlbum *albumItem = artistItem->album(currentSong);
|
||||
if (!artistItem || currentSong.albumArtist()!=artistItem->data()) {
|
||||
artistItem = rootItem->artist(currentSong);
|
||||
}
|
||||
if (!albumItem || albumItem->parent()!=artistItem || currentSong.album!=albumItem->data()) {
|
||||
albumItem = artistItem->album(currentSong);
|
||||
}
|
||||
|
||||
MusicLibraryItemSong *songItem = new MusicLibraryItemSong(currentSong, albumItem);
|
||||
|
||||
albumItem->append(songItem);
|
||||
|
||||
Reference in New Issue
Block a user