void scannFolder(string path) { try { foreach (string folder in Directory.GetDirectories((string)path)) { scannFolder(folder); } foreach (string extension in mExtensions) { foreach (string file in Directory.GetFiles((string)path, extension)) { if (mFilter != null && !mFilter.IsPassing(file)) { continue; } long position = getPosition(file); mFiles.Add(new MediaFile(file, position)); } } } catch (PathTooLongException) { } }