diff options
author | Matt Ranostay <matt.ranostay@konsulko.com> | 2017-03-09 20:47:33 -0800 |
---|---|---|
committer | Matt Ranostay <matt.ranostay@konsulko.com> | 2017-03-11 17:08:56 -0800 |
commit | b6fd2f54b570fd98ad8a716e886d7d35d132465c (patch) | |
tree | bc42938e0c5a73c887076cd4640d6ff96e57f429 /app/main.cpp | |
parent | 343b678105e68faf8c89a15f1a77a6c1d9b78600 (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.cpp | 19 |
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(); |