Changeset 934
- Timestamp:
- 10/14/2009 11:11:11 PM (2 years ago)
- Location:
- trunk/SapphireFrappliance
- Files:
-
- 4 added
- 5 modified
-
MetaData/SapphireMObjects/SapphireEpisode.m (modified) (1 diff)
-
MetaData/Support/SapphireMovieDirectory.h (modified) (2 diffs)
-
MetaData/Support/SapphireMovieDirectory.m (modified) (6 diffs)
-
MetaData/Support/SapphireMovieVirtualDirectory.h (added)
-
MetaData/Support/SapphireMovieVirtualDirectory.m (added)
-
MetaData/Support/SapphireMovieVirtualDirectoryImporter.h (added)
-
MetaData/Support/SapphireMovieVirtualDirectoryImporter.m (added)
-
Sapphire.xcodeproj/project.pbxproj (modified) (4 diffs)
-
main_debug.m (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/SapphireFrappliance/MetaData/SapphireMObjects/SapphireEpisode.m
r928 r934 151 151 { 152 152 NSEnumerator *otherEps = [dictionaries objectEnumerator]; 153 NSDictionary *epDict = [otherEps nextObject]; //Skip first 153 NSDictionary *epDict = nil; 154 [otherEps nextObject]; //Skip first 154 155 while((epDict = [otherEps nextObject]) != nil) 155 156 [ret insertAdditionalEpisode:epDict]; -
trunk/SapphireFrappliance/MetaData/Support/SapphireMovieDirectory.h
r555 r934 22 22 #import "SapphireBasicDirectoryFunctionsDefines.h" 23 23 24 @class SapphireMovieVirtualDirectoryImporter; 25 24 26 /*! 25 27 * @brief The base movies virtual directory … … 29 31 @interface SapphireMovieDirectory : NSObject <SapphireDirectory> { 30 32 NSManagedObjectContext *moc; /*!< @brief The context*/ 31 NSArray *subDirs; /*!< @brief The sub-directory objects*/ 32 NSArray *names; /*!< @brief The sub-directory names*/ 33 NSArray *originalSubDirs; /*!< @brief The static sub-directory objects*/ 34 NSArray *originalNames; /*!< @brief The static sub-directory names*/ 35 NSMutableArray *subDirs; /*!< @brief The sub-directory objects*/ 36 NSMutableArray *names; /*!< @brief The sub-directory names*/ 37 NSArray *virtualDirs; /*!< @brief The virtual directories last imported*/ 38 NSArray *defaultSorters; /*!< @brief The list of default file sorters*/ 39 SapphireMovieVirtualDirectoryImporter *vdImport; /*!< @brief The virtial directory importer*/ 33 40 Basic_Directory_Function_Instance_Variables 34 41 } -
trunk/SapphireFrappliance/MetaData/Support/SapphireMovieDirectory.m
r908 r934 27 27 #import "SapphireBasicDirectoryFunctionsImports.h" 28 28 #import "SapphireFileSorter.h" 29 29 #import "SapphireMovieVirtualDirectoryImporter.h" 30 #import "SapphireMovieVirtualDirectory.h" 30 31 #import "SapphireMovie.h" 31 32 #import "SapphireCast.h" … … 89 90 90 91 moc = [context retain]; 91 92 93 /*Define the static virtual directories*/ 92 94 NSPredicate *allPred = [NSPredicate predicateWithFormat:@"movie != nil"]; 93 95 SapphireFilteredFileDirectory *all = [[SapphireFilteredFileDirectory alloc] initWithPredicate:allPred Context:moc]; … … 99 101 NSPredicate *oscarPred = [NSPredicate predicateWithFormat:@"movie.oscarsWon != 0"]; 100 102 SapphireFilteredFileDirectory *oscar = [[SapphireFilteredFileDirectory alloc] initWithPredicate:oscarPred Context:moc]; 101 102 subDirs = [[NSArray alloc] initWithObjects: 103 all, 104 cast, 105 director, 106 genre, 107 top250, 108 oscar, 109 nil]; 110 names = [[NSArray alloc] initWithObjects: 111 BRLocalizedString( @"All Movies", @"Select all movies" ), 112 BRLocalizedString( @"By Cast", @"Select movies based on cast members" ), 113 BRLocalizedString( @"By Director", @"Select movies based on director" ), 114 BRLocalizedString( @"By Genre", @"Select movies based on genre" ), 115 BRLocalizedString( @"IMDB Top 250", @"Show movies in IMDb Top 250 only" ), 116 BRLocalizedString( @"Academy Award Winning", @"Show Oscar winning movies only" ), 117 nil]; 118 103 104 originalSubDirs = [[NSArray alloc] initWithObjects: 105 all, 106 cast, 107 director, 108 genre, 109 top250, 110 oscar, 111 nil]; 112 113 originalNames = [[NSArray alloc] initWithObjects: 114 BRLocalizedString( @"All Movies", @"Select all movies" ), 115 BRLocalizedString( @"By Cast", @"Select movies based on cast members" ), 116 BRLocalizedString( @"By Director", @"Select movies based on director" ), 117 BRLocalizedString( @"By Genre", @"Select movies based on genre" ), 118 BRLocalizedString( @"IMDB Top 250", @"Show movies in IMDb Top 250 only" ), 119 BRLocalizedString( @"Academy Award Winning", @"Show Oscar winning movies only" ), 120 nil]; 121 119 122 SapphireFileSorter *titleSort = [SapphireMovieTitleSorter sharedInstance]; 120 123 SapphireFileSorter *imdbRankSort = [SapphireMovieIMDBTop250RankSorter sharedInstance]; … … 124 127 125 128 NSString *moviePath = [[NSBundle bundleForClass:[self class]] pathForResource:@"video_H" ofType:@"png"]; 126 129 vdImport = [[SapphireMovieVirtualDirectoryImporter alloc] initWithPath:[applicationSupportDir() stringByAppendingPathComponent:@"virtualDirs.xml"]]; 130 defaultSorters = [[NSArray alloc] initWithObjects:titleSort, dateSort, imdbRatingSort, nil]; 131 132 /*Finish the static directory setup*/ 127 133 [all setPath:VIRTUAL_DIR_ALL_PATH]; 128 134 [all setCoverArtPath:moviePath]; … … 157 163 - (void) dealloc 158 164 { 165 [originalSubDirs release]; 166 [originalNames release]; 159 167 [subDirs release]; 160 168 [names release]; 169 [virtualDirs release]; 170 [defaultSorters release]; 171 [vdImport release]; 161 172 Basic_Directory_Function_Deallocs 162 173 [super dealloc]; … … 209 220 - (void)reloadDirectoryContents 210 221 { 222 /*Import any defined movie virtual directories*/ 223 NSArray *newVirtualDirs = [vdImport virtualDirectories]; 224 if(![virtualDirs isEqualToArray:newVirtualDirs]) 225 { 226 [virtualDirs release]; 227 [names release]; 228 [subDirs release]; 229 virtualDirs = [newVirtualDirs retain]; 230 names = [originalNames mutableCopy]; 231 subDirs = [originalSubDirs mutableCopy]; 232 233 NSString *moviePath = [[NSBundle bundleForClass:[self class]] pathForResource:@"video_H" ofType:@"png"]; 234 NSEnumerator *mvdEnum = [newVirtualDirs objectEnumerator]; 235 SapphireMovieVirtualDirectory *virtualDir; 236 while((virtualDir = [mvdEnum nextObject]) != nil) 237 { 238 SapphireFilteredFileDirectory *custom = [[SapphireFilteredFileDirectory alloc] initWithPredicate:[virtualDir predicate] Context:moc]; 239 [subDirs addObject:custom]; 240 [names addObject:BRLocalizedString([virtualDir title], [virtualDir description])]; 241 [custom setPath:[[VIRTUAL_DIR_ROOT_PATH stringByAppendingString:@"/"] stringByAppendingString:[virtualDir description]]]; 242 [custom setCoverArtPath:moviePath]; // Change this to be part of the XML? 243 [custom setFileSorters:defaultSorters]; 244 NSLog(@"Added %@, %@: %@", [names lastObject], [virtualDir predicate],[subDirs lastObject]); 245 [custom release]; 246 } 247 } 248 211 249 [subDirs makeObjectsPerformSelector:@selector(setFilterPredicate:) withObject:filterPredicate]; 212 250 [delegate directoryContentsChanged]; -
trunk/SapphireFrappliance/Sapphire.xcodeproj/project.pbxproj
r921 r934 54 54 38FAFC320C012A7800853CFE /* SapphireAppliance.m in Sources */ = {isa = PBXBuildFile; fileRef = 38FAFC2F0C012A7800853CFE /* SapphireAppliance.m */; }; 55 55 38FAFC330C012A7800853CFE /* SapphireBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = 38FAFC310C012A7800853CFE /* SapphireBrowser.m */; }; 56 5941C04710786EB2004C887B /* SapphireMovieVirtualDirectory.m in Sources */ = {isa = PBXBuildFile; fileRef = 5941C03A10786DD5004C887B /* SapphireMovieVirtualDirectory.m */; }; 57 5941C04810786ECA004C887B /* SapphireMovieVirtualDirectoryImporter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5941C03C10786DD5004C887B /* SapphireMovieVirtualDirectoryImporter.m */; }; 56 58 805420AA0F94FA7E002D2DBF /* NSImage-Extensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 805420A90F94FA7E002D2DBF /* NSImage-Extensions.m */; }; 57 59 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; … … 361 363 38FAFC300C012A7800853CFE /* SapphireAppliance.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SapphireAppliance.h; sourceTree = "<group>"; }; 362 364 38FAFC310C012A7800853CFE /* SapphireBrowser.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SapphireBrowser.m; sourceTree = "<group>"; }; 365 5941C03910786DD5004C887B /* SapphireMovieVirtualDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SapphireMovieVirtualDirectory.h; sourceTree = "<group>"; }; 366 5941C03A10786DD5004C887B /* SapphireMovieVirtualDirectory.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SapphireMovieVirtualDirectory.m; sourceTree = "<group>"; }; 367 5941C03B10786DD5004C887B /* SapphireMovieVirtualDirectoryImporter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SapphireMovieVirtualDirectoryImporter.h; sourceTree = "<group>"; }; 368 5941C03C10786DD5004C887B /* SapphireMovieVirtualDirectoryImporter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SapphireMovieVirtualDirectoryImporter.m; sourceTree = "<group>"; }; 363 369 805420A80F94FA7E002D2DBF /* NSImage-Extensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSImage-Extensions.h"; sourceTree = "<group>"; }; 364 370 805420A90F94FA7E002D2DBF /* NSImage-Extensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSImage-Extensions.m"; sourceTree = "<group>"; }; … … 994 1000 isa = PBXGroup; 995 1001 children = ( 1002 5941C03910786DD5004C887B /* SapphireMovieVirtualDirectory.h */, 1003 5941C03A10786DD5004C887B /* SapphireMovieVirtualDirectory.m */, 1004 5941C03B10786DD5004C887B /* SapphireMovieVirtualDirectoryImporter.h */, 1005 5941C03C10786DD5004C887B /* SapphireMovieVirtualDirectoryImporter.m */, 996 1006 F5C55EC20DE90F3900661563 /* CoreDataSupportFunctions.h */, 997 1007 F5C55EC30DE90F3900661563 /* CoreDataSupportFunctions.m */, … … 1382 1392 805420AA0F94FA7E002D2DBF /* NSImage-Extensions.m in Sources */, 1383 1393 F5505DC71040864D0064D392 /* SapphireAudioNowPlayingController.m in Sources */, 1394 5941C04710786EB2004C887B /* SapphireMovieVirtualDirectory.m in Sources */, 1395 5941C04810786ECA004C887B /* SapphireMovieVirtualDirectoryImporter.m in Sources */, 1384 1396 ); 1385 1397 runOnlyForDeploymentPostprocessing = 0; -
trunk/SapphireFrappliance/main_debug.m
r928 r934 43 43 #import "SapphireDirector.h" 44 44 #import "SapphireXMLData.h" 45 #import "SapphireMovieDirectory.h" 45 46 46 47 void overrideApplicationSupportdir(NSString *override); … … 259 260 } 260 261 #endif 261 #define TESTING_MULTIPLE_AND_SINGLE_TV_SHOW_IMPORT262 //#define TESTING_MULTIPLE_AND_SINGLE_TV_SHOW_IMPORT 262 263 #ifdef TESTING_MULTIPLE_AND_SINGLE_TV_SHOW_IMPORT 263 264 { … … 271 272 } 272 273 #endif 274 #define TESTING_MOVIE_VIRTUAL_DIRS_IN_XML 275 #ifdef TESTING_MOVIE_VIRTUAL_DIRS_IN_XML 276 { 277 SapphireMovieDirectory *movieDir = [[SapphireMovieDirectory alloc] initWithContext:moc]; 278 [movieDir reloadDirectoryContents]; 279 [movieDir reloadDirectoryContents]; 280 [movieDir release]; 281 } 282 #endif 273 283 274 284 [moc release];
