Skip to content

Commit

Permalink
4.4 fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
tomcool420 committed Jul 19, 2011
1 parent 6764b99 commit 0e33b26
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 62 deletions.
2 changes: 1 addition & 1 deletion SMFAssetPreviewController.h
Expand Up @@ -7,7 +7,7 @@
// //


#import "SMFMoviePreviewController.h" #import "SMFMoviePreviewController.h"
#import <BackRow/BackRow.h> #import "Backrow/AppleTV.h"


@interface SMFAssetPreviewController : SMFMoviePreviewController { @interface SMFAssetPreviewController : SMFMoviePreviewController {
BRBaseMediaAsset * asset; BRBaseMediaAsset * asset;
Expand Down
125 changes: 64 additions & 61 deletions SMFMoviePreviewController.m
Expand Up @@ -13,17 +13,19 @@
#import "SMFDefines.h" #import "SMFDefines.h"
#import "SMFBaseAsset.h" #import "SMFBaseAsset.h"
#import "SMFListDropShadowControl.h" #import "SMFListDropShadowControl.h"
#import "SMFCompatibility.h"
#import "SMFMoviePreviewDelegateDatasource.h"
#define NOSHELF #define NOSHELF
static NSString * const kSMFMovieTitle = @"title"; NSString * const kSMFMoviePreviewTitle = @"title";
static NSString * const kSMFMovieSubtitle = @"substitle"; NSString * const kSMFMoviePreviewSubtitle = @"substitle";
static NSString * const kSMFMovieSummary = @"summary"; NSString * const kSMFMoviePreviewSummary = @"summary";
static NSString * const kSMFMoviePosterPath = @"posterPath"; NSString * const kSMFMoviePreviewPosterPath = @"posterPath";
static NSString * const kSMFMoviePoster = @"poster"; NSString * const kSMFMoviePreviewPoster = @"poster";
static NSString * const kSMFMovieHeaders = @"headers"; NSString * const kSMFMoviePreviewHeaders = @"headers";
static NSString * const kSMFMovieColumns = @"columns"; NSString * const kSMFMoviePreviewColumns = @"columns";
static NSString * const kSMFMovieRating = @"rating"; NSString * const kSMFMoviePreviewRating = @"rating";
NSString * const kMoviePreviewControllerSelectionChanged = @"kMoviePreviewControllerSelectionChanged"; NSString * const kMoviePreviewControllerSelectionChanged = @"kMoviePreviewControllerSelectionChanged";
NSString * const kMoviePreviewControllerNewSelectedControl = @"kMoviePreviewControllerNewSelectedControl"; NSString * const kMoviePreviewControllerNewSelectedControl = @"kMoviePreviewControllerNewSelectedControl";




@implementation SMFMoviePreviewController @implementation SMFMoviePreviewController
Expand Down Expand Up @@ -58,39 +60,41 @@ -(id)getProviderForShelf
-(NSMutableDictionary *)getInformation -(NSMutableDictionary *)getInformation
{ {
NSMutableDictionary *d = [[NSMutableDictionary alloc]initWithObjectsAndKeys: NSMutableDictionary *d = [[NSMutableDictionary alloc]initWithObjectsAndKeys:
@"",kSMFMovieTitle, @"",kSMFMoviePreviewTitle,
@"",kSMFMovieSubtitle, @"",kSMFMoviePreviewSubtitle,
@"(no summary)",kSMFMovieSummary, @"(no summary)",kSMFMoviePreviewSummary,
[NSArray array],kSMFMovieHeaders, [NSArray array],kSMFMoviePreviewHeaders,
[NSArray array],kSMFMovieColumns, [NSArray array],kSMFMoviePreviewColumns,
[BRImage imageWithPath:[[NSBundle bundleForClass:[self class]] pathForResource:@"colorAppleTVNameImage" ofType:@"png"]],kSMFMoviePoster, [BRImage imageWithPath:[[NSBundle bundleForClass:[self class]] pathForResource:@"colorAppleTVNameImage" ofType:@"png"]],kSMFMoviePreviewPoster,
@"",kSMFMoviePosterPath, @"",kSMFMoviePreviewPosterPath,
@"pg",kSMFMovieRating, @"pg",kSMFMoviePreviewRating,
nil]; nil];
if (self.datasource!=nil && [self.datasource conformsToProtocol:@protocol(SMFMoviePreviewControllerDatasource)]) { NSLog(@"get information %@",self.datasource);
if (self.datasource!=nil /*&& [self.datasource conformsToProtocol:@protocol(SMFMoviePreviewControllerDatasource)]*/) {
NSLog(@"conforms to protocol");
NSString *t = [self.datasource title]; NSString *t = [self.datasource title];
if (t!=nil) {[d setObject:t forKey:kSMFMovieTitle];} if (t!=nil) {[d setObject:t forKey:kSMFMoviePreviewTitle];}
t = [self.datasource subtitle]; t = [self.datasource subtitle];
if (t!=nil) {[d setObject:t forKey:kSMFMovieSubtitle];} if (t!=nil) {[d setObject:t forKey:kSMFMoviePreviewSubtitle];}
t = [self.datasource summary]; t = [self.datasource summary];
if (t!=nil) {[d setObject:t forKey:kSMFMovieSummary];} if (t!=nil) {[d setObject:t forKey:kSMFMoviePreviewSummary];}
NSArray *a = [self.datasource headers]; NSArray *a = [self.datasource headers];
if (a!=nil) {[d setObject:a forKey:kSMFMovieHeaders];} if (a!=nil) {[d setObject:a forKey:kSMFMoviePreviewHeaders];}
a = [self.datasource columns]; a = [self.datasource columns];
if (a!=nil) {[d setObject:a forKey:kSMFMovieColumns];} if (a!=nil) {[d setObject:a forKey:kSMFMoviePreviewColumns];}
if ([self.datasource respondsToSelector:@selector(coverArt)]) { if ([self.datasource respondsToSelector:@selector(coverArt)]) {
BRImage *i = [self.datasource coverArt]; BRImage *i = [self.datasource coverArt];
if (i!=nil) {[d setObject:i forKey:kSMFMoviePoster];} if (i!=nil) {[d setObject:i forKey:kSMFMoviePreviewPoster];}
} }
else if([self.datasource respondsToSelector:@selector(posterPath)]) else if([self.datasource respondsToSelector:@selector(posterPath)])
{ {
t = [self.datasource posterPath]; t = [self.datasource posterPath];
if (t!=nil) {[d setObject:t forKey:kSMFMoviePosterPath];} if (t!=nil) {[d setObject:t forKey:kSMFMoviePreviewPosterPath];}
} }




t = [self.datasource rating]; t = [self.datasource rating];
if (t!=nil) {[d setObject:t forKey:kSMFMovieRating];} if (t!=nil) {[d setObject:t forKey:kSMFMoviePreviewRating];}
} }
return [d autorelease]; return [d autorelease];


Expand Down Expand Up @@ -142,7 +146,7 @@ -(void)reload
_previewControl =[[BRCoverArtPreviewControl alloc]init]; _previewControl =[[BRCoverArtPreviewControl alloc]init];


SMFBaseAsset *a = [SMFBaseAsset asset]; SMFBaseAsset *a = [SMFBaseAsset asset];
[a setCoverArt:[_info objectForKey:kSMFMoviePoster]]; [a setCoverArt:[_info objectForKey:kSMFMoviePreviewPoster]];
BRPhotoImageProxy *proxy = [[BRPhotoImageProxy alloc] initWithAsset:a]; BRPhotoImageProxy *proxy = [[BRPhotoImageProxy alloc] initWithAsset:a];
[_previewControl setImageProxy:proxy]; [_previewControl setImageProxy:proxy];
[proxy release]; [proxy release];
Expand All @@ -153,11 +157,12 @@ -(void)reload
/* /*
* The Title * The Title
*/ */
NSLog(@"1");
checkNil(_metadataTitleControl); checkNil(_metadataTitleControl);
_metadataTitleControl=[[BRMetadataTitleControl alloc]init]; _metadataTitleControl=[[BRMetadataTitleControl alloc]init];
[_metadataTitleControl setTitle:[_info objectForKey:kSMFMovieTitle]]; [_metadataTitleControl setTitle:[_info objectForKey:kSMFMoviePreviewTitle]];
[_metadataTitleControl setTitleSubtext:[_info objectForKey:kSMFMovieSubtitle]]; [_metadataTitleControl setTitleSubtext:[_info objectForKey:kSMFMoviePreviewSubtitle]];
[_metadataTitleControl setRating:[_info objectForKey:kSMFMovieRating]]; [_metadataTitleControl setRating:[_info objectForKey:kSMFMoviePreviewRating]];
CGRect mtcf=CGRectMake(masterFrame.size.width*0.29766f, CGRect mtcf=CGRectMake(masterFrame.size.width*0.29766f,
masterFrame.size.height*0.875f, masterFrame.size.height*0.875f,
masterFrame.size.width*0.648f, masterFrame.size.width*0.648f,
Expand Down Expand Up @@ -200,7 +205,7 @@ -(void)reload
mtcf.size.width,//masterFrame.size.width*0.64f, mtcf.size.width,//masterFrame.size.width*0.64f,
masterFrame.size.height*(94.f/720.f));//masterFrame.size.height*0.113f); masterFrame.size.height*(94.f/720.f));//masterFrame.size.height*0.113f);
[_summaryControl setFrame:summaryFrame]; [_summaryControl setFrame:summaryFrame];
[_summaryControl setText:[_info objectForKey:kSMFMovieSummary] [_summaryControl setText:[_info objectForKey:kSMFMoviePreviewSummary]
withAttributes:[[BRThemeInfo sharedTheme]metadataSummaryFieldAttributes]]; withAttributes:[[BRThemeInfo sharedTheme]metadataSummaryFieldAttributes]];
//[_summaryControl setBackgroundColor:[[SMFThemeInfo sharedTheme]blackColor]]; //[_summaryControl setBackgroundColor:[[SMFThemeInfo sharedTheme]blackColor]];


Expand All @@ -219,16 +224,17 @@ -(void)reload
[_hideList addObject:div2]; [_hideList addObject:div2];
[div2 release]; [div2 release];



NSLog(@"2");


/* /*
* Headers for information * Headers for information
*/ */
NSArray *headers = [_info objectForKey:kSMFMovieHeaders]; NSArray *headers = [_info objectForKey:kSMFMoviePreviewHeaders];
float increment = (mtcf.size.width/masterFrame.size.width)/(float)[headers count]; float increment = (mtcf.size.width/masterFrame.size.width)/(float)[headers count];
//int counter=0; //int counter=0;
float lastOriginY=0.0f; float lastOriginY=0.0f;
for(int counter=0;counter<4;counter++) NSLog(@"obj: %@",headers);
for(int counter=0;counter<[headers count];counter++)
{ {
BRTextControl *head = [[BRTextControl alloc]init]; BRTextControl *head = [[BRTextControl alloc]init];
[head setText:[headers objectAtIndex:counter] withAttributes:[SMFMoviePreviewController columnHeaderAttributes] ]; [head setText:[headers objectAtIndex:counter] withAttributes:[SMFMoviePreviewController columnHeaderAttributes] ];
Expand All @@ -247,7 +253,8 @@ -(void)reload
/* /*
* Main Information * Main Information
*/ */
NSArray *objects = [_info objectForKey:kSMFMovieColumns]; NSLog(@"3");
NSArray *objects = [_info objectForKey:kSMFMoviePreviewColumns];
for (int counter=0; counter<[objects count]; counter++) { for (int counter=0; counter<[objects count]; counter++) {
NSArray *current = [objects objectAtIndex:counter]; NSArray *current = [objects objectAtIndex:counter];
int maxObj = [current count]>5?5:[current count]; int maxObj = [current count]>5?5:[current count];
Expand Down Expand Up @@ -366,30 +373,29 @@ -(void)reload


} }
} }

NSLog(@"buttons");

checkNil(_buttons); checkNil(_buttons);


_buttons=[[NSMutableArray alloc]init]; _buttons=[[NSMutableArray alloc]init];
NSArray *buttons=nil;//[NSArray array]; NSArray *tbuttons=nil;//[NSArray array];
if ([self.datasource respondsToSelector:@selector(buttons)]) { if ([self.datasource respondsToSelector:@selector(buttons)]) {
buttons = [self.datasource buttons]; tbuttons = [self.datasource buttons];
} }
else { else {
buttons=[[NSMutableArray alloc]init]; tbuttons=[[NSMutableArray alloc]init];
[(NSMutableArray *)buttons addObject:[BRButtonControl actionButtonWithImage:[[BRThemeInfo sharedTheme]previewActionImage] [(NSMutableArray *)tbuttons addObject:[BRButtonControl actionButtonWithImage:[[BRThemeInfo sharedTheme]previewActionImage]
subtitle:@"Preview" subtitle:@"Preview"
badge:nil]]; badge:nil]];
[(NSMutableArray *)buttons addObject:[BRButtonControl actionButtonWithImage:[[BRThemeInfo sharedTheme]playActionImage] [(NSMutableArray *)tbuttons addObject:[BRButtonControl actionButtonWithImage:[[BRThemeInfo sharedTheme]playActionImage]
subtitle:@"Play" subtitle:@"Play"
badge:nil]]; badge:nil]];
[(NSMutableArray *)buttons addObject:[BRButtonControl actionButtonWithImage:[[BRThemeInfo sharedTheme]queueActionImage] [(NSMutableArray *)tbuttons addObject:[BRButtonControl actionButtonWithImage:[[BRThemeInfo sharedTheme]queueActionImage]
subtitle:@"Queue" subtitle:@"Queue"
badge:nil]]; badge:nil]];
[(NSMutableArray *)buttons addObject:[BRButtonControl actionButtonWithImage:[[BRThemeInfo sharedTheme]rateActionImage] [(NSMutableArray *)tbuttons addObject:[BRButtonControl actionButtonWithImage:[[BRThemeInfo sharedTheme]rateActionImage]
subtitle:@"More" subtitle:@"More"
badge:nil]]; badge:nil]];
[buttons autorelease]; [tbuttons autorelease];


} }


Expand All @@ -401,9 +407,9 @@ -(void)reload
CGRect firstButtonFrame = CGRectZero; CGRect firstButtonFrame = CGRectZero;
CGRect lastButtonFrame = CGRectZero; CGRect lastButtonFrame = CGRectZero;
int button=0; int button=0;
for(int i=0;i<[buttons count];i++) for(int i=0;i<[tbuttons count];i++)
{ {
id b = [buttons objectAtIndex:i]; id b = [tbuttons objectAtIndex:i];
if([b isKindOfClass:[BRButtonControl class]]) if([b isKindOfClass:[BRButtonControl class]])
{ {
CGRect f = previewFrame; CGRect f = previewFrame;
Expand All @@ -415,7 +421,7 @@ -(void)reload


if (i == 0) { if (i == 0) {
firstButtonFrame = f; firstButtonFrame = f;
} else if (i == [buttons count]-1) { } else if (i == [tbuttons count]-1) {
lastButtonFrame = f; lastButtonFrame = f;
} }


Expand All @@ -429,7 +435,7 @@ -(void)reload
checkNil(_nextArrowImageControl); checkNil(_nextArrowImageControl);


float arrowImageControlMargin = 20.0f; float arrowImageControlMargin = 20.0f;
if ([buttons count] > 0) { //if there are no buttons, we cannot go next/previous if ([tbuttons count] > 0) { //if there are no buttons, we cannot go next/previous
//next/previous arrows //next/previous arrows
if ([self.delegate respondsToSelector:@selector(controllerCanSwitchToPrevious:)]) { if ([self.delegate respondsToSelector:@selector(controllerCanSwitchToPrevious:)]) {
//does respond //does respond
Expand Down Expand Up @@ -478,7 +484,7 @@ -(void)reload
} }
} }
} }

NSLog(@"end buttons");


BRTextControl *moviesControl =[[BRTextControl alloc] init]; BRTextControl *moviesControl =[[BRTextControl alloc] init];
NSString *title=@""; NSString *title=@"";
Expand Down Expand Up @@ -524,7 +530,7 @@ -(void)reloadShelf


CGRect masterFrame=[BRWindow interfaceFrame]; CGRect masterFrame=[BRWindow interfaceFrame];


if(!_usingShelfView) if(![SMF_COMPAT usingFourPointFourPlus])
{ {
_shelfControl = [[NSClassFromString(@"BRMediaShelfControl") alloc] init]; _shelfControl = [[NSClassFromString(@"BRMediaShelfControl") alloc] init];
[_shelfControl setProvider:[self getProviderForShelf]]; [_shelfControl setProvider:[self getProviderForShelf]];
Expand All @@ -541,18 +547,18 @@ -(void)reloadShelf
_provider=nil; _provider=nil;
} }
_provider=[[self getProviderForShelf] retain]; _provider=[[self getProviderForShelf] retain];
BRProviderDataSourceAdapter * adap = [[NSClassFromString(@"BRProviderDataSourceAdapter") alloc] init]; _adap = [[NSClassFromString(@"BRProviderDataSourceAdapter") alloc] init];
[adap setProviders:[NSArray arrayWithObject:_provider]]; [_adap setProviders:[NSArray arrayWithObject:_provider]];
NSLog(@"Provider: %@ %@",_provider,_provider.controlFactory); NSLog(@"Provider: %@ %@",_provider,_provider.controlFactory);
[_provider.controlFactory setDefaultImage:[[BRThemeInfo sharedTheme]appleTVIcon]]; [_provider.controlFactory setDefaultImage:[[BRThemeInfo sharedTheme]appleTVIcon]];
[adap setGridColumnCount:8]; [_adap setGridColumnCount:8];
if ([_shelfControl respondsToSelector:@selector(setColumnCount:)]) { if ([_shelfControl respondsToSelector:@selector(setColumnCount:)]) {
[_shelfControl setColumnCount:8]; [_shelfControl setColumnCount:8];
} }


[_shelfControl setCentered:NO]; [_shelfControl setCentered:NO];
[_shelfControl setDataSource:adap]; [_shelfControl setDataSource:_adap];
[_shelfControl setDelegate:adap]; [_shelfControl setDelegate:_adap];
//[adap autorelease]; //[adap autorelease];
[_shelfControl reloadData]; [_shelfControl reloadData];


Expand Down Expand Up @@ -663,10 +669,6 @@ -(BOOL)brEventAction:(BREvent *)action
// _shelfControl.dataSource=self; // _shelfControl.dataSource=self;
BRControl *c = [self focusedControl]; BRControl *c = [self focusedControl];
long shelfIndex=1; long shelfIndex=1;
// if(!_usingShelfView)
// {
// long shelfIndex=[_shelfControl focusedIndex];
// }
if ([[self stack] peekController]!=self) if ([[self stack] peekController]!=self)
return [super brEventAction:action]; return [super brEventAction:action];
int remoteAction = [action remoteAction]; int remoteAction = [action remoteAction];
Expand Down Expand Up @@ -752,6 +754,7 @@ -(void)dealloc
[_shelfControl release]; [_shelfControl release];


[_buttons release]; [_buttons release];
checkNil(_adap);
checkNil(_previousArrowImageControl); checkNil(_previousArrowImageControl);
checkNil(_nextArrowImageControl); checkNil(_nextArrowImageControl);
checkNil(_info); checkNil(_info);
Expand Down

0 comments on commit 0e33b26

Please sign in to comment.