#include "playlistwithmetadata.h"
-#ifndef HAVE_LIGHTMEDIASCANNER
-QVariantList readMusicFile(const QString &path)
-{
- QVariantList ret;
- QDir dir(path);
- for (const auto &entry : dir.entryList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot, QDir::Name)) {
- QFileInfo fileInfo(dir.absoluteFilePath(entry));
- if (fileInfo.isDir()) {
- ret.append(readMusicFile(fileInfo.absoluteFilePath()));
- } else if (fileInfo.isFile()) {
- ret.append(QUrl::fromLocalFile(fileInfo.absoluteFilePath()));
- }
- }
- return ret;
-}
-#endif
-
int main(int argc, char *argv[])
{
#ifdef HAVE_LIBHOMESCREEN
QQmlApplicationEngine engine;
QQmlContext *context = engine.rootContext();
-#ifndef HAVE_LIGHTMEDIASCANNER
- QVariantList mediaFiles;
- QString music;
-
- for (const auto &music : QStandardPaths::standardLocations(QStandardPaths::MusicLocation)) {
- mediaFiles.append(readMusicFile(music));
- }
-
- context->setContextProperty("mediaFiles", mediaFiles);
-#endif
-
QCommandLineParser parser;
parser.addPositionalArgument("port", app.translate("main", "port for binding"));
parser.addPositionalArgument("secret", app.translate("main", "secret for binding"));
json_object_object_add(jresp, "Media", jarray);
- // TODO: Add media path
- jstring = json_object_new_string("");
- json_object_object_add(jresp, "Path", jstring);
-
return jresp;
}
ListLock();
list = media_lightmediascanner_scan();
+ list = media_local_scan(list);
if (list == NULL) {
afb_req_fail(request, "failed", "media scan error");
ListUnlock();
}
+GList* media_local_scan(GList *list)
+{
+ gchar *path = g_strconcat(g_get_home_dir(), "/", "Music", NULL);
+ gchar *tmp = NULL;
+ GDir *dir;
+
+ dir = g_dir_open(path, 0, NULL);
+ if (dir == NULL)
+ {
+ LOGE("Cannot open media path %s\n", path);
+ return list;
+ }
+
+ while ((tmp = (gchar *) g_dir_read_name(dir)) != NULL)
+ {
+ list = g_list_append(list, g_strdup_printf("file://%s/%s", path, tmp));
+ }
+
+ g_free(path);
+ g_dir_close(dir);
+
+ return list;
+}
+
GList* media_lightmediascanner_scan(void)
{
sqlite3 *conn;