bluetooth: add a2dp metadata and avrcp controls
[apps/mediaplayer.git] / app / main.cpp
index 12654ad..dd84f59 100644 (file)
 #include <libhomescreen.hpp>
 #endif
 
+#ifdef HAVE_LIGHTMEDIASCANNER
+#include "lightmediascanner.h"
+#endif
+
+#ifdef HAVE_DBUS
+#include "dbus.h"
+#endif
+
 #include "playlistwithmetadata.h"
 
+#ifndef HAVE_LIGHTMEDIASCANNER
 QVariantList readMusicFile(const QString &path)
 {
     QVariantList ret;
@@ -43,6 +52,7 @@ QVariantList readMusicFile(const QString &path)
     }
     return ret;
 }
+#endif
 
 int main(int argc, char *argv[])
 {
@@ -62,15 +72,32 @@ int main(int argc, char *argv[])
     qmlRegisterType<PlaylistWithMetadata>("MediaPlayer", 1, 0, "PlaylistWithMetadata");
 
     QVariantList mediaFiles;
+
+#ifdef HAVE_LIGHTMEDIASCANNER
+    mediaFiles = LightMediaScanner::processLightMediaScanner();
+#else
+    QString music;
+
     for (const auto &music : QStandardPaths::standardLocations(QStandardPaths::MusicLocation)) {
         mediaFiles.append(readMusicFile(music));
     }
+#endif
 
     QQmlApplicationEngine engine;
     QQmlContext *context = engine.rootContext();
     context->setContextProperty("mediaFiles", mediaFiles);
+
+#if defined(HAVE_DBUS)
+    DbusService dbus_service;
+    context->setContextProperty("dbus", &dbus_service);
+#if defined(HAVE_LIGHTMEDIASCANNER)
+    if (!dbus_service.enableLMS())
+       qWarning() << "Cannot run enableLMS";
+#endif
+    if (!dbus_service.enableBluetooth())
+       qWarning() << "Cannot run enableBluetooth";
+#endif
     engine.load(QUrl(QStringLiteral("qrc:/MediaPlayer.qml")));
 
     return app.exec();
 }
-