Changeset 5521

Show
Ignore:
Timestamp:
05/11/08 19:42:45 (5 days ago)
Author:
morris
Message:

Refactor overlays a bit more, remove unnecessary stuff and fix a couple of bugs

Make step buttons on PS3 remote skip ahead like up/down keys do

Let stop be a different remote action even if it does the same thing

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Spiral/trunk/SPApplicationController.m

    r5518 r5521  
    131131                 
    132132                case SPRemotePause: 
    133                         [movieController stop]; 
     133                        [movieController pause]; 
    134134                        break; 
    135135                 
     
    166166                 
    167167                case SPRemoteStepForward: 
    168                         [movieController stepForward]; 
     168                        [movieController skipTime:[SPMovieController skipTimeIntervalForKey:NSUpArrowFunctionKey]]; 
    169169                        break; 
    170170                 
    171171                case SPRemoteStepBackward: 
    172                         [movieController stepBackward]; 
     172                        [movieController skipTime:[SPMovieController skipTimeIntervalForKey:NSDownArrowFunctionKey]]; 
    173173                        break; 
    174174                 
  • Spiral/trunk/SPMovieController.h

    r5519 r5521  
    157157- (void)stepForward; 
    158158- (void)stepBackward; 
     159- (void)skipTime:(NSTimeInterval)timeInterval; 
     160- (void)pause; 
    159161- (void)stop; 
    160162- (void)invalidate; 
  • Spiral/trunk/SPMovieController.m

    r5519 r5521  
    4242- (void)_adjustOverlayImageView; 
    4343- (void)_showStatusOverlayForSkipTimeInterval:(NSTimeInterval)timeInterval; 
    44 - (void)_flashLoadingStatusOverlayString:(NSString *)string; 
    45 - (void)_flashStatusOverlayString:(NSString *)string; 
    46 - (void)_flashTimeOverlayString:(NSString *)string; 
    4744- (void)_flashOverlayString:(NSString *)string textField:(NSTextField *)textField; 
    4845- (void)_setOverlayString:(NSString *)string textField:(NSTextField *)textField; 
     46- (void)_flashOverlayImage:(NSImage *)image; 
     47- (void)_setOverlayImage:(NSImage *)image; 
    4948- (void)_clearOverlay; 
    50 - (void)_flashOverlayImage:(NSImage *)image; 
    51 - (void)_flashOverlayImage:(NSImage *)image string:(NSString *)string; 
    52 - (void)_setOverlayImage:(NSImage *)image string:(NSString *)string; 
    5349- (void)_hideOverlayWindow; 
    5450- (void)_animateHideOverlayTextField:(NSTextField *)textField; 
     
    161157        if(timeInterval > 0.0) { 
    162158                [self _flashOverlayString:[NSSWF:@"%.0fs", fabs(timeInterval)] textField:_overlayStatusTextField]; 
    163                 [self _flashOverlayImage:[NSImage imageNamed:@"OverlaySkipForward"] string:[NSSWF:@"%.0fs", fabs(timeInterval)]]; 
     159                [self _flashOverlayImage:[NSImage imageNamed:@"OverlaySkipForward"]]; 
    164160        } 
    165161        else if(timeInterval < 0.0) { 
    166162                [self _flashOverlayString:[NSSWF:@"%.0fs", fabs(timeInterval)] textField:_overlayStatusTextField]; 
    167                 [self _flashOverlayImage:[NSImage imageNamed:@"OverlaySkipBack"] string:[NSSWF:@"%.0fs", fabs(timeInterval)]]; 
     163                [self _flashOverlayImage:[NSImage imageNamed:@"OverlaySkipBack"]]; 
    168164        } 
    169165        else if(rate == 1.0) { 
     
    177173        else if(rate > 1.0) { 
    178174                [self _setOverlayString:[NSSWF:@"%.0fx", fabs(rate)] textField:_overlayStatusTextField]; 
    179                 [self _setOverlayImage:[NSImage imageNamed:@"OverlayFastForward"] string:[NSSWF:@"%.0fx", fabs(rate)]]; 
     175                [self _setOverlayImage:[NSImage imageNamed:@"OverlayFastForward"]]; 
    180176        } 
    181177        else if(rate < 0.0) { 
    182178                [self _setOverlayString:[NSSWF:@"%.0fx", fabs(rate)] textField:_overlayStatusTextField]; 
    183                 [self _setOverlayImage:[NSImage imageNamed:@"OverlayRewind"] string:[NSSWF:@"%.0fx", fabs(rate)]]; 
    184         } 
    185          
    186         if(rate > 1.0 || rate < 0.0) { 
    187                 NSLog(@"set"); 
     179                [self _setOverlayImage:[NSImage imageNamed:@"OverlayRewind"]]; 
     180        } 
     181         
     182        if(rate > 1.0 || rate < 0.0) 
    188183                [self _setOverlayString:[self _currentTimeString] textField:_overlayTimeTextField]; 
    189         } else { 
    190                 NSLog(@"flash"); 
    191                 [self _flashTimeOverlayString:[self _currentTimeString]]; 
    192         } 
    193 
    194  
    195  
    196  
    197 - (void)_flashLoadingStatusOverlayString:(NSString *)string { 
    198         [self _flashOverlayString:string textField:_overlayLoadingStatusTextField]; 
    199 
    200  
    201  
    202  
    203 - (void)_flashStatusOverlayString:(NSString *)string { 
    204         [self _flashOverlayString:string textField:_overlayStatusTextField]; 
    205 
    206  
    207  
    208  
    209 - (void)_flashTimeOverlayString:(NSString *)string { 
    210         [self _flashOverlayString:string textField:_overlayTimeTextField]; 
     184        else 
     185                [self _flashOverlayString:[self _currentTimeString] textField:_overlayTimeTextField]; 
    211186} 
    212187 
     
    227202         
    228203        [textField setAttributedStringValue:[NSAttributedString attributedStringWithString:string attributes:attributes]]; 
    229         [textField setAlphaValue:1.0]; 
     204         
     205        [_overlayWindow setAlphaValue:1.0]; 
     206        [[textField animator] setAlphaValue:1.0]; 
    230207} 
    231208 
     
    233210 
    234211- (void)_flashOverlayImage:(NSImage *)image { 
    235         [self _flashOverlayImage:image string:NULL]; 
    236 
    237  
    238  
    239  
    240 - (void)_flashOverlayImage:(NSImage *)image string:(NSString *)string { 
    241         [self _setOverlayImage:image string:string]; 
     212        [self _setOverlayImage:image]; 
    242213 
    243214        [self performSelectorOnce:@selector(_animateHideOverlayImage) afterDelay:2.0]; 
     
    246217 
    247218 
    248 - (void)_setOverlayImage:(NSImage *)image string:(NSString *)string
     219- (void)_setOverlayImage:(NSImage *)image
    249220        [_overlayImageView setImage:image]; 
    250221         
    251222        [self _adjustOverlayImageView]; 
    252223         
    253         [_overlayImageView setAlphaValue:1.0]; 
     224        [_overlayWindow setAlphaValue:1.0]; 
     225        [[_overlayImageView animator] setAlphaValue:1.0]; 
    254226} 
    255227 
     
    266238 
    267239- (void)_hideOverlayWindow { 
    268         [_overlayWindow setAlphaValue:0.0]; 
     240        [_overlayImageView setAlphaValue:0.0]; 
     241        [_overlayLoadingStatusTextField setAlphaValue:0.0]; 
     242        [_overlayStatusTextField setAlphaValue:0.0]; 
     243        [_overlayTimeTextField setAlphaValue:0.0]; 
    269244         
    270245        [self _clearOverlay]; 
     
    390365- (void)_updateTrackLoadingProgress { 
    391366        NSArray                         *tracks; 
     367        NSString                        *string; 
    392368        QTTrack                         *track; 
    393369        QTTimeRange                     range; 
     
    414390         
    415391        if(_fullscreenWindow && _trackLoadingProgress < 1.0 && [_movie rate] == 0.0) { 
    416                 [self _flashLoadingStatusOverlayString: 
    417                         [NSSWF:NSLS(@"Loading Tracks: %.0f%%", @"Loading tracks overlay"), _trackLoadingProgress * 100.0]]; 
     392                string = [NSSWF:NSLS(@"Loading Tracks: %.0f%%", @"Loading tracks overlay"), _trackLoadingProgress * 100.0]; 
     393 
     394                [self _flashOverlayString:string textField:_overlayLoadingStatusTextField]; 
    418395        } 
    419396         
     
    752729                 
    753730                if([[_overlayLoadingStatusTextField stringValue] length] > 0) 
    754                         [self _flashLoadingStatusOverlayString:[_overlayLoadingStatusTextField stringValue]]; 
     731                        [self _flashOverlayString:[_overlayLoadingStatusTextField stringValue] textField:_overlayLoadingStatusTextField]; 
    755732 
    756733                if([[_overlayStatusTextField stringValue] length] > 0) 
    757                         [self _flashStatusOverlayString:[_overlayStatusTextField stringValue]]; 
     734                        [self _flashOverlayString:[_overlayStatusTextField stringValue] textField:_overlayStatusTextField]; 
    758735 
    759736                if([[_overlayTimeTextField stringValue] length] > 0) 
    760                         [self _flashTimeOverlayString:[_overlayTimeTextField stringValue]]; 
     737                        [self _flashOverlayString:[_overlayTimeTextField stringValue] textField:_overlayTimeTextField]; 
    761738         
    762739                [self _adjustOverlayTextFields]; 
     
    838815                                timeInterval = [[self class] skipTimeIntervalForKey:key]; 
    839816                                 
    840                                 [self setCurrentTime:[self currentTime] + timeInterval]; 
    841                                  
    842                                 [self _showStatusOverlayForSkipTimeInterval:timeInterval]; 
     817                                [self skipTime:timeInterval]; 
    843818                                break; 
    844819                                 
     
    13631338- (void)stepBackward { 
    13641339        [_movie stepBackward]; 
    1365          
     1340
     1341 
     1342 
     1343 
     1344- (void)skipTime:(NSTimeInterval)timeInterval { 
     1345        [self setCurrentTime:[self currentTime] + timeInterval]; 
     1346                                 
     1347        [self _showStatusOverlayForSkipTimeInterval:timeInterval]; 
     1348
     1349 
     1350 
     1351 
     1352- (void)pause { 
     1353        [_movie stop]; 
     1354         
     1355        [self showStatusOverlay]; 
    13661356} 
    13671357 
     
    13701360- (void)stop { 
    13711361        [_movie stop]; 
     1362         
     1363        [self _animateHideOverlayTextField:_overlayStatusTextField]; 
     1364        [self _flashOverlayImage:[NSImage imageNamed:@"OverlayStop"]]; 
     1365        [self _flashOverlayString:[self _currentTimeString] textField:_overlayTimeTextField]; 
    13721366} 
    13731367 
     
    14821476 
    14831477- (void)cycleAudioTracksForwards:(BOOL)forwards { 
     1478        NSString                *string; 
    14841479        NSUInteger              count, audioTrack; 
    14851480         
     
    15041499        } 
    15051500         
    1506         [self _flashStatusOverlayString:[NSSWF:NSLS(@"Audio Track: %@", @"Audio track overlay"), 
    1507                 [[self audioTrackNames] objectAtIndex:[self audioTrack]]]]; 
     1501        string = [NSSWF:NSLS(@"Audio Track: %@", @"Audio track overlay"), 
     1502                [[self audioTrackNames] objectAtIndex:[self audioTrack]]]; 
     1503         
     1504        [self _flashOverlayString:string textField:_overlayStatusTextField]; 
    15081505} 
    15091506 
     
    15111508 
    15121509- (void)cycleSubtitleTracksForwards:(BOOL)forwards { 
     1510        NSString                *string; 
    15131511        NSUInteger              count, subtitleTrack; 
    15141512         
     
    15331531        } 
    15341532         
    1535         [self _flashStatusOverlayString:[NSSWF:NSLS(@"Subtitle Track: %@", @"Subtitle track overlay"), 
    1536                 [[self subtitleTrackNames] objectAtIndex:[self subtitleTrack]]]]; 
     1533        string = [NSSWF:NSLS(@"Subtitle Track: %@", @"Subtitle track overlay"), 
     1534                [[self subtitleTrackNames] objectAtIndex:[self subtitleTrack]]]; 
     1535 
     1536        [self _flashOverlayString:string textField:_overlayStatusTextField]; 
    15371537} 
    15381538 
     
    15401540 
    15411541- (void)cycleAspectRatiosForwards:(BOOL)forwards { 
     1542        NSString                *string; 
    15421543        SPAspectRatio   aspectRatio; 
    15431544         
     
    15581559        [self setAspectRatio:aspectRatio];  
    15591560 
    1560         [self _flashStatusOverlayString:[NSSWF:NSLS(@"Aspect Ratio: %@", @"Aspect ratio overlay"), 
    1561                 [[[self class] aspectRatioNames] objectAtIndex:[self aspectRatio]]]]; 
     1561        string = [NSSWF:NSLS(@"Aspect Ratio: %@", @"Aspect ratio overlay"), 
     1562                [[[self class] aspectRatioNames] objectAtIndex:[self aspectRatio]]]; 
     1563 
     1564        [self _flashOverlayString:string textField:_overlayStatusTextField]; 
    15621565} 
    15631566 
     
    17311734        [data writeToFile:[path stringByExpandingTildeInPath] atomically:YES]; 
    17321735         
    1733         [self _flashStatusOverlayString:NSLS(@"Snapshot Saved To Desktop", @"Snapshot overlay")]; 
     1736        [self _flashOverlayString:NSLS(@"Snapshot Saved To Desktop", @"Snapshot overlay") textField:_overlayStatusTextField]; 
    17341737} 
    17351738 
  • Spiral/trunk/SPPS3Remote.m

    r5517 r5521  
    173173                         
    174174                case SPPS3RemoteButtonUp: 
    175                         return SPRemoteUp; 
     175                        if(context == SPRemotePlaylist || context == SPRemoteDrillView) 
     176                                return SPRemoteUp; 
    176177                        break; 
    177178                         
    178179                case SPPS3RemoteButtonDown: 
    179                         return SPRemoteDown; 
     180                        if(context == SPRemotePlaylist || context == SPRemoteDrillView) 
     181                                return SPRemoteDown; 
    180182                        break; 
    181183                         
    182184                case SPPS3RemoteButtonLeft: 
    183                         return SPRemoteLeft; 
     185                        if(context == SPRemotePlaylist || context == SPRemoteDrillView) 
     186                                return SPRemoteLeft; 
    184187                        break; 
    185188                         
    186189                case SPPS3RemoteButtonRight: 
    187                         return SPRemoteRight; 
     190                        if(context == SPRemotePlaylist || context == SPRemoteDrillView) 
     191                                return SPRemoteRight; 
    188192                        break; 
    189193                         
    190194                case SPPS3RemoteButtonEnter: 
    191                         return SPRemoteEnter; 
     195                        if(context == SPRemotePlaylist || context == SPRemoteDrillView) 
     196                                return SPRemoteEnter; 
    192197                        break; 
    193198