Changeset 5130

Show
Ignore:
Timestamp:
12/13/07 19:51:18 (7 months ago)
Author:
morris
Message:

Hold playing until tracks are loaded also for drill controller

Files:

Legend:

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

    r5121 r5130  
    181181                                                           didEndSelector:@selector(movieControllerFullscreenDidEnd:)]; 
    182182        [self _adjustWindowFrame]; 
    183         [_movieController play]; 
     183        [_movieController playWhenTracksAreLoaded]; 
    184184} 
    185185 
     
    198198        [_movieController setMovie:movie]; 
    199199        [self _adjustWindowFrame]; 
    200         [_movieController play]; 
     200        [_movieController playWhenTracksAreLoaded]; 
    201201         
    202202        return YES; 
  • Spiral/trunk/SPMovieController.h

    r5125 r5130  
    9595        NSUInteger                                              _audioTrack, _subtitleTrack; 
    9696        SPAspectRatio                                   _aspectRatio; 
     97        NSTimeInterval                                  _trackLoadingProgress; 
    9798 
    9899        SPPlaylistFile                                  *_playlistFile; 
     
    147148- (void)play; 
    148149- (void)playAtRate:(float)rate; 
     150- (void)playWhenTracksAreLoaded; 
    149151- (BOOL)isPlaying; 
    150152- (void)stop; 
  • Spiral/trunk/SPMovieController.m

    r5129 r5130  
    4545- (void)_loadTracks; 
    4646- (void)_updateTrackLoadingProgress; 
    47 - (void)_playWhenTracksAreLoaded; 
    4847 
    4948- (void)_validate; 
     
    231230        QTTimeRange                     range; 
    232231        NSTimeInterval          duration; 
    233         double                          progress = 1.0; 
    234232         
    235233        if([[_movie attributeForKey:QTMovieLoadStateAttribute] longValue] < 100000) { 
     
    243241                                duration = 0.0; 
    244242                         
    245                         progress = duration / [self duration]; 
    246                          
    247                         if(progress >= 0.99) 
    248                                 progress = 1.0; 
    249                 } 
    250         } 
    251          
    252         if(_fullscreenWindow && progress < 1.0) 
    253                 [self _flashOverlayString:[NSSWF:NSLS(@"Loading Tracks: %.0f%%", @"Loading tracks overlay"), progress * 100.0]]; 
    254          
    255         [_trackingSlider setProgressDoubleValue:progress]; 
     243                        _trackLoadingProgress = duration / [self duration]; 
     244                         
     245                        if(_trackLoadingProgress >= 0.99) 
     246                                _trackLoadingProgress = 1.0; 
     247                } 
     248        } else { 
     249                _trackLoadingProgress = 1.0; 
     250        } 
     251         
     252        if(_fullscreenWindow && _trackLoadingProgress < 1.0) 
     253                [self _flashOverlayString:[NSSWF:NSLS(@"Loading Tracks: %.0f%%", @"Loading tracks overlay"), _trackLoadingProgress * 100.0]]; 
     254         
     255        [_trackingSlider setProgressDoubleValue:_trackLoadingProgress]; 
    256256 
    257257        [[NSNotificationCenter defaultCenter] postNotificationName:SPMovieControllerLoadProgressChangedNotification object:self]; 
    258 } 
    259  
    260  
    261  
    262 - (void)_playWhenTracksAreLoaded { 
    263         if([_trackingSlider progressDoubleValue] < 1.0) 
    264                 _startPlayingWhenTracksAreLoaded = YES; 
    265         else 
    266                 [self play]; 
    267258} 
    268259 
     
    726717        } 
    727718         
    728         if([_trackingSlider progressDoubleValue] < 1.0) { 
     719        if(_trackLoadingProgress < 1.0) { 
    729720                [self _updateTrackLoadingProgress]; 
    730721                 
    731                 if(_startPlayingWhenTracksAreLoaded && [_trackingSlider progressDoubleValue] >= 1.0 && [_movie rate] < 1.0) 
     722                if(_startPlayingWhenTracksAreLoaded && _trackLoadingProgress >= 1.0 && [_movie rate] < 1.0) 
    732723                        [self play]; 
    733724        } 
     
    839830                [_hudNameTextField setStringValue:[[[_movie attributeForKey:QTMovieURLAttribute] path] lastPathComponent]]; 
    840831                 
     832                _trackLoadingProgress = 0.0; 
    841833                _playingTime = 0.0; 
    842834                _startPlayingWhenTracksAreLoaded = NO; 
     
    11101102        else 
    11111103                [self _flashOverlayString:@""]; 
     1104} 
     1105 
     1106 
     1107 
     1108- (void)playWhenTracksAreLoaded { 
     1109        if(_trackLoadingProgress < 1.0) 
     1110                _startPlayingWhenTracksAreLoaded = YES; 
     1111        else 
     1112                [self play]; 
    11121113} 
    11131114 
     
    11981199         
    11991200        if(play && !_disablePlayingWhenOpened && [SPSettings boolForKey:SPPlayMoviesWhenOpened]) 
    1200                 [self _playWhenTracksAreLoaded]; 
     1201                [self playWhenTracksAreLoaded]; 
    12011202} 
    12021203 
     
    12111212 
    12121213        if(!_disablePlayingWhenOpened && [SPSettings boolForKey:SPPlayMoviesWhenOpened]) 
    1213                 [self _playWhenTracksAreLoaded]; 
     1214                [self playWhenTracksAreLoaded]; 
    12141215} 
    12151216 
     
    13451346                 
    13461347                if(_disablePlayingWhenOpened) { 
    1347                         [self _playWhenTracksAreLoaded]; 
     1348                        [self playWhenTracksAreLoaded]; 
    13481349                         
    13491350                        _disablePlayingWhenOpened = NO; 
     
    14101411 
    14111412                if(_disablePlayingWhenOpened) { 
    1412                         [self _playWhenTracksAreLoaded]; 
     1413                        [self playWhenTracksAreLoaded]; 
    14131414                         
    14141415                        _disablePlayingWhenOpened = NO;