Changeset 469

Show
Ignore:
Timestamp:
01/29/08 01:28:23 (10 months ago)
Author:
gbooker
Message:

Added generic metadata setup (this whole thing needs to be redesigned).
Fixes #102

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/SapphireFrappliance/SapphireMediaPreview.m

    r461 r469  
    170170 
    171171/*! 
    172 * @brief populate metadata for TV Shows 
     172 * @brief populate metadata for TV Shows 
    173173 */ 
    174174- (void) populateTVShowMetadataWith:(NSMutableDictionary*)allMeta 
     
    215215                [allMeta removeObjectForKey:META_SEASON_NUMBER_KEY]; 
    216216        } 
    217          
    218 
    219  
    220 /*! 
    221 * @brief populate metadata for Movies 
     217
     218 
     219/*! 
     220 * @brief populate metadata for Movies 
    222221 */ 
    223222- (void) populateMovieMetadataWith:(NSMutableDictionary*)allMeta 
     
    327326} 
    328327 
     328/*! 
     329 * @brief populate generic file data 
     330 */ 
     331- (void)populateGenericMetadataWith:(NSMutableDictionary *)allMeta 
     332{ 
     333        NSString *value = [allMeta objectForKey:META_TITLE_KEY]; 
     334        BRMetadataLayer *metaLayer = [self gimmieMetadataLayer]; 
     335        if(value != nil) 
     336                [metaLayer setTitle:value]; 
     337         
     338        /*Get the rating*/ 
     339        value = [allMeta objectForKey:META_RATING_KEY]; 
     340        if(value != nil) 
     341                [metaLayer setRating:value]; 
     342         
     343        /*Get the description*/ 
     344        value = [allMeta objectForKey:META_DESCRIPTION_KEY]; 
     345        if(value != nil) 
     346                if([[SapphireSettings sharedSettings] displaySpoilers]) 
     347                        [metaLayer setSummary:value]; 
     348         
     349        /*Get the copyright*/ 
     350        value = [allMeta objectForKey:META_COPYRIGHT_KEY]; 
     351        if(value != nil) 
     352                [metaLayer setCopyright:value]; 
     353         
     354        /*Get the rating*/ 
     355        value=nil; 
     356        value = [allMeta objectForKey:META_MOVIE_MPAA_RATING_KEY]; 
     357        if(value != nil) 
     358                [metaLayer setRating:value]; 
     359        /*Get the movie plot*/ 
     360        value=nil; 
     361        value = [allMeta objectForKey:META_MOVIE_PLOT_KEY]; 
     362        if(value != nil) 
     363                if([[SapphireSettings sharedSettings] displaySpoilers]) 
     364                        [metaLayer setSummary:value]; 
     365         
     366        NSArray *values=nil; 
     367        /* Get genres */ 
     368        values=[allMeta objectForKey:META_MOVIE_GENRES_KEY]; 
     369        value=[NSString string]; 
     370        if(values!=nil) 
     371        { 
     372                NSEnumerator *valuesEnum = [values objectEnumerator] ; 
     373                NSString *aValue=nil; 
     374                while((aValue = [valuesEnum nextObject]) !=nil) 
     375                { 
     376                        value=[value stringByAppendingString:[NSString stringWithFormat:@"%@, ",aValue]]; 
     377                } 
     378                /* get rid of the extra comma */ 
     379                value=[value substringToIndex:[value length]-2]; 
     380                /* sub the array for a formatted string */ 
     381                [allMeta setObject:value forKey:META_MOVIE_GENRES_KEY]; 
     382        } 
     383        /* Get directors */ 
     384        values=nil; 
     385        values=[allMeta objectForKey:META_MOVIE_DIRECTOR_KEY]; 
     386        value=[NSString string]; 
     387        if(values!=nil) 
     388        { 
     389                NSEnumerator *valuesEnum = [values objectEnumerator] ; 
     390                NSString *aValue=nil; 
     391                while((aValue = [valuesEnum nextObject]) !=nil) 
     392                { 
     393                        value=[value stringByAppendingString:[NSString stringWithFormat:@"%@, ",aValue]]; 
     394                } 
     395                /* get rid of the extra comma */ 
     396                value=[value substringToIndex:[value length]-2]; 
     397                /* sub the array for a formatted string */ 
     398                [allMeta setObject:value forKey:META_MOVIE_DIRECTOR_KEY]; 
     399        } 
     400        /* Get cast */ 
     401        values=nil; 
     402        values=[allMeta objectForKey:META_MOVIE_CAST_KEY]; 
     403        value=[NSString string]; 
     404        if(values!=nil) 
     405        { 
     406                NSEnumerator *valuesEnum = [values objectEnumerator] ; 
     407                NSString *aValue=nil; 
     408                NSString *lastToAdd = nil; 
     409                if([values count]>2) 
     410                        lastToAdd=[values objectAtIndex:2] ; 
     411                while((aValue = [valuesEnum nextObject]) !=nil) 
     412                { 
     413                        value=[value stringByAppendingString:[NSString stringWithFormat:@"%@, ",aValue]]; 
     414                        if([aValue isEqualToString:lastToAdd])break; 
     415                } 
     416                /* get rid of the extra comma */ 
     417                value=[value substringToIndex:[value length]-2]; 
     418                /* sub the array for a formatted string */ 
     419                [allMeta setObject:value forKey:META_MOVIE_CAST_KEY]; 
     420        }        
     421} 
    329422 
    330423/*! 
     
    378471                [self populateMovieMetadataWith:allMeta]; 
    379472        } 
     473        else if(fileClass != FILE_CLASS_NOT_FILE) 
     474        { 
     475                [self populateGenericMetadataWith:allMeta]; 
     476        } 
    380477        /* Directory Preview Handeling */ 
    381478        else