diff --git a/Playlist/PlaylistLoader.m b/Playlist/PlaylistLoader.m index e3a074326..dd3246d1e 100644 --- a/Playlist/PlaylistLoader.m +++ b/Playlist/PlaylistLoader.m @@ -65,8 +65,9 @@ extern NSMutableDictionary *kArtworkDictionary; } - (void)initDefaults { - NSDictionary *defaultsDictionary = @{ @"readCueSheetsInFolders": @(YES), - @"addOtherFilesInFolders": @(NO) }; + NSDictionary *defaultsDictionary = @{ @"readCueSheetsInFolders": @NO, + @"readPlaylistsInFolders": @NO, + @"addOtherFilesInFolders": @NO }; [[NSUserDefaults standardUserDefaults] registerDefaults:defaultsDictionary]; } @@ -252,13 +253,24 @@ NSMutableDictionary *dictionaryWithPropertiesOfObject(id obj, NSArray *filterLis NSArray *subpaths = [manager subpathsAtPath:path]; [[SandboxBroker sharedSandboxBroker] endFolderAccess:sbHandle]; + BOOL readCueSheets = [[NSUserDefaults standardUserDefaults] boolForKey:@"readCueSheetsInFolders"]; + BOOL readPlaylists = [[NSUserDefaults standardUserDefaults] boolForKey:@"readPlaylistsInFolders"]; + for(NSString *subpath in subpaths) { NSString *absoluteSubpath = [NSString pathWithComponents:@[path, subpath]]; BOOL isDir; if([manager fileExistsAtPath:absoluteSubpath isDirectory:&isDir] && isDir == NO) { - if([[absoluteSubpath pathExtension] caseInsensitiveCompare:@"cue"] != NSOrderedSame || - [[NSUserDefaults standardUserDefaults] boolForKey:@"readCueSheetsInFolders"]) { + BOOL readFile = YES; + NSString *ext = [absoluteSubpath pathExtension]; + if([ext caseInsensitiveCompare:@"cue"] == NSOrderedSame) { + readFile = readCueSheets; + } else if([ext caseInsensitiveCompare:@"m3u"] == NSOrderedSame || + [ext caseInsensitiveCompare:@"m3u8"] == NSOrderedSame || + [ext caseInsensitiveCompare:@"pls"] == NSOrderedSame) { + readFile = readPlaylists; + } + if(readFile) { [urls addObject:[NSURL fileURLWithPath:absoluteSubpath]]; } } diff --git a/Preferences/Preferences/Base.lproj/Preferences.xib b/Preferences/Preferences/Base.lproj/Preferences.xib index 4105ff38b..af1e431be 100644 --- a/Preferences/Preferences/Base.lproj/Preferences.xib +++ b/Preferences/Preferences/Base.lproj/Preferences.xib @@ -22,42 +22,20 @@ - + - - - - - - - - - - - - - + + - - - - + + + @@ -75,32 +53,20 @@ - - - - - - + + + + + + + @@ -118,9 +84,28 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Preferences/Preferences/en.lproj/Preferences.strings b/Preferences/Preferences/en.lproj/Preferences.strings index 4b3c5dc31..7fe1785fe 100644 --- a/Preferences/Preferences/en.lproj/Preferences.strings +++ b/Preferences/Preferences/en.lproj/Preferences.strings @@ -77,6 +77,9 @@ /* Class = "NSButtonCell"; title = "Read CUE sheets when adding folders to playlist"; ObjectID = "311"; */ "311.title" = "Read CUE sheets when adding folders to playlist"; +/* Class = "NSButtonCell"; title = "Read playlist files when adding folders to playlist"; ObjectID = "k2u-la-Kp8"; */ +"k2u-la-Kp8.title" = "Read playlist files when adding folders to playlist"; + /* Class = "NSTextFieldCell"; title = "Spectrum bars"; ObjectID = "Bll-IJ-lje"; */ "Bll-IJ-lje.title" = "Spectrum bars"; diff --git a/Preferences/Preferences/es.lproj/Preferences.strings b/Preferences/Preferences/es.lproj/Preferences.strings index cf7109ea9..f15f09430 100644 --- a/Preferences/Preferences/es.lproj/Preferences.strings +++ b/Preferences/Preferences/es.lproj/Preferences.strings @@ -73,6 +73,9 @@ /* Class = "NSButtonCell"; title = "Read CUE sheets when adding folders to playlist"; ObjectID = "311"; */ "311.title" = "Leer las hojas CUE al añadir carpetas a la playlist"; +/* Class = "NSButtonCell"; title = "Read playlist files when adding folders to playlist"; ObjectID = "k2u-la-Kp8"; */ +"k2u-la-Kp8.title" = "Leer archivos de playlist al agregar carpetas a la playlist"; + /* Class = "NSTextFieldCell"; title = "Spectrum bars"; ObjectID = "Bll-IJ-lje"; */ "Bll-IJ-lje.title" = "Barras del analizador";