summaryrefslogtreecommitdiffstats
path: root/app/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'app/main.cpp')
-rw-r--r--app/main.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/app/main.cpp b/app/main.cpp
index 12654ad..74ebad3 100644
--- a/app/main.cpp
+++ b/app/main.cpp
@@ -27,8 +27,13 @@
#include <libhomescreen.hpp>
#endif
+#ifdef HAVE_LIGHTMEDIASCANNER
+#include "lightmediascanner.h"
+#endif
+
#include "playlistwithmetadata.h"
+#ifndef HAVE_LIGHTMEDIASCANNER
QVariantList readMusicFile(const QString &path)
{
QVariantList ret;
@@ -43,6 +48,7 @@ QVariantList readMusicFile(const QString &path)
}
return ret;
}
+#endif
int main(int argc, char *argv[])
{
@@ -62,9 +68,22 @@ int main(int argc, char *argv[])
qmlRegisterType<PlaylistWithMetadata>("MediaPlayer", 1, 0, "PlaylistWithMetadata");
QVariantList mediaFiles;
+ QString music;
+
+#ifdef HAVE_LIGHTMEDIASCANNER
+ LightMediaScanner scanner(QDir::homePath() + "/.config/lightmediascannerd/db.sqlite3");
+ while (scanner.next(music)) {
+ QFileInfo fileInfo(music);
+ // Possible for stale entries due to removable media
+ if (!fileInfo.exists())
+ continue;
+ mediaFiles.append(QUrl::fromLocalFile(music));
+ }
+#else
for (const auto &music : QStandardPaths::standardLocations(QStandardPaths::MusicLocation)) {
mediaFiles.append(readMusicFile(music));
}
+#endif
QQmlApplicationEngine engine;
QQmlContext *context = engine.rootContext();