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() {
return;
_foundMedia.clear();
_scan_directory(_dir);
- _foundMedia = _scan_directory(_dir);
emit scanFinish(_foundMedia);
_stopped = true;
}
QStringList MediaScanner::singleScan(QString path) {
_dir = path;
+ _foundMedia.clear();
return _scan_directory(_dir);
}
-QStringList MediaScanner::_scan_directory(QDir dir) {
+QStringList MediaScanner::scanForPlaylists(QString path) {
+ QStringList extensions_backup(REGISTERED_FILE_EXTENSIONS);
+ REGISTERED_FILE_EXTENSIONS.clear();
+ REGISTERED_FILE_EXTENSIONS << "m3u";
+ _dir = path;
_foundMedia.clear();
- QFileInfoList items = dir.entryInfoList(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot);
+ 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());