MediaScanner::MediaScanner(QObject *parent) :
QThread(parent), _stopped(false), _initialized(false)
{
- REGISTERED_FILE_EXTENSIONS << "mp3" << "flac" << "wma" << "aac" << "ogg";
+ REGISTERED_FILE_EXTENSIONS << "mp3" << "flac" << "wma" << "aac" << "ogg" << "asf" << "ape" << "wav" << "m4a";
}
void MediaScanner::run() {
_stopped = true;
}
-void MediaScanner::_scan_directory(QDir dir) {
- QFileInfoList items = dir.entryInfoList(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot);
+QStringList MediaScanner::singleScan(QString path) {
+ _dir = path;
+ _foundMedia.clear();
+ return _scan_directory(_dir);
+}
+
+QStringList MediaScanner::scanForPlaylists(QString path) {
+ QStringList extensions_backup(REGISTERED_FILE_EXTENSIONS);
+ REGISTERED_FILE_EXTENSIONS.clear();
+ REGISTERED_FILE_EXTENSIONS << "m3u";
+ _dir = path;
+ _foundMedia.clear();
+ QStringList result = _scan_directory(_dir);
+ REGISTERED_FILE_EXTENSIONS.clear();
+ REGISTERED_FILE_EXTENSIONS.append(extensions_backup);
+ return result;
+}
+
+QStringList MediaScanner::_scan_directory(QDir dir) {
+ QFileInfoList items = dir.entryInfoList(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot | QDir::Hidden);
foreach (QFileInfo info, items) {
if (info.isDir()) {
QDir ndir(info.absoluteFilePath());
}
}
}
+ return _foundMedia;
}
void MediaScanner::stop() {