summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRJ Ryan <rryan@mixxx.org>2014-10-25 22:16:43 -0400
committerRJ Ryan <rryan@mixxx.org>2014-10-25 22:16:43 -0400
commit08edc492fb38614cfcdb0d96c1dd5e0518d50cee (patch)
tree4dc0a26f2fd98fdf15344268bbdbba4a79365489 /src
parent32d9da90671057e35f4e8d5af5f33f19e0be970f (diff)
Avoid doing file I/O in the main thread.
Diffstat (limited to 'src')
-rw-r--r--src/library/coverartcache.cpp3
-rw-r--r--src/library/dao/coverartdao.cpp1
-rw-r--r--src/library/dao/coverartdao.h1
-rw-r--r--src/test/coverartcache_test.cpp11
-rw-r--r--src/test/coverartdao_test.cpp1
-rw-r--r--src/widget/wcoverartmenu.cpp1
6 files changed, 7 insertions, 11 deletions
diff --git a/src/library/coverartcache.cpp b/src/library/coverartcache.cpp
index 32433ff4db..838167a054 100644
--- a/src/library/coverartcache.cpp
+++ b/src/library/coverartcache.cpp
@@ -236,8 +236,9 @@ CoverArtCache::FutureResult CoverArtCache::searchImage(
// Looking for cover stored in track diretory.
if (res.img.isNull()) {
+ QString trackBaseName = QFileInfo(coverInfo.trackLocation).baseName();
res.coverLocation = CoverArtUtils::searchInTrackDirectory(
- coverInfo.trackDirectory, coverInfo.trackBaseName, coverInfo.album);
+ coverInfo.trackDirectory, trackBaseName, coverInfo.album);
res.img = CoverArtUtils::maybeResizeImage(QImage(res.coverLocation),
kMaxCoverSize);
}
diff --git a/src/library/dao/coverartdao.cpp b/src/library/dao/coverartdao.cpp
index 7be3220a97..d175eecc80 100644
--- a/src/library/dao/coverartdao.cpp
+++ b/src/library/dao/coverartdao.cpp
@@ -178,7 +178,6 @@ CoverArtDAO::CoverArtInfo CoverArtDAO::getCoverArtInfo(int trackId) {
coverInfo.trackDirectory = query.value(3).toString();
QString filename = query.value(4).toString();
coverInfo.trackLocation = query.value(5).toString();
- coverInfo.trackBaseName = QFileInfo(filename).baseName();
return coverInfo;
}
diff --git a/src/library/dao/coverartdao.h b/src/library/dao/coverartdao.h
index ba242c8a42..e006a9d078 100644
--- a/src/library/dao/coverartdao.h
+++ b/src/library/dao/coverartdao.h
@@ -32,7 +32,6 @@ class CoverArtDAO : public DAO {
QString coverLocation;
QString hash;
QString album;
- QString trackBaseName;
QString trackDirectory;
QString trackLocation;
};
diff --git a/src/test/coverartcache_test.cpp b/src/test/coverartcache_test.cpp
index 18c5e147b1..c52f465a5e 100644
--- a/src/test/coverartcache_test.cpp
+++ b/src/test/coverartcache_test.cpp
@@ -134,7 +134,6 @@ TEST_F(CoverArtCacheTest, searchImage) {
"", // cInfo.coverLocation
"", // cInfo.hash
"album_name", // cInfo.album
- "track", // cInfo.trackBaseName
trackdir, // cInfo.trackDirectory
trackdir % "/track.mp3" // cInfo.trackLocation
};
@@ -160,7 +159,7 @@ TEST_F(CoverArtCacheTest, searchImage) {
EXPECT_EQ(img, res.img);
// setting image source and default format
- cInfo.trackLocation = trackdir % "/" % cInfo.trackBaseName % ".mp3";
+ cInfo.trackLocation = trackdir % "/track.mp3";
img = QImage(kCoverLocationTest);
const char* format("jpg");
@@ -199,7 +198,7 @@ TEST_F(CoverArtCacheTest, searchImage) {
// saving more covers using the preferred names in the right order
QStringList prefCovers;
// 1. track_filename.jpg
- QString cLoc_filename = QString(trackdir % "/" % cInfo.trackBaseName % ".");
+ QString cLoc_filename = QString(trackdir % "/track.");
cLoc_filename.append(format);
EXPECT_TRUE(img.scaled(500,500).save(cLoc_filename, format));
prefCovers << cLoc_filename;
@@ -252,17 +251,17 @@ TEST_F(CoverArtCacheTest, searchImage) {
// As we are looking for %album%.jpg and %base_track.jpg%,
// we need to check if everything works with UTF8 chars.
+ QString trackBaseName = QString::fromUtf8("track_ðÑöæäî");
const CoverArtDAO::CoverArtInfo cInfoUtf8 = {
2, // cInfo.trackId
"", // cInfo.coverLocation
"", // cInfo.hash
QString::fromUtf8("öæäîðÑ_album"), // cInfo.album
- QString::fromUtf8("track_ðÑöæäî"), // cInfo.trackBaseName
trackdir, // cInfo.trackDirectory
- trackdir % "/" % cInfo.trackBaseName % ".mp3" // cInfo.trackLocation
+ trackdir % "/" % trackBaseName % ".mp3" // cInfo.trackLocation
};
// 1. track_filename.jpg
- cLoc_filename = QString(trackdir % "/" % cInfoUtf8.trackBaseName % ".");
+ cLoc_filename = QString(trackdir % "/" % trackBaseName % ".");
cLoc_filename.append(format);
EXPECT_TRUE(img.save(cLoc_filename, format));
res = CoverArtCache::searchImage(cInfoUtf8, QSize(0,0), false);
diff --git a/src/test/coverartdao_test.cpp b/src/test/coverartdao_test.cpp
index d4d03f8b55..ee36b2b014 100644
--- a/src/test/coverartdao_test.cpp
+++ b/src/test/coverartdao_test.cpp
@@ -263,7 +263,6 @@ TEST_F(CoverArtDAOTest, getCoverArtInfo) {
EXPECT_QSTRING_EQ(coverLocation, coverInfo.coverLocation);
EXPECT_QSTRING_EQ(coverHash, coverInfo.hash);
EXPECT_QSTRING_EQ(album, coverInfo.album);
- EXPECT_QSTRING_EQ(file.baseName(), coverInfo.trackBaseName);
EXPECT_QSTRING_EQ(file.absolutePath(), coverInfo.trackDirectory);
EXPECT_QSTRING_EQ(trackLocation, coverInfo.trackLocation);
}
diff --git a/src/widget/wcoverartmenu.cpp b/src/widget/wcoverartmenu.cpp
index 59d645e735..5af8a7395e 100644
--- a/src/widget/wcoverartmenu.cpp
+++ b/src/widget/wcoverartmenu.cpp
@@ -124,7 +124,6 @@ void WCoverArtMenu::slotReload() {
info.album = m_pTrack->getAlbum();
info.trackDirectory = m_pTrack->getDirectory();
info.trackLocation = m_pTrack->getLocation();
- info.trackBaseName = QFileInfo(m_pTrack->getFilename()).baseName();
CoverArtCache::FutureResult res = pCache->searchImage(
info, QSize(0,0), false);
QPixmap px;