summaryrefslogtreecommitdiffstats
path: root/app/main.cpp
diff options
context:
space:
mode:
authorMatt Ranostay <matt.ranostay@konsulko.com>2017-03-09 20:47:33 -0800
committerMatt Ranostay <matt.ranostay@konsulko.com>2017-03-11 17:08:56 -0800
commitb6fd2f54b570fd98ad8a716e886d7d35d132465c (patch)
treebc42938e0c5a73c887076cd4640d6ff96e57f429 /app/main.cpp
parent343b678105e68faf8c89a15f1a77a6c1d9b78600 (diff)
Add initial support for lightmediascanner
Initial support only checks that paths in lms database are valid and adds to playlist. Change-Id: I840414c51964122ee485c2c168fbe5bb81e48652 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
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();