libsaria: Create scan tasks for each subdirectory
I want to recursively scan each directory for music files.
This commit is contained in:
parent
5167c6f012
commit
1abdd945ae
|
@ -6,6 +6,12 @@
|
|||
#include "library.h"
|
||||
#include "path.h"
|
||||
|
||||
static void queue_dir_scan(string lib_dir, string scan_dir)
|
||||
{
|
||||
ScanTask *task = new ScanTask(lib_dir, scan_dir);
|
||||
libsaria_queue_task(task);
|
||||
}
|
||||
|
||||
void Library::add_path(string dir)
|
||||
{
|
||||
path_map.insert( pair<string, LibraryPath>(dir, LibraryPath(dir)) );
|
||||
|
@ -21,8 +27,7 @@ void Library::update_path(string dir)
|
|||
|
||||
void LibraryPath::update()
|
||||
{
|
||||
ScanTask *task = new ScanTask(path, path);
|
||||
libsaria_queue_task(task);
|
||||
queue_dir_scan(path, path);
|
||||
}
|
||||
|
||||
ScanTask::ScanTask(string base_dir, string scan_dir)
|
||||
|
@ -48,6 +53,8 @@ void ScanTask::run_task()
|
|||
readdir(dir, files, dirs);
|
||||
for (unsigned int i = 0; i < files.size(); i++)
|
||||
print("File: " + files[i].name);
|
||||
for (unsigned int i = 0; i < dirs.size(); i++)
|
||||
for (unsigned int i = 0; i < dirs.size(); i++) {
|
||||
print("Dir: " + dirs[i].name);
|
||||
queue_dir_scan(library, dir + "/" + dirs[i].name);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue