- Timestamp:
- 09/11/10 17:51:39 (21 months ago)
- Location:
- trunk/SapphireFrappliance
- Files:
-
- 19 modified
-
Extension/NSImage-Extensions.m (modified) (3 diffs)
-
Extension/NSXMLDocument-Extensions.m (modified) (1 diff)
-
FRAppliance/SapphireApplianceController.m (modified) (3 diffs)
-
FRAppliance/SapphireImportHelper.m (modified) (2 diffs)
-
FRAppliance/SapphireLogging.h (modified) (1 diff)
-
FRAppliance/SapphireLogging.m (modified) (2 diffs)
-
FRAppliance/SapphireMetaDataUpgrading.m (modified) (1 diff)
-
FRAppliance/main_helper.m (modified) (1 diff)
-
MetaData/SapphireMObjects/SapphireDirectoryMetaData.m (modified) (1 diff)
-
MetaData/SapphireMObjects/SapphireFileMetaData.m (modified) (3 diffs)
-
MetaData/SapphireMObjects/SapphireMovie.m (modified) (1 diff)
-
MetaData/Support/CoreDataSupportFunctions.m (modified) (3 diffs)
-
MetaData/Support/SapphireCustomVirtualDirectoryImporter.m (modified) (2 diffs)
-
MetaData/Support/SapphireMetaDataSupport.m (modified) (13 diffs)
-
MetaDataImporting/SapphireImporterDataMenu.m (modified) (1 diff)
-
MetaDataImporting/SapphireMovieImporter.m (modified) (5 diffs)
-
MetaDataImporting/SapphireTVShowImporter.m (modified) (3 diffs)
-
Settings/SapphireSettings.h (modified) (1 diff)
-
Settings/SapphireSettings.m (modified) (20 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/SapphireFrappliance/Extension/NSImage-Extensions.m
r912 r1317 58 58 + (NSArray *) imagesFromMovie: (NSString *)path forArraySize: (unsigned int) size 59 59 { 60 SapphireLog(S APPHIRE_LOG_FILE, SAPPHIRE_LOG_LEVEL_DEBUG, @"Getting array of size %d from %@", size, path );60 SapphireLog(SapphireLogTypeFile, SapphireLogLevelDebug, @"Getting array of size %d from %@", size, path ); 61 61 NSError * error = nil; 62 62 QTMovie * movie = [QTMovie movieWithFile:path error:&error]; 63 SapphireLog(S APPHIRE_LOG_FILE, SAPPHIRE_LOG_LEVEL_DEBUG, @"movie opened");63 SapphireLog(SapphireLogTypeFile, SapphireLogLevelDebug, @"movie opened"); 64 64 QTTime duration = [movie duration]; 65 65 … … 76 76 imageTime.timeValue = (rand() % (duration.timeValue/size)) + (i*duration.timeValue/size); 77 77 78 SapphireLog(S APPHIRE_LOG_FILE, SAPPHIRE_LOG_LEVEL_DEBUG, @"getting image");78 SapphireLog(SapphireLogTypeFile, SapphireLogLevelDebug, @"getting image"); 79 79 NSImage * image = [movie frameImageAtTime:imageTime]; 80 80 if ( image != nil ) … … 82 82 } 83 83 84 SapphireLog(S APPHIRE_LOG_FILE, SAPPHIRE_LOG_LEVEL_DEBUG, @"Returning array of size %d from %@", [images count], path );84 SapphireLog(SapphireLogTypeFile, SapphireLogLevelDebug, @"Returning array of size %d from %@", [images count], path ); 85 85 return images; 86 86 } -
trunk/SapphireFrappliance/Extension/NSXMLDocument-Extensions.m
r961 r1317 31 31 if(error != nil && *error != nil) 32 32 { 33 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_ERROR, @"Failed to load URL %@ with error: %@", url, *error);33 SapphireLog(SapphireLogTypeImport, SapphireLogLevelError, @"Failed to load URL %@ with error: %@", url, *error); 34 34 return nil; 35 35 } -
trunk/SapphireFrappliance/FRAppliance/SapphireApplianceController.m
r1285 r1317 289 289 [ret appendFormat:@"\n0x%X\t%@", [key pointerValue], [mapping objectForKey:key]]; 290 290 } 291 SapphireLog(S APPHIRE_LOG_GENERAL, SAPPHIRE_LOG_LEVEL_ERROR, @"%@", ret);291 SapphireLog(SapphireLogTypeGeneral, SapphireLogLevelError, @"%@", ret); 292 292 } 293 293 … … 337 337 if(![coord addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:storeOptions error:&error]) 338 338 { 339 SapphireLog(S APPHIRE_LOG_ALL, SAPPHIRE_LOG_LEVEL_ERROR, @"Could not add store: %@", error);339 SapphireLog(SapphireLogTypeAll, SapphireLogLevelError, @"Could not add store: %@", error); 340 340 341 341 [coord release]; … … 389 389 mountsOnly = NO; 390 390 391 SapphireSetLogLevel(SAPPHIRE_LOG_ALL, SAPPHIRE_LOG_LEVEL_ERROR); 391 SapphireSetLogLevel(SapphireLogTypeGeneral, [settings generalLogLevel]); 392 SapphireSetLogLevel(SapphireLogTypeImport, [settings importLogLevel]); 393 SapphireSetLogLevel(SapphireLogTypeFile, [settings fileLogLevel]); 394 SapphireSetLogLevel(SapphireLogTypePlayback, [settings playbackLogLevel]); 395 SapphireSetLogLevel(SapphireLogTypeMetadataStore, [settings metadataLogLevel]); 392 396 393 397 distributed = [[SapphireDistributedMessagesReceiver alloc] initWithController:self]; -
trunk/SapphireFrappliance/FRAppliance/SapphireImportHelper.m
r1313 r1317 174 174 [serverConnection setRootObject:self]; 175 175 if([serverConnection registerName:CONNECTION_NAME] == NO) 176 SapphireLog(S APPHIRE_LOG_GENERAL, SAPPHIRE_LOG_LEVEL_ERROR, @"Register failed");176 SapphireLog(SapphireLogTypeGeneral, SapphireLogLevelError, @"Register failed"); 177 177 178 178 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(connectionDidDie:) name:NSConnectionDidDieNotification object:nil]; … … 268 268 } 269 269 @catch (NSException * e) { 270 SapphireLog(S APPHIRE_LOG_GENERAL, SAPPHIRE_LOG_LEVEL_ERROR, @"Could not launch helper because of exception %@ launching %@. Make this file executable", e, path);270 SapphireLog(SapphireLogTypeGeneral, SapphireLogLevelError, @"Could not launch helper because of exception %@ launching %@. Make this file executable", e, path); 271 271 } 272 272 } 273 273 else 274 SapphireLog(S APPHIRE_LOG_GENERAL, SAPPHIRE_LOG_LEVEL_ERROR, @"Could not correct helper permissions on %@. Make this file executable!", path);274 SapphireLog(SapphireLogTypeGeneral, SapphireLogLevelError, @"Could not correct helper permissions on %@. Make this file executable!", path); 275 275 } 276 276 -
trunk/SapphireFrappliance/FRAppliance/SapphireLogging.h
r785 r1317 20 20 21 21 typedef enum { 22 S APPHIRE_LOG_GENERAL,23 S APPHIRE_LOG_IMPORT,24 S APPHIRE_LOG_FILE,25 S APPHIRE_LOG_PLAYBACK,26 S APPHIRE_LOG_METADATA_STORE,27 S APPHIRE_LOG_ALL,22 SapphireLogTypeGeneral, 23 SapphireLogTypeImport, 24 SapphireLogTypeFile, 25 SapphireLogTypePlayback, 26 SapphireLogTypeMetadataStore, 27 SapphireLogTypeAll, 28 28 } SapphireLogType; 29 29 30 30 typedef enum { 31 SAPPHIRE_LOG_LEVEL_ERROR, 32 SAPPHIRE_LOG_LEVEL_INFO, 33 SAPPHIRE_LOG_LEVEL_DETAIL, 34 SAPPHIRE_LOG_LEVEL_DEBUG, 31 SapphireLogLevelError, 32 SapphireLogLevelInfo, 33 SapphireLogLevelDetail, 34 SapphireLogLevelDebug, 35 SapphireLogLevelCount, 35 36 } SapphireLogLevel; 36 37 -
trunk/SapphireFrappliance/FRAppliance/SapphireLogging.m
r785 r1317 30 30 @end 31 31 32 SapphireLogLevel SapphireLoggingLevels[S APPHIRE_LOG_ALL] = {33 S APPHIRE_LOG_LEVEL_ERROR,34 S APPHIRE_LOG_LEVEL_ERROR,35 S APPHIRE_LOG_LEVEL_ERROR,36 S APPHIRE_LOG_LEVEL_ERROR,37 S APPHIRE_LOG_LEVEL_ERROR,32 SapphireLogLevel SapphireLoggingLevels[SapphireLogTypeAll] = { 33 SapphireLogLevelError, 34 SapphireLogLevelError, 35 SapphireLogLevelError, 36 SapphireLogLevelError, 37 SapphireLogLevelError, 38 38 }; 39 39 … … 51 51 void SapphireSetLogLevel(SapphireLogType type, SapphireLogLevel level) 52 52 { 53 if(type == S APPHIRE_LOG_ALL)53 if(type == SapphireLogTypeAll) 54 54 { 55 55 int i; 56 for(i=0; i<S APPHIRE_LOG_ALL; i++)56 for(i=0; i<SapphireLogTypeAll; i++) 57 57 SapphireLoggingLevels[i] = level; 58 58 } -
trunk/SapphireFrappliance/FRAppliance/SapphireMetaDataUpgrading.m
r1251 r1317 135 135 if(![coord addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:nil error:&error]) 136 136 { 137 SapphireLog(S APPHIRE_LOG_ALL, SAPPHIRE_LOG_LEVEL_ERROR, @"Could not add store: %@", error);137 SapphireLog(SapphireLogTypeAll, SapphireLogLevelError, @"Could not add store: %@", error); 138 138 139 139 [coord release]; -
trunk/SapphireFrappliance/FRAppliance/main_helper.m
r1267 r1317 55 55 [bundle load]; 56 56 57 [NSClassFromString(@"SapphireLogging") setLogLevel:S APPHIRE_LOG_LEVEL_ERROR forType:SAPPHIRE_LOG_ALL];58 [NSClassFromString(@"SapphireLogging") setLogLevel:S APPHIRE_LOG_LEVEL_DEBUG forType:SAPPHIRE_LOG_METADATA_STORE];57 [NSClassFromString(@"SapphireLogging") setLogLevel:SapphireLogLevelError forType:SapphireLogTypeAll]; 58 [NSClassFromString(@"SapphireLogging") setLogLevel:SapphireLogLevelDebug forType:SapphireLogTypeMetadataStore]; 59 59 60 60 SapphireImportHelperClient *help = [[NSClassFromString(@"SapphireImportHelperClient") alloc] init]; -
trunk/SapphireFrappliance/MetaData/SapphireMObjects/SapphireDirectoryMetaData.m
r1309 r1317 233 233 return ret; 234 234 } 235 SapphireLog(S APPHIRE_LOG_GENERAL, SAPPHIRE_LOG_LEVEL_ERROR, @"Somehow couldn't get cache for %@ in %@", directory, self.path);235 SapphireLog(SapphireLogTypeGeneral, SapphireLogLevelError, @"Somehow couldn't get cache for %@ in %@", directory, self.path); 236 236 NSString *path = [self.path stringByAppendingPathComponent:directory]; 237 237 NSPredicate *pred = [NSPredicate predicateWithFormat:@"path == %@", path]; -
trunk/SapphireFrappliance/MetaData/SapphireMObjects/SapphireFileMetaData.m
r1299 r1317 684 684 if([lowerFileName hasPrefix:tran.name]) 685 685 { 686 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_DETAIL, @"Deleting TV import translation for %@", tran.name);686 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelDetail, @"Deleting TV import translation for %@", tran.name); 687 687 [moc deleteObject:tran]; 688 688 } … … 697 697 if(movieTran != nil) 698 698 { 699 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_DETAIL, @"Deleting Movie import translation for %@", movieTran.name);699 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelDetail, @"Deleting Movie import translation for %@", movieTran.name); 700 700 [moc deleteObject:movieTran]; 701 701 } … … 716 716 if(movieTran != nil) 717 717 { 718 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_DETAIL, @"Deleting Movie import translation for %@", movieTran.name);718 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelDetail, @"Deleting Movie import translation for %@", movieTran.name); 719 719 [moc deleteObject:movieTran]; 720 720 } -
trunk/SapphireFrappliance/MetaData/SapphireMObjects/SapphireMovie.m
r1294 r1317 80 80 if(![title length]) 81 81 { 82 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_ERROR, @"Imported a movie with no title: %@", dict);82 SapphireLog(SapphireLogTypeImport, SapphireLogLevelError, @"Imported a movie with no title: %@", dict); 83 83 return nil; 84 84 } -
trunk/SapphireFrappliance/MetaData/Support/CoreDataSupportFunctions.m
r1251 r1317 39 39 NSArray *array = [context executeFetchRequest:request error:&error]; 40 40 if(error != nil) 41 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_ERROR, @"Single Fetch error: %@", error);41 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelError, @"Single Fetch error: %@", error); 42 42 [request release]; 43 43 … … 63 63 NSArray *array = [context executeFetchRequest:request error:&error]; 64 64 if(error != nil) 65 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_ERROR, @"Sorted Fetch error: %@", error);65 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelError, @"Sorted Fetch error: %@", error); 66 66 [request release]; 67 67 … … 82 82 NSArray *array = [context executeFetchRequest:request error:&error]; 83 83 if(error != nil) 84 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_ERROR, @"Exist error: %@", error);84 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelError, @"Exist error: %@", error); 85 85 [request release]; 86 86 -
trunk/SapphireFrappliance/MetaData/Support/SapphireCustomVirtualDirectoryImporter.m
r1285 r1317 258 258 { 259 259 matchPred = [NSCompoundPredicate andPredicateWithSubpredicates:[NSArray arrayWithObjects:basePredicate, matchPred, nil]]; 260 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_INFO, @"Creating virtual directory with filter: %@", matchPred);260 SapphireLog(SapphireLogTypeImport, SapphireLogLevelInfo, @"Creating virtual directory with filter: %@", matchPred); 261 261 [virtualDir setPredicate:matchPred]; 262 262 } … … 272 272 { 273 273 /*Check for XML file*/ 274 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DETAIL, @"Looking for file: %@", path);274 SapphireLog(SapphireLogTypeImport, SapphireLogLevelDetail, @"Looking for file: %@", path); 275 275 NSFileManager *fm = [NSFileManager defaultManager]; 276 276 BOOL xmlPathIsDir = NO; -
trunk/SapphireFrappliance/MetaData/Support/SapphireMetaDataSupport.m
r1251 r1317 209 209 NSPredicate *movieNoFile = [NSPredicate predicateWithFormat:@"NOT SELF IN %@", movieIds]; 210 210 NSArray *emptyMovies = doFetchRequest(SapphireMovieName, moc, movieNoFile); 211 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DETAIL, @"Pruning Movies %@", [emptyMovies valueForKeyPath:@"title"]);211 SapphireLog(SapphireLogTypeImport, SapphireLogLevelDetail, @"Pruning Movies %@", [emptyMovies valueForKeyPath:@"title"]); 212 212 NSEnumerator *objEnum = [emptyMovies objectEnumerator]; 213 213 NSManagedObject *obj; … … 229 229 NSArray *itemSet = [allMovies valueForKeyPath:[NSString stringWithFormat:@"@distinctUnionOfSets.%@.objectID", key]]; 230 230 NSArray *emptyItems = doFetchRequest(objName, moc, [NSPredicate predicateWithFormat:@"NOT SELF IN %@", itemSet]); 231 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DETAIL, @"Pruning %@ %@", key, [emptyItems valueForKeyPath:@"name"]);231 SapphireLog(SapphireLogTypeImport, SapphireLogLevelDetail, @"Pruning %@ %@", key, [emptyItems valueForKeyPath:@"name"]); 232 232 objEnum = [emptyItems objectEnumerator]; 233 233 while((obj = [objEnum nextObject]) != nil) … … 241 241 NSPredicate *epNoFile = [NSPredicate predicateWithFormat:@"NOT SELF IN %@", epIds]; 242 242 NSArray *emptyEpisodes = doFetchRequest(SapphireEpisodeName, moc, epNoFile); 243 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DETAIL, @"Pruning Episodes %@", [emptyEpisodes valueForKeyPath:@"episodeTitle"]);243 SapphireLog(SapphireLogTypeImport, SapphireLogLevelDetail, @"Pruning Episodes %@", [emptyEpisodes valueForKeyPath:@"episodeTitle"]); 244 244 objEnum = [emptyEpisodes objectEnumerator]; 245 245 while((obj = [objEnum nextObject]) != nil) … … 251 251 NSPredicate *noEpisodes = [NSPredicate predicateWithFormat:@"NOT SELF IN %@", seasonIds]; 252 252 NSArray *emptySeasons = doFetchRequest(SapphireSeasonName, moc, noEpisodes); 253 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DETAIL, @"Pruning Seasons %@", [emptySeasons valueForKeyPath:@"path"]);253 SapphireLog(SapphireLogTypeImport, SapphireLogLevelDetail, @"Pruning Seasons %@", [emptySeasons valueForKeyPath:@"path"]); 254 254 objEnum = [emptySeasons objectEnumerator]; 255 255 while((obj = [objEnum nextObject]) != nil) … … 259 259 noEpisodes = [NSPredicate predicateWithFormat:@"NOT SELF IN %@", showIds]; 260 260 NSArray *emptyShows = doFetchRequest(SapphireTVShowName, moc, noEpisodes); 261 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DETAIL, @"Pruning Shows %@", [emptyShows valueForKeyPath:@"name"]);261 SapphireLog(SapphireLogTypeImport, SapphireLogLevelDetail, @"Pruning Shows %@", [emptyShows valueForKeyPath:@"name"]); 262 262 objEnum = [emptyShows objectEnumerator]; 263 263 while((obj = [objEnum nextObject]) != nil) … … 310 310 311 311 if(writeTimer != nil) 312 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_DETAIL, @"Rescheduled write");312 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelDetail, @"Rescheduled write"); 313 313 writeTimer = nil; 314 314 NSError *error = nil; … … 320 320 } 321 321 @catch (NSException * e) { 322 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_DETAIL, @"Could not save due to exception \"%@\" with reason \"%@\"", [e name], [e reason]);322 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelDetail, @"Could not save due to exception \"%@\" with reason \"%@\"", [e name], [e reason]); 323 323 } 324 324 if(error != nil) 325 325 { 326 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_ERROR, @"Save error \"%@\"", error);326 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelError, @"Save error \"%@\"", error); 327 327 NSArray *details = [[error userInfo] objectForKey:@"NSDetailedErrors"]; 328 328 if(details != nil) … … 331 331 NSError *aError; 332 332 while((aError = [errorEnum nextObject]) != nil) 333 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_ERROR, @"One error is %@: %@", aError, [aError userInfo]);333 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelError, @"One error is %@: %@", aError, [aError userInfo]); 334 334 } 335 335 NSException *underlying = [[error userInfo] objectForKey:@"NSUnderlyingException"]; 336 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_DEBUG, @"Underlying is %@ %@ %@ %@", underlying, [underlying name], [underlying reason], [underlying userInfo]);336 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelDebug, @"Underlying is %@ %@ %@ %@", underlying, [underlying name], [underlying reason], [underlying userInfo]); 337 337 if([[underlying reason] isEqualToString:@"database is locked"]) 338 338 { 339 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_DEBUG, @"Detected locked");339 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelDebug, @"Detected locked"); 340 340 locked = YES; 341 341 } … … 343 343 if(success == NO) 344 344 { 345 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_DEBUG, @"Inserted objects is %@", [context insertedObjects]);346 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_DEBUG, @"Updated objects is %@", [context updatedObjects]);347 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_DEBUG, @"Deleted objects is %@", [context deletedObjects]);345 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelDebug, @"Inserted objects is %@", [context insertedObjects]); 346 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelDebug, @"Updated objects is %@", [context updatedObjects]); 347 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelDebug, @"Deleted objects is %@", [context deletedObjects]); 348 348 interval *= 2; 349 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_DETAIL, @"Rescheduling write to occurr in %f seconds", interval);349 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelDetail, @"Rescheduling write to occurr in %f seconds", interval); 350 350 351 351 @try { … … 361 361 } 362 362 @catch (NSException * e) { 363 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_DETAIL, @"Could not fix save due to exception \"%@\" with reason \"%@\"", [e name], [e reason]);363 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelDetail, @"Could not fix save due to exception \"%@\" with reason \"%@\"", [e name], [e reason]); 364 364 } 365 365 … … 367 367 } 368 368 else 369 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_DETAIL, @"Save successful");369 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelDetail, @"Save successful"); 370 370 } 371 371 … … 627 627 { 628 628 if(![obj validateForUpdate:&error]) 629 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_INFO, @"%@", error);629 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelInfo, @"%@", error); 630 630 } 631 631 } … … 741 741 if(failed) 742 742 { 743 SapphireLog(S APPHIRE_LOG_METADATA_STORE, SAPPHIRE_LOG_LEVEL_ERROR, @"Apply failed for %@, undoing", changes);743 SapphireLog(SapphireLogTypeMetadataStore, SapphireLogLevelError, @"Apply failed for %@, undoing", changes); 744 744 [undo undo]; 745 745 } -
trunk/SapphireFrappliance/MetaDataImporting/SapphireImporterDataMenu.m
r1285 r1317 415 415 case ImportStateUpdated: 416 416 ret = YES; 417 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DETAIL, @"Updated %@", [file path]);417 SapphireLog(SapphireLogTypeImport, SapphireLogLevelDetail, @"Updated %@", [file path]); 418 418 break; 419 419 case ImportStateMultipleSuspend: -
trunk/SapphireFrappliance/MetaDataImporting/SapphireMovieImporter.m
r1305 r1317 161 161 } 162 162 163 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DETAIL, @"Found results: %@", movies);163 SapphireLog(SapphireLogTypeImport, SapphireLogLevelDetail, @"Found results: %@", movies); 164 164 165 165 /* No need to prompt the user for an empty set */ … … 291 291 if(movie == nil) 292 292 { 293 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_ERROR, @"Failed to import movie for %@", state->path);293 SapphireLog(SapphireLogTypeImport, SapphireLogLevelError, @"Failed to import movie for %@", state->path); 294 294 [self completeWithState:state withStatus:ImportStateNotUpdated importComplete:NO]; 295 295 return; … … 460 460 if(![self isMovieCandidate:metaData]) 461 461 return ImportStateNotUpdated; 462 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DEBUG, @"Going to movie import %@", path);462 SapphireLog(SapphireLogTypeImport, SapphireLogLevelDebug, @"Going to movie import %@", path); 463 463 NSString *extLessPath = path; 464 464 if([metaData fileContainerTypeValue] != FILE_CONTAINER_TYPE_VIDEO_TS) … … 496 496 } 497 497 498 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DETAIL, @"Searching for movie \"%@\"", state->lookupName);498 SapphireLog(SapphireLogTypeImport, SapphireLogLevelDetail, @"Searching for movie \"%@\"", state->lookupName); 499 499 NSManagedObjectContext *moc = [metaData managedObjectContext]; 500 500 SapphireMovieTranslation *tran = [SapphireMovieTranslation movieTranslationWithName:state->lookupName inContext:moc]; … … 533 533 return ImportStateNotUpdated; 534 534 535 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DEBUG, @"Searching for %@ with year %@", state->lookupName, yearStr);535 SapphireLog(SapphireLogTypeImport, SapphireLogLevelDebug, @"Searching for %@ with year %@", state->lookupName, yearStr); 536 536 537 537 /*Ask the user what movie this is*/ -
trunk/SapphireFrappliance/MetaDataImporting/SapphireTVShowImporter.m
r1251 r1317 262 262 } 263 263 264 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DETAIL, @"Found shows: %@", shows);264 SapphireLog(SapphireLogTypeImport, SapphireLogLevelDetail, @"Found shows: %@", shows); 265 265 266 266 /* No need to prompt the user for an empty set */ … … 694 694 searchStr = searchShowName; 695 695 searchStr = [searchStr lowercaseString]; 696 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DEBUG, @"%@ matched regex; checking show name %@", fileName, searchStr);696 SapphireLog(SapphireLogTypeImport, SapphireLogLevelDebug, @"%@ matched regex; checking show name %@", fileName, searchStr); 697 697 /*Check to see if we know this title*/ 698 698 NSManagedObjectContext *moc = [metaData managedObjectContext]; … … 733 733 else 734 734 { 735 SapphireLog(S APPHIRE_LOG_IMPORT, SAPPHIRE_LOG_LEVEL_DEBUG, @"Conducting search");735 SapphireLog(SapphireLogTypeImport, SapphireLogLevelDebug, @"Conducting search"); 736 736 if(![delegate canDisplayChooser]) 737 737 /*There is no data menu, background import. So we can't ask user, skip*/ -
trunk/SapphireFrappliance/Settings/SapphireSettings.h
r1092 r1317 178 178 */ 179 179 - (BOOL)displayOnlyPlot; 180 181 /*! 182 * @brief Gets the log level for general logging 183 */ 184 - (SapphireLogLevel)generalLogLevel; 185 186 /*! 187 * @brief Gets the log level for import logging 188 */ 189 - (SapphireLogLevel)importLogLevel; 190 191 /*! 192 * @brief Gets the log level for file logging 193 */ 194 - (SapphireLogLevel)fileLogLevel; 195 196 /*! 197 * @brief Gets the log level for playback logging 198 */ 199 - (SapphireLogLevel)playbackLogLevel; 200 201 /*! 202 * @brief Gets the log level for metadata logging 203 */ 204 - (SapphireLogLevel)metadataLogLevel; 180 205 @end -
trunk/SapphireFrappliance/Settings/SapphireSettings.m
r1285 r1317 49 49 @implementation SapphireSettings 50 50 51 NSString *HIDE_FAVORITE_KEY = @"HideFavorites"; 52 NSString *HIDE_TOP_SHOWS_KEY = @"HideTopShows"; 53 NSString *HIDE_UNWATCHED_KEY = @"HideUnwatched"; 54 NSString *HIDE_SPOILERS_KEY = @"HideSpoilers"; 55 NSString *HIDE_AUDIO_KEY = @"HideAudio"; 56 NSString *HIDE_VIDEO_KEY = @"HideVideo"; 57 NSString *HIDE_POSTER_CHOOSER_KEY = @"PosterChooserOptOut"; 58 NSString *HIDE_UI_QUIT_KEY = @"HideUIQuit"; 59 NSString *ENABLE_FAST_SWITCHING_KEY = @"EnableFastSwitching"; 60 NSString *USE_AC3_PASSTHROUGH = @"EnableAC3Passthrough"; 61 NSString *ENABLE_DIR_LOOKUP = @"EnableDirLookup"; 62 NSString *ENABLE_AUTO_SELECTION = @"EnableAutoSelection"; 63 NSString *DISABLE_ANON_KEY = @"DisableAnonymousReporting"; 64 NSString *LAST_PREDICATE = @"LastPredicate"; 65 66 NSString *SETTING_NAME = @"Name"; 67 NSString *SETTING_DESCRIPTION = @"Description"; 68 NSString *SETTING_KEY = @"Key"; 69 NSString *SETTING_GEM = @"Gem"; 70 NSString *SETTING_COMMAND = @"Command"; 51 NSString *SettingHideFavorite = @"HideFavorites"; 52 NSString *SettingHideTopShows = @"HideTopShows"; 53 NSString *SettingHideUnwatched = @"HideUnwatched"; 54 NSString *SettingHideSpoilers = @"HideSpoilers"; 55 NSString *SettingHideAudio = @"HideAudio"; 56 NSString *SettingHideVideo = @"HideVideo"; 57 NSString *SettingHidePosterChooser = @"PosterChooserOptOut"; 58 NSString *SettingHideUIQuit = @"HideUIQuit"; 59 NSString *SettingEnableFastSwitch = @"EnableFastSwitching"; 60 NSString *SettingAC3Passthrough = @"EnableAC3Passthrough"; 61 NSString *SettingDirLookup = @"EnableDirLookup"; 62 NSString *SettingEnableAutoSelect = @"EnableAutoSelection"; 63 NSString *SettingDisableAnonReport = @"DisableAnonymousReporting"; 64 NSString *SettingLastPredicate = @"LastPredicate"; 65 66 NSString *SettingLogGeneralLevel = @"GeneralLogLevel"; 67 NSString *SettingLogImportLevel = @"ImportLogLevel"; 68 NSString *SettingLogFileLevel = @"FileLogLevel"; 69 NSString *SettingLogPlaybackLevel = @"PlaybackLogLevel"; 70 NSString *SettingLogMetadataLevel = @"MetadataLogLevel"; 71 72 NSString *SettingListName = @"Name"; 73 NSString *SettingListDescription = @"Description"; 74 NSString *SettingListKey = @"Key"; 75 NSString *SettingListGem = @"Gem"; 76 NSString *SettingListCommand = @"Command"; 71 77 72 78 typedef enum { 73 COMMAND_NONE,74 COMMAND_IMPORT_FILE_DATA,75 COMMAND_IMPORT_TV_DATA,76 COMMAND_IMPORT_MOVIE_DATA,77 COMMAND_IMPORT_TV_AUTOSORT_CALCULATE,78 COMMAND_IMPORT_UPDATE_SCRAPERS,79 COMMAND_IMPORT_HIDE_POSTER_CHOOSER,80 COMMAND_IMPORT_USE_DIR_NAME,81 COMMAND_IMPORT_HIDE_ALL_CHOOSERS,82 83 COMMAND_COLLECTIONS_HIDE,84 COMMAND_COLLECTIONS_DONT_IMPORT,85 COMMAND_COLLECTIONS_DELETE,86 87 COMMAND_FILTERS_SKIP_FAVORITE,88 COMMAND_FILTERS_SKIP_UNWATCHED,89 90 COMMAND_METADATA_HIDE_SPOILERS,91 COMMAND_METADATA_HIDE_AUDIO,92 COMMAND_METADATA_HIDE_VIDEO,93 94 COMMAND_AUDIO_ENABLE_AC3,95 96 COMMAND_GENERAL_HIDE_UI_QUIT,97 COMMAND_GENERAL_FAST_DIRECTORY_SWITCHING,98 COMMAND_GENERAL_DONT_ANON_REPORT,79 SettingsCommandNone, 80 SettingsCommandImportFileData, 81 SettingsCommandImportTVData, 82 SettingsCommandImportMovieData, 83 SettingsCommandImportTVAutosortCalculate, 84 SettingsCommandImportUpdateScrapers, 85 SettingsCommandImportHidePosterChooser, 86 SettingsCommandImportUseDirName, 87 SettingsCommandImportHideAllChoosers, 88 89 SettingsCommandCollectionsHide, 90 SettingsCommandCollectionsDontImport, 91 SettingsCommandCollectionsDelete, 92 93 SettingsCommandFiltersSkipFavorite, 94 SettingsCommandFiltersSkipUnwatched, 95 96 SettingsCommandMetadataHideSpoilers, 97 SettingsCommandMetadataHideAudio, 98 SettingsCommandMetadataHideVideo, 99 100 SettingsCommandAudioEnableAC3, 101 102 SettingsCommandGeneralHideUIQuit, 103 SettingsCommandGeneralFastDirectorySwitching, 104 SettingsCommandGeneralDontAnonReport, 99 105 } SettingsCommand; 100 106 … … 120 126 self = [super initWithScene:scene]; 121 127 122 lastCommand = COMMAND_NONE;128 lastCommand = SettingsCommandNone; 123 129 /*Setup display*/ 124 130 moc = [context retain]; … … 127 133 settings = [[NSArray alloc] initWithObjects: 128 134 [NSDictionary dictionaryWithObjectsAndKeys: 129 BRLocalizedString(@" Populate File Data", @"Populate File Data menu item"), S ETTING_NAME,130 BRLocalizedString(@"Tells Sapphire to examine all files, and remember the file size, length and other information that can be gathered from the file itself.", @"Populate File Data description"), S ETTING_DESCRIPTION,131 [theme gem:IMPORT_GEM_KEY], S ETTING_GEM,132 [NSNumber numberWithInt: COMMAND_IMPORT_FILE_DATA], SETTING_COMMAND,133 nil], 134 [NSDictionary dictionaryWithObjectsAndKeys: 135 BRLocalizedString(@" Fetch TV Show Data", @"Fetch TV Show Data menu item"), S ETTING_NAME,136 BRLocalizedString(@"Tells Sapphire that for every TV episode, gather more information about this episode from the internet.", @"Fetch TV Show Data description"), S ETTING_DESCRIPTION,137 [theme gem:TVR_GEM_KEY], S ETTING_GEM,138 [NSNumber numberWithInt: COMMAND_IMPORT_TV_DATA], SETTING_COMMAND,139 nil], 140 [NSDictionary dictionaryWithObjectsAndKeys: 141 BRLocalizedString(@" Fetch Movie Data", @"Fetch Movie Data menu item"), S ETTING_NAME,142 BRLocalizedString(@"Tells Sapphire that for every Movie, gather more information from the internet.", @"Fetch Movie Data description"), S ETTING_DESCRIPTION,143 [theme gem:IMDB_GEM_KEY], S ETTING_GEM,144 [NSNumber numberWithInt: COMMAND_IMPORT_MOVIE_DATA], SETTING_COMMAND,145 nil], 146 [NSDictionary dictionaryWithObjectsAndKeys: 147 BRLocalizedString(@" Calculate TV Directories", @"Calculate TV Dirs menu item"), S ETTING_NAME,148 BRLocalizedString(@"Tells Sapphire to calculate directories where each TV show is stored.", @"Calculate TV Dirs description"), S ETTING_DESCRIPTION,149 [theme gem:TVR_GEM_KEY], S ETTING_GEM,150 [NSNumber numberWithInt: COMMAND_IMPORT_TV_AUTOSORT_CALCULATE], SETTING_COMMAND,151 nil], 152 [NSDictionary dictionaryWithObjectsAndKeys: 153 BRLocalizedString(@" Update Scrapers", @"Update Scrapers menu item"), S ETTING_NAME,154 BRLocalizedString(@"Tells Sapphire to download latest scrapers from the website.", @"Update Scrapers description"), S ETTING_DESCRIPTION,155 [theme gem:CONE_GEM_KEY], S ETTING_GEM,156 [NSNumber numberWithInt: COMMAND_IMPORT_UPDATE_SCRAPERS], SETTING_COMMAND,135 BRLocalizedString(@" Populate File Data", @"Populate File Data menu item"), SettingListName, 136 BRLocalizedString(@"Tells Sapphire to examine all files, and remember the file size, length and other information that can be gathered from the file itself.", @"Populate File Data description"), SettingListDescription, 137 [theme gem:IMPORT_GEM_KEY], SettingListGem, 138 [NSNumber numberWithInt:SettingsCommandImportFileData], SettingListCommand, 139 nil], 140 [NSDictionary dictionaryWithObjectsAndKeys: 141 BRLocalizedString(@" Fetch TV Show Data", @"Fetch TV Show Data menu item"), SettingListName, 142 BRLocalizedString(@"Tells Sapphire that for every TV episode, gather more information about this episode from the internet.", @"Fetch TV Show Data description"), SettingListDescription, 143 [theme gem:TVR_GEM_KEY], SettingListGem, 144 [NSNumber numberWithInt:SettingsCommandImportTVData], SettingListCommand, 145 nil], 146 [NSDictionary dictionaryWithObjectsAndKeys: 147 BRLocalizedString(@" Fetch Movie Data", @"Fetch Movie Data menu item"), SettingListName, 148 BRLocalizedString(@"Tells Sapphire that for every Movie, gather more information from the internet.", @"Fetch Movie Data description"), SettingListDescription, 149 [theme gem:IMDB_GEM_KEY], SettingListGem, 150 [NSNumber numberWithInt:SettingsCommandImportMovieData], SettingListCommand, 151 nil], 152 [NSDictionary dictionaryWithObjectsAndKeys: 153 BRLocalizedString(@" Calculate TV Directories", @"Calculate TV Dirs menu item"), SettingListName, 154 BRLocalizedString(@"Tells Sapphire to calculate directories where each TV show is stored.", @"Calculate TV Dirs description"), SettingListDescription, 155 [theme gem:TVR_GEM_KEY], SettingListGem, 156 [NSNumber numberWithInt:SettingsCommandImportTVAutosortCalculate], SettingListCommand, 157 nil], 158 [NSDictionary dictionaryWithObjectsAndKeys: 159 BRLocalizedString(@" Update Scrapers", @"Update Scrapers menu item"), SettingListName, 160 BRLocalizedString(@"Tells Sapphire to download latest scrapers from the website.", @"Update Scrapers description"), SettingListDescription, 161 [theme gem:CONE_GEM_KEY], SettingListGem, 162 [NSNumber numberWithInt:SettingsCommandImportUpdateScrapers], SettingListCommand, 157 163 nil], 158 164 /* [NSDictionary dictionaryWithObjectsAndKeys: 159 BRLocalizedString(@" Choose Movie Posters", @"Start Poster Chooser menu item"), S ETTING_NAME,160 BRLocalizedString(@"Choose Movie Posters", @"Start Poster Chooser description"), S ETTING_DESCRIPTION,161 [theme gem:GREEN_GEM_KEY], S ETTING_GEM,162 [NSNumber numberWithInt:COMMAND_IMPORT_MOVIE_POSTERS], S ETTING_COMMAND,165 BRLocalizedString(@" Choose Movie Posters", @"Start Poster Chooser menu item"), SettingListName, 166 BRLocalizedString(@"Choose Movie Posters", @"Start Poster Chooser description"), SettingListDescription, 167 [theme gem:GREEN_GEM_KEY], SettingListGem, 168 [NSNumber numberWithInt:COMMAND_IMPORT_MOVIE_POSTERS], SettingListCommand, 163 169 nil],*/ 164 170 [NSDictionary dictionaryWithObjectsAndKeys: 165 BRLocalizedString(@" Hide Collections", @"Hide Collections menu item"), S ETTING_NAME,166 BRLocalizedString(@"Allows the user to specify which collections should be hidden from Sapphire's main menu.", @"Hide Collections description"), S ETTING_DESCRIPTION,167 [theme gem:FILE_GEM_KEY], S ETTING_GEM,168 [NSNumber numberWithInt: COMMAND_COLLECTIONS_HIDE], SETTING_COMMAND,169 nil], 170 [NSDictionary dictionaryWithObjectsAndKeys: 171 BRLocalizedString(@" Don't Import Collections", @"Don't Import Collections menu item"), S ETTING_NAME,172 BRLocalizedString(@"Allows the user to specify which collections should be skipped when importing meta data.", @"Don't Import Collections description"), S ETTING_DESCRIPTION,173 [theme gem:FILE_GEM_KEY], S ETTING_GEM,174 [NSNumber numberWithInt: COMMAND_COLLECTIONS_DONT_IMPORT], SETTING_COMMAND,175 nil], 176 [NSDictionary dictionaryWithObjectsAndKeys: 177 BRLocalizedString(@" Delete Collections", @"Delete Collections menu item"), S ETTING_NAME,178 BRLocalizedString(@"Allows the user to specify which collections should be delete along with its data. Use this for collections which will never be used again.", @"Delete Collections description"), S ETTING_DESCRIPTION,179 [theme gem:FILE_GEM_KEY], S ETTING_GEM,180 [NSNumber numberWithInt: COMMAND_COLLECTIONS_DELETE], SETTING_COMMAND,181 nil], 182 [NSDictionary dictionaryWithObjectsAndKeys: 183 BRLocalizedString(@" Skip \"Favorite Shows\" filter", @"Skip Favorite shows menu item"), S ETTING_NAME,184 BRLocalizedString(@"Tells Sapphire that when changing filter settings, skip over the favorite shows filter.", @"Skip Favorite shows description"), S ETTING_DESCRIPTION,185 HIDE_FAVORITE_KEY, SETTING_KEY,186 [theme gem:YELLOW_GEM_KEY], S ETTING_GEM,187 [NSNumber numberWithInt: COMMAND_FILTERS_SKIP_FAVORITE], SETTING_COMMAND,171 BRLocalizedString(@" Hide Collections", @"Hide Collections menu item"), SettingListName, 172 BRLocalizedString(@"Allows the user to specify which collections should be hidden from Sapphire's main menu.", @"Hide Collections description"), SettingListDescription, 173 [theme gem:FILE_GEM_KEY], SettingListGem, 174 [NSNumber numberWithInt:SettingsCommandCollectionsHide], SettingListCommand, 175 nil], 176 [NSDictionary dictionaryWithObjectsAndKeys: 177 BRLocalizedString(@" Don't Import Collections", @"Don't Import Collections menu item"), SettingListName, 178 BRLocalizedString(@"Allows the user to specify which collections should be skipped when importing meta data.", @"Don't Import Collections description"), SettingListDescription, 179 [theme gem:FILE_GEM_KEY], SettingListGem, 180 [NSNumber numberWithInt:SettingsCommandCollectionsDontImport], SettingListCommand, 181 nil], 182 [NSDictionary dictionaryWithObjectsAndKeys: 183 BRLocalizedString(@" Delete Collections", @"Delete Collections menu item"), SettingListName, 184 BRLocalizedString(@"Allows the user to specify which collections should be delete along with its data. Use this for collections which will never be used again.", @"Delete Collections description"), SettingListDescription, 185 [theme gem:FILE_GEM_KEY], SettingListGem, 186 [NSNumber numberWithInt:SettingsCommandCollectionsDelete], SettingListCommand, 187 nil], 188 [NSDictionary dictionaryWithObjectsAndKeys: 189 BRLocalizedString(@" Skip \"Favorite Shows\" filter", @"Skip Favorite shows menu item"), SettingListName, 190 BRLocalizedString(@"Tells Sapphire that when changing filter settings, skip over the favorite shows filter.", @"Skip Favorite shows description"), SettingListDescription, 191 SettingHideFavorite, SettingListKey, 192 [theme gem:YELLOW_GEM_KEY], SettingListGem, 193 [NSNumber numberWithInt:SettingsCommandFiltersSkipFavorite], SettingListCommand, 188 194 nil], 189 195 /* [NSDictionary dictionaryWithObjectsAndKeys: 190 BRLocalizedString(@" Skip \"Top Shows\" filter", @"Skip Top shows menu item"), S ETTING_NAME,191 BRLocalizedString(@"Skip \"Top Shows\" filter", @"Skip Top shows description"), S ETTING_DESCRIPTION,192 HIDE_TOP_SHOWS_KEY, SETTING_KEY,193 [theme gem:GREEN_GEM_KEY], S ETTING_GEM,194 [NSNumber numberWithInt:COMMAND_FILTERS_SKIP_TOP_SHOWS], S ETTING_COMMAND,196 BRLocalizedString(@" Skip \"Top Shows\" filter", @"Skip Top shows menu item"), SettingListName, 197 BRLocalizedString(@"Skip \"Top Shows\" filter", @"Skip Top shows description"), SettingListDescription, 198 SettingHideTopShows, SettingListKey, 199 [theme gem:GREEN_GEM_KEY], SettingListGem, 200 [NSNumber numberWithInt:COMMAND_FILTERS_SKIP_TOP_SHOWS], SettingListCommand, 195 201 nil],*/ 196 202 [NSDictionary dictionaryWithObjectsAndKeys: 197 BRLocalizedString(@" Skip \"Unwatched Shows\" filter", @"Skip Unwatched shows menu item"), S ETTING_NAME,198 BRLocalizedString(@"Tells Sapphire that when changing filter settings, skip over the unwatched shows filter.", @"Skip Unwatched shows description"), S ETTING_DESCRIPTION,199 HIDE_UNWATCHED_KEY, SETTING_KEY,200 [theme gem:BLUE_GEM_KEY], S ETTING_GEM,201 [NSNumber numberWithInt: COMMAND_FILTERS_SKIP_UNWATCHED], SETTING_COMMAND,202 nil], 203 [NSDictionary dictionaryWithObjectsAndKeys: 204 BRLocalizedString(@" Hide Show Spoilers", @"Hide show summary menu item"), S ETTING_NAME,205 BRLocalizedString(@"Tells Sapphire to disable the display of the show's synopsis.", @"Hide show summary description"), S ETTING_DESCRIPTION,206 HIDE_SPOILERS_KEY, SETTING_KEY,207 [theme gem:NOTE_GEM_KEY], S ETTING_GEM,208 [NSNumber numberWithInt: COMMAND_METADATA_HIDE_SPOILERS], SETTING_COMMAND,209 nil], 210 [NSDictionary dictionaryWithObjectsAndKeys: 211 BRLocalizedString(@" Hide Audio Info", @"Hide perian audio info menu item"), S ETTING_NAME,212 BRLocalizedString(@"Tells Sapphire to disable the display of audio codec and sample rate information.", @"Hide perian audio info description"), S ETTING_DESCRIPTION,213 HIDE_AUDIO_KEY, SETTING_KEY,214 [theme gem:AUDIO_GEM_KEY], S ETTING_GEM,215 [NSNumber numberWithInt: COMMAND_METADATA_HIDE_AUDIO], SETTING_COMMAND,216 nil], 217 [NSDictionary dictionaryWithObjectsAndKeys: 218 BRLocalizedString(@" Hide Video Info", @"Hide perian video info menu item"), S ETTING_NAME,219 BRLocalizedString(@"Tells Sapphire to disable the display of video codec, resolution, and color depth information.", @"Hide perian video info description"), S ETTING_DESCRIPTION,220 HIDE_VIDEO_KEY, SETTING_KEY,221 [theme gem:VIDEO_GEM_KEY], S ETTING_GEM,222 [NSNumber numberWithInt: COMMAND_METADATA_HIDE_VIDEO], SETTING_COMMAND,223 nil], 224 [NSDictionary dictionaryWithObjectsAndKeys: 225 BRLocalizedString(@" Hide Poster Chooser", @"Hide poster chooser menu item"), S ETTING_NAME,226 BRLocalizedString(@"Tells Sapphire to automatically choose posters for movies instead of asking the user to choose one.", @"Hide poster chooser description"), S ETTING_DESCRIPTION,227 HIDE_POSTER_CHOOSER_KEY, SETTING_KEY,228 [theme gem:IMPORT_GEM_KEY], S ETTING_GEM,229 [NSNumber numberWithInt: COMMAND_IMPORT_HIDE_POSTER_CHOOSER], SETTING_COMMAND,230 nil], 231 [NSDictionary dictionaryWithObjectsAndKeys: 232 BRLocalizedString(@" Hide UI Quit", @"Hide the ui quitter menu item"), S ETTING_NAME,233 BRLocalizedString(@"Tells Sapphire to hide the main menu element forcing FrontRow to quit.", @"Hide the ui quitter description"), S ETTING_DESCRIPTION,234 HIDE_UI_QUIT_KEY, SETTING_KEY,235 [theme gem:FRONTROW_GEM_KEY], S ETTING_GEM,236 [NSNumber numberWithInt: COMMAND_GENERAL_HIDE_UI_QUIT], SETTING_COMMAND,237 nil], 238 [NSDictionary dictionaryWithObjectsAndKeys: 239 BRLocalizedString(@" Fast Directory Switching", @"Don't rescan directories upon entry and used cached data"), S ETTING_NAME,240 BRLocalizedString(@"Tells Sapphire that when using a filter, use the cached data to setup directories rather than scanning the directories themselves for new files.", @"Fast Directory Switching description"), S ETTING_DESCRIPTION,241 ENABLE_FAST_SWITCHING_KEY, SETTING_KEY,242 [theme gem:FAST_GEM_KEY], S ETTING_GEM,243 [NSNumber numberWithInt: COMMAND_GENERAL_FAST_DIRECTORY_SWITCHING], SETTING_COMMAND,244 nil], 245 [NSDictionary dictionaryWithObjectsAndKeys: 246 BRLocalizedString(@" Enable AC3 Passthrough", @"Enable AC3 Passthrough menu item"), S ETTING_NAME,247 BRLocalizedString(@"Tells Sapphire that you have an AC3 decoder and to enable passthrough of the full audio information to the decoder. This is how you get 5.1 and DTS output.", @"Enable AC3 Passthrough description"), S ETTING_DESCRIPTION,248 USE_AC3_PASSTHROUGH, SETTING_KEY,249 [theme gem:AC3_GEM_KEY], S ETTING_GEM,250 [NSNumber numberWithInt: COMMAND_AUDIO_ENABLE_AC3], SETTING_COMMAND,251 nil], 252 [NSDictionary dictionaryWithObjectsAndKeys: 253 BRLocalizedString(@" Use Directory Lookup", @"Use directory names instead of filenames for movie lookup"), S ETTING_NAME,254 BRLocalizedString(@"Tells Sapphire that you want to use directory names instead of file names for identifying movies.", @"Enable Directory lookup description"), S ETTING_DESCRIPTION,255 ENABLE_DIR_LOOKUP, SETTING_KEY,256 [theme gem:IMDB_GEM_KEY], S ETTING_GEM,257 [NSNumber numberWithInt: COMMAND_IMPORT_USE_DIR_NAME], SETTING_COMMAND,258 nil], 259 [NSDictionary dictionaryWithObjectsAndKeys: 260 BRLocalizedString(@" Auto-Select Movies/Shows", @"Hide movie/show chooser menu item"), S ETTING_NAME,261 BRLocalizedString(@"Tells Sapphire skip the TV Show and Movie choosers when importing and make selections automatically.", @"Enable movie/show chooser description"), S ETTING_DESCRIPTION,262 ENABLE_AUTO_SELECTION, SETTING_KEY,263 [theme gem:IMPORT_GEM_KEY], S ETTING_GEM,264 [NSNumber numberWithInt: COMMAND_IMPORT_HIDE_ALL_CHOOSERS], SETTING_COMMAND,265 nil], 266 [NSDictionary dictionaryWithObjectsAndKeys: 267 BRLocalizedString(@" Disable Anonymous Reporting", @"Disable the anonymous reporting for aid in future features"), S ETTING_NAME,268 BRLocalizedString(@"Tells Sapphire to not report any anonymous information on how you use Sapphire. Anonymous reporting enables us to improve the plugin for future use.", @"Disable the anonymous reporting description"), S ETTING_DESCRIPTION,269 DISABLE_ANON_KEY, SETTING_KEY,270 [theme gem:REPORT_GEM_KEY], S ETTING_GEM,271 [NSNumber numberWithInt: COMMAND_GENERAL_DONT_ANON_REPORT], SETTING_COMMAND,203 BRLocalizedString(@" Skip \"Unwatched Shows\" filter", @"Skip Unwatched shows menu item"), SettingListName, 204 BRLocalizedString(@"Tells Sapphire that when changing filter settings, skip over the unwatched shows filter.", @"Skip Unwatched shows description"), SettingListDescription, 205 SettingHideUnwatched, SettingListKey, 206 [theme gem:BLUE_GEM_KEY], SettingListGem, 207 [NSNumber numberWithInt:SettingsCommandFiltersSkipUnwatched], SettingListCommand, 208 nil], 209 [NSDictionary dictionaryWithObjectsAndKeys: 210 BRLocalizedString(@" Hide Show Spoilers", @"Hide show summary menu item"), SettingListName, 211 BRLocalizedString(@"Tells Sapphire to disable the display of the show's synopsis.", @"Hide show summary description"), SettingListDescription, 212 SettingHideSpoilers, SettingListKey, 213 [theme gem:NOTE_GEM_KEY], SettingListGem, 214 [NSNumber numberWithInt:SettingsCommandMetadataHideSpoilers], SettingListCommand, 215 nil], 216 [NSDictionary dictionaryWithObjectsAndKeys: 217 BRLocalizedString(@" Hide Audio Info", @"Hide perian audio info menu item"), SettingListName, 218 BRLocalizedString(@"Tells Sapphire to disable the display of audio codec and sample rate information.", @"Hide perian audio info description"), SettingListDescription, 219 SettingHideAudio, SettingListKey, 220 [theme gem:AUDIO_GEM_KEY], SettingListGem, 221 [NSNumber numberWithInt:SettingsCommandMetadataHideAudio], SettingListCommand, 222 nil], 223 [NSDictionary dictionaryWithObjectsAndKeys: 224 BRLocalizedString(@" Hide Video Info", @"Hide perian video info menu item"), SettingListName, 225 BRLocalizedString(@"Tells Sapphire to disable the display of video codec, resolution, and color depth information.", @"Hide perian video info description"), SettingListDescription, 226 SettingHideVideo, SettingListKey, 227 [theme gem:VIDEO_GEM_KEY], SettingListGem, 228 [NSNumber numberWithInt:SettingsCommandMetadataHideVideo], SettingListCommand, 229 nil], 230 [NSDictionary dictionaryWithObjectsAndKeys: 231 BRLocalizedString(@" Hide Poster Chooser", @"Hide poster chooser menu item"), SettingListName, 232 BRLocalizedString(@"Tells Sapphire to automatically choose posters for movies instead of asking the user to choose one.", @"Hide poster chooser description"), SettingListDescription, 233 SettingHidePosterChooser, SettingListKey, 234 [theme gem:IMPORT_GEM_KEY], SettingListGem, 235 [NSNumber numberWithInt:SettingsCommandImportHidePosterChooser], SettingListCommand, 236 nil], 237 [NSDictionary dictionaryWithObjectsAndKeys: 238 BRLocalizedString(@" Hide UI Quit", @"Hide the ui quitter menu item"), SettingListName, 239 BRLocalizedString(@"Tells Sapphire to hide the main menu element forcing FrontRow to quit.", @"Hide the ui quitter description"), SettingListDescription, 240 SettingHideUIQuit, SettingListKey, 241 [theme gem:FRONTROW_GEM_KEY], SettingListGem, 242 [NSNumber numberWithInt:SettingsCommandGeneralHideUIQuit], SettingListCommand, 243 nil], 244 [NSDictionary dictionaryWithObjectsAndKeys: 245 BRLocalizedString(@" Fast Directory Switching", @"Don't rescan directories upon entry and used cached data"), SettingListName, 246 BRLocalizedString(@"Tells Sapphire that when using a filter, use the cached data to setup directories rather than scanning the directories themselves for new files.", @"Fast Directory Switching description"), SettingListDescription, 247 SettingEnableFastSwitch, SettingListKey, 248 [theme gem:FAST_GEM_KEY], SettingListGem, 249 [NSNumber numberWithInt:SettingsCommandGeneralFastDirectorySwitching], SettingListCommand, 250 nil], 251 [NSDictionary dictionaryWithObjectsAndKeys: 252 BRLocalizedString(@" Enable AC3 Passthrough", @"Enable AC3 Passthrough menu item"), SettingListName, 253 BRLocalizedString(@"Tells Sapphire that you have an AC3 decoder and to enable passthrough of the full audio information to the decoder. This is how you get 5.1 and DTS output.", @"Enable AC3 Passthrough description"), SettingListDescription, 254 SettingAC3Passthrough, SettingListKey, 255 [theme gem:AC3_GEM_KEY], SettingListGem, 256 [NSNumber numberWithInt:SettingsCommandAudioEnableAC3], SettingListCommand, 257 nil], 258 [NSDictionary dictionaryWithObjectsAndKeys: 259 BRLocalizedString(@" Use Directory Lookup", @"Use directory names instead of filenames for movie lookup"), SettingListName, 260 BRLocalizedString(@"Tells Sapphire that you want to use directory names instead of file names for identifying movies.", @"Enable Directory lookup description"), SettingListDescription, 261 SettingDirLookup, SettingListKey, 262 [theme gem:IMDB_GEM_KEY], SettingListGem, 263 [NSNumber numberWithInt:SettingsCommandImportUseDirName], SettingListCommand, 264 nil], 265 [NSDictionary dictionaryWithObjectsAndKeys: 266 BRLocalizedString(@" Auto-Select Movies/Shows", @"Hide movie/show chooser menu item"), SettingListName, 267 BRLocalizedString(@"Tells Sapphire skip the TV Show and Movie choosers when importing and make selections automatically.", @"Enable movie/show chooser description"), SettingListDescription, 268 SettingEnableAutoSelect, SettingListKey, 269 [theme gem:IMPORT_GEM_KEY], SettingListGem, 270 [NSNumber numberWithInt:SettingsCommandImportHideAllChoosers], SettingListCommand, 271 nil], 272 [NSDictionary dictionaryWithObjectsAndKeys: 273 BRLocalizedString(@" Disable Anonymous Reporting", @"Disable the anonymous reporting for aid in future features"), SettingListName, 274 BRLocalizedString(@"Tells Sapphire to not report any anonymous information on how you use Sapphire. Anonymous reporting enables us to improve the plugin for future use.", @"Disable the anonymous reporting description"), SettingListDescription, 275 SettingDisableAnonReport, SettingListKey, 276 [theme gem:REPORT_GEM_KEY], SettingListGem, 277 [NSNumber numberWithInt:SettingsCommandGeneralDontAnonReport], SettingListCommand, 272 278 nil], 273 279 nil]; … … 277 283 /*Set deaults*/ 278 284 defaults = [[NSDictionary alloc] initWithObjectsAndKeys: 279 [NSNumber numberWithBool:NO], HIDE_FAVORITE_KEY, 280 [NSNumber numberWithBool:YES], HIDE_TOP_SHOWS_KEY, 281 [NSNumber numberWithBool:NO], HIDE_UNWATCHED_KEY, 282 [NSNumber numberWithBool:NO], HIDE_SPOILERS_KEY, 283 [NSNumber numberWithBool:NO], HIDE_AUDIO_KEY, 284 [NSNumber numberWithBool:NO], HIDE_VIDEO_KEY, 285 [NSNumber numberWithBool:NO], HIDE_POSTER_CHOOSER_KEY, 286 [NSNumber numberWithBool:YES], HIDE_UI_QUIT_KEY, 287 [NSNumber numberWithBool:YES], ENABLE_FAST_SWITCHING_KEY, 288 [NSNumber numberWithBool:NO], USE_AC3_PASSTHROUGH, 289 [NSNumber numberWithBool:NO], ENABLE_DIR_LOOKUP, 290 [NSNumber numberWithBool:NO], ENABLE_AUTO_SELECTION, 291 [NSNumber numberWithBool:NO], DISABLE_ANON_KEY, 292 [NSNumber numberWithInt:NSNotFound], LAST_PREDICATE, 285 [NSNumber numberWithBool:NO], SettingHideFavorite, 286 [NSNumber numberWithBool:YES], SettingHideTopShows, 287 [NSNumber numberWithBool:NO], SettingHideUnwatched, 288 [NSNumber numberWithBool:NO], SettingHideSpoilers, 289 [NSNumber numberWithBool:NO], SettingHideAudio, 290 [NSNumber numberWithBool:NO], SettingHideVideo, 291 [NSNumber numberWithBool:NO], SettingHidePosterChooser, 292 [NSNumber numberWithBool:YES], SettingHideUIQuit, 293 [NSNumber numberWithBool:YES], SettingEnableFastSwitch, 294 [NSNumber numberWithBool:NO], SettingAC3Passthrough, 295 [NSNumber numberWithBool:NO], SettingDirLookup, 296 [NSNumber numberWithBool:NO], SettingEnableAutoSelect, 297 [NSNumber numberWithBool:NO], SettingDisableAnonReport, 298 [NSNumber numberWithInt:NSNotFound], SettingLastPredicate, 299 [NSNumber numberWithInt:SapphireLogLevelError], SettingLogGeneralLevel, 300 [NSNumber numberWithInt:SapphireLogLevelError], SettingLogImportLevel, 301 [NSNumber numberWithInt:SapphireLogLevelError], SettingLogFileLevel, 302 [NSNumber numberWithInt:SapphireLogLevelError], SettingLogPlaybackLevel, 303 [NSNumber numberWithInt:SapphireLogLevelError], SettingLogMetadataLevel, 293 304 nil]; 294 305 if(options == nil) … … 356 367 } 357 368 369 - (SapphireLogLevel)logLevelForKey:(NSString *)key 370 { 371 /*Check the user's setting*/ 372 NSNumber *num = [options objectForKey:key]; 373 SapphireLogLevel value = [num intValue]; 374 if(num != nil && value > 0 && value < SapphireLogLevelCount) 375 return value; 376 return [[defaults objectForKey:key] intValue]; 377 } 378 358 379 - (BOOL)displayUnwatched 359 380 { 360 return ![self boolForKey: HIDE_UNWATCHED_KEY];381 return ![self boolForKey:SettingHideUnwatched]; 361 382 } 362 383 363 384 - (BOOL)displayFavorites 364 385 { 365 return ![self boolForKey: HIDE_FAVORITE_KEY];386 return ![self boolForKey:SettingHideFavorite]; 366 387 } 367 388 368 389 - (BOOL)displayTopShows 369 390 { 370 return ![self boolForKey: HIDE_TOP_SHOWS_KEY];391 return ![self boolForKey:SettingHideTopShows]; 371 392 } 372 393 373 394 - (BOOL)displaySpoilers 374 395 { 375 return ![self boolForKey: HIDE_SPOILERS_KEY];396 return ![self boolForKey:SettingHideSpoilers]; 376 397 } 377 398 378 399 - (BOOL)displayAudio 379 400 { 380 return ![self boolForKey: HIDE_AUDIO_KEY];401 return ![self boolForKey:SettingHideAudio]; 381 402 } 382 403 383 404 - (BOOL)displayVideo 384 405 { 385 return ![self boolForKey: HIDE_VIDEO_KEY];406 return ![self boolForKey:SettingHideVideo]; 386 407 } 387 408 388 409 - (BOOL)displayPosterChooser 389 410 { 390 return ![self boolForKey: HIDE_POSTER_CHOOSER_KEY];411 return ![self boolForKey:SettingHidePosterChooser]; 391 412 } 392 413 393 414 - (BOOL)disableUIQuit 394 415 { 395 return [self boolForKey: HIDE_UI_QUIT_KEY];416 return [self boolForKey:SettingHideUIQuit]; 396 417 } 397 418 398 419 - (BOOL)disableAnonymousReporting; 399 420 { 400 return [self boolForKey: DISABLE_ANON_KEY];421 return [self boolForKey:SettingDisableAnonReport]; 401 422 } 402 423 403 424 - (BOOL)useAC3Passthrough 404 425 { 405 return [self boolForKey: USE_AC3_PASSTHROUGH];426 return [self boolForKey:SettingAC3Passthrough]; 406 427 } 407 428 408 429 - (BOOL)fastSwitching 409 430 { 410 return [self boolForKey: ENABLE_FAST_SWITCHING_KEY];431 return [self boolForKey:SettingEnableFastSwitch]; 411 432 412 433 } … … 414 435 - (BOOL)dirLookup 415 436 { 416 return [self boolForKey: ENABLE_DIR_LOOKUP];437 return [self boolForKey:SettingDirLookup]; 417 438 } 418 439 419 440 - (BOOL)autoSelection 420 441 { 421 return [self boolForKey: ENABLE_AUTO_SELECTION];442 return [self boolForKey:SettingEnableAutoSelect]; 422 443 } 423 444 424 445 - (int)indexOfLastPredicate 425 446 { 426 return [[self numberForKey: LAST_PREDICATE] intValue];447 return [[self numberForKey:SettingLastPredicate] intValue]; 427 448 } 428 449 429 450 - (void)setIndexOfLastPredicate:(int)index 430 451 { 431 [options setObject:[NSNumber numberWithInt:index] forKey: LAST_PREDICATE];452 [options setObject:[NSNumber numberWithInt:index] forKey:SettingLastPredicate]; 432 453 /*Save our settings*/ 433 454 [self writeSettings]; … … 443 464 { 444 465 return [displayOnlyPlot compare:[NSDate date]] == NSOrderedDescending; 466 } 467 468 - (SapphireLogLevel)generalLogLevel 469 { 470 return [self logLevelForKey:SettingLogGeneralLevel]; 471 } 472 473 - (SapphireLogLevel)importLogLevel 474 { 475 return [self logLevelForKey:SettingLogImportLevel]; 476 } 477 478 - (SapphireLogLevel)fileLogLevel 479 { 480 return [self logLevelForKey:SettingLogFileLevel]; 481 } 482 483 - (SapphireLogLevel)playbackLogLevel 484 { 485 return [self logLevelForKey:SettingLogPlaybackLevel]; 486 } 487 488 - (SapphireLogLevel)metadataLogLevel 489 { 490 return [self logLevelForKey:SettingLogMetadataLevel]; 445 491 } 446 492 … … 514 560 // handle being revealed when the user presses Menu 515 561 516 if(lastCommand == COMMAND_COLLECTIONS_DELETE)562 if(lastCommand == SettingsCommandCollectionsDelete) 517 563 { 518 564 NSArray *collections = [SapphireCollectionDirectory allCollectionsInContext:moc]; … … 554 600 BRAdornedMenuItemLayer * result = nil; 555 601 NSDictionary *setting = [settings objectAtIndex:row]; 556 NSString *name = [setting objectForKey:S ETTING_NAME];602 NSString *name = [setting objectForKey:SettingListName]; 557 603 result = [SapphireFrontRowCompat textMenuItemForScene:[self scene] folder:NO]; 558 604 559 NSString *key = [setting objectForKey:S ETTING_KEY];605 NSString *key = [setting objectForKey:SettingListKey]; 560 606 if(key != nil && [self boolForKey:key]) 561 607 { 562 608 [SapphireFrontRowCompat setLeftIcon:[SapphireFrontRowCompat selectedSettingImageForScene:[self scene]] forMenu:result]; 563 609 } 564 [SapphireFrontRowCompat setRightIcon:[setting objectForKey:S ETTING_GEM] forMenu:result];610 [SapphireFrontRowCompat setRightIcon:[setting objectForKey:SettingListGem] forMenu:result]; 565 611 566 612 // add text … … 576 622 return nil; 577 623 578 NSString *result = [[settings objectAtIndex:row] objectForKey:S ETTING_NAME];624 NSString *result = [[settings objectAtIndex:row] objectForKey:SettingListName]; 579 625 return result; 580 626 /* … … 605 651 NSDictionary *setting = [settings objectAtIndex:row]; 606 652 607 lastCommand = [[setting objectForKey:S ETTING_COMMAND] intValue];653 lastCommand = [[setting objectForKey:SettingListCommand] intValue]; 608 654 switch (lastCommand) { 609 case COMMAND_IMPORT_FILE_DATA:655 case SettingsCommandImportFileData: 610 656 { 611 657 SapphireAllFileDataImporter *importer = [[SapphireAllFileDataImporter alloc] init]; … … 616 662 break; 617 663 } 618 case COMMAND_IMPORT_TV_DATA:664 case SettingsCommandImportTVData: 619 665 { 620 666 SapphireTVShowImporter *importer = [[SapphireTVShowImporter alloc] init]; … … 625 671 break; 626 672 } 627 case COMMAND_IMPORT_MOVIE_DATA:673 case SettingsCommandImportMovieData: 628 674 { 629 675 SapphireMovieImporter *importer = [[SapphireMovieImporter alloc] init]; … … 634 680 break; 635 681 } 636 case COMMAND_IMPORT_TV_AUTOSORT_CALCULATE:682 case SettingsCommandImportTVAutosortCalculate: 637 683 { 638 684 NSArray *shows = doFetchRequest(SapphireTVShowName, moc, nil); … … 648 694 break; 649 695 } 650 case COMMAND_IMPORT_UPDATE_SCRAPERS:696 case SettingsCommandImportUpdateScrapers: 651 697 { 652 698 SapphireURLLoader *loader = [SapphireApplianceController urlLoader]; … … 674 720 break; 675 721 }*/ 676 case COMMAND_COLLECTIONS_HIDE:722 case SettingsCommandCollectionsHide: 677 723 { 678 724 SapphireCollectionSettings *colSettings = [[SapphireCollectionSettings alloc] initWithScene:[self scene] context:moc]; … … 684 730 break; 685 731 } 686 case COMMAND_COLLECTIONS_DONT_IMPORT:732 case SettingsCommandCollectionsDontImport: 687 733 { 688 734 SapphireCollectionSettings *colSettings = [[SapphireCollectionSettings alloc] initWithScene:[self scene] context:moc]; … … 694 740 break; 695 741 } 696 case COMMAND_COLLECTIONS_DELETE:742 case SettingsCommandCollectionsDelete: 697 743 { 698 744 SapphireCollectionSettings *colSettings = [[SapphireCollectionSettings alloc] initWithScene:[self scene] context:moc]; … … 706 752 default: 707 753 { 708 NSString *key = [setting objectForKey:S ETTING_KEY];754 NSString *key = [setting objectForKey:SettingListKey]; 709 755 if(key == nil) 710 756 break; … … 736 782 737 783 /* Get setting name & kill the gem cushion */ 738 NSString *settingName = [[setting objectForKey:S ETTING_NAME] substringFromIndex:2];739 NSString *settingDescription=[setting objectForKey:S ETTING_DESCRIPTION];784 NSString *settingName = [[setting objectForKey:SettingListName] substringFromIndex:2]; 785 NSString *settingDescription=[setting objectForKey:SettingListDescription]; 740 786 /* Construct a gerneric metadata asset for display */ 741 787 NSMutableDictionary *settingMeta=[[NSMutableDictionary alloc] init];
