pics << item;
if (NAMES.contains(item.baseName().toLower())) {
emit found(QImage(item.absoluteFilePath()));
+ emit foundPath(item.absoluteFilePath());
return true;
}
}
foreach (QFileInfo item, appropriate_pics) {
if (item.baseName().toLower().contains(name)) {
emit found(QImage(item.absoluteFilePath()));
+ emit foundPath(item.absoluteFilePath());
return true;
}
}
foreach (QFileInfo item, appropriate_pics) {
if (!unprior.contains(item)) {
emit found(QImage(item.absoluteFilePath()));
+ emit foundPath(item.absoluteFilePath());
return true;
}
}
}
emit found(QImage(unprior.at(0).absoluteFilePath()));
+ emit foundPath(unprior.at(0).absoluteFilePath());
return true;
}
foreach(QFileInfo item, dirs) {
void CoverFinder::find(Track track) {
QFileInfo filePath(track.source());
- QtConcurrent::run(this, &CoverFinder::_async_find, filePath, track.metadata().artist(), track.metadata().album());
+ QtConcurrent::run(this, &CoverFinder::_async_find, filePath, track);
}
-bool CoverFinder::_async_find(QFileInfo filePath, QString artist, QString album) {
- if (!_find(filePath.absolutePath()) && !_tfind(artist, album) && !_extract(filePath.absoluteFilePath())) {
+bool CoverFinder::_async_find(QFileInfo filePath, Track track) {
+ if (!_find(filePath.absolutePath()) && !_tfind(track.metadata().artist(), track.metadata().album()) &&
+ !_malfind(filePath.absolutePath()+"/.mediaartlocal/"+track.mediaArtLocal()) &&
+ !_extract(filePath.absoluteFilePath())) {
emit found(_defaultCover);
return false;
}
bool CoverFinder::_tfind(QString artist, QString album) {
QString aname = artist.toLower();
+ QString aalbum = album.toLower();
aname.replace("/", "");
- QString aaname = aname+" - "+album;
+ QString aaname = aname+" - "+aalbum;
aaname.replace("/", "");
QString fname1 = QDir::homePath()+"/.covers/"+aaname+".jpg";
QString fname2 = QDir::homePath()+"/.covers/"+aname+".jpg";
if (QFile::exists(fname1)) {
emit found(QImage(fname1));
+ emit foundPath(fname1);
return true;
} else if (QFile::exists(fname2)) {
emit found(QImage(fname2));
+ emit foundPath(fname2);
+ return true;
+ }
+ return false;
+}
+
+bool CoverFinder::_malfind(QString path) {
+ if (QFile::exists(path)) {
+ emit found(QImage(path));
+ emit foundPath(path);
return true;
}
return false;