Changeset 5129

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

Add preferred audio track setting, like for subtitles

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Spiral/trunk/English.lproj/Preferences.nib/classes.nib

    r5116 r5129  
    1515                                <string>id</string> 
    1616                                <key>playMoviesWhenOpened</key> 
     17                                <string>id</string> 
     18                                <key>preferredAudioTrack</key> 
    1719                                <string>id</string> 
    1820                                <key>preferredSubtitle</key> 
     
    3739                                <key>_playMoviesWhenOpenedButton</key> 
    3840                                <string>NSButton</string> 
     41                                <key>_preferredAudioComboBox</key> 
     42                                <string>NSComboBox</string> 
    3943                                <key>_preferredSubtitleComboBox</key> 
    4044                                <string>NSComboBox</string> 
  • Spiral/trunk/SPMovieController.m

    r5125 r5129  
    150150 
    151151- (void)_loadTracks { 
    152         NSString                *name, *type, *format, *subtitlePattern; 
     152        NSString                *name, *type, *format, *audioPattern, *subtitlePattern; 
    153153        QTTrack                 *track; 
    154154        NSUInteger              audioIndex, subtitleIndex; 
     
    182182                else if([type isEqualToString:QTMediaTypeVideo] && [track isEnabled]) { 
    183183                        _fps = [[[track media] attributeForKey:QTMediaSampleCountAttribute] unsignedIntegerValue] / _duration; 
     184                } 
     185        } 
     186         
     187        audioPattern = [SPSettings objectForKey:SPPreferredAudioPattern]; 
     188         
     189        if([audioPattern length] > 0) { 
     190                audioIndex = 1; 
     191                 
     192                for(track in _audioTracks) { 
     193                        name = [track attributeForKey:QTTrackDisplayNameAttribute]; 
     194                         
     195                        if([name containsSubstring:audioPattern options:NSCaseInsensitiveSearch]) { 
     196                                [self setAudioTrack:audioIndex]; 
     197 
     198                                break; 
     199                        } 
     200                         
     201                        audioIndex++; 
    184202                } 
    185203        } 
  • Spiral/trunk/SPPreferencesController.h

    r5116 r5129  
    3333        IBOutlet NSSlider                       *_fastForwardSpeedSlider; 
    3434        IBOutlet NSTextField            *_fastForwardSpeedTextField; 
     35        IBOutlet NSComboBox                     *_preferredAudioComboBox; 
    3536        IBOutlet NSComboBox                     *_preferredSubtitleComboBox; 
    3637        IBOutlet NSButton                       *_checkForUpdateButton; 
     
    4344- (IBAction)resumeBehavior:(id)sender; 
    4445- (IBAction)fastForwardSpeed:(id)sender; 
     46- (IBAction)preferredAudioTrack:(id)sender; 
    4547- (IBAction)preferredSubtitle:(id)sender; 
    4648- (IBAction)checkForUpdate:(id)sender; 
  • Spiral/trunk/SPPreferencesController.m

    r5116 r5129  
    7878        [_resumeBehaviorMatrix selectCellWithTag:[SPSettings intForKey:SPResumePlayingBehavior]]; 
    7979        [_fastForwardSpeedSlider setDoubleValue:sqrt([SPSettings doubleForKey:SPFastForwardFactor])]; 
     80        [_preferredAudioComboBox setStringValue:[SPSettings objectForKey:SPPreferredAudioPattern]]; 
    8081        [_preferredSubtitleComboBox setStringValue:[SPSettings objectForKey:SPPreferredSubtitlePattern]]; 
    8182        [_checkForUpdateButton setState:[SPSettings boolForKey:SPCheckForUpdate]]; 
    8283         
    8384        [self _updateFastForwardSpeedTextField]; 
     85} 
     86 
     87 
     88 
     89- (void)windowWillClose:(NSNotification *)notification { 
     90        [self preferredAudioTrack:self]; 
     91        [self preferredSubtitle:self]; 
    8492} 
    8593 
     
    114122 
    115123 
     124- (IBAction)preferredAudioTrack:(id)sender { 
     125        [SPSettings setObject:[_preferredAudioComboBox stringValue] forKey:SPPreferredAudioPattern]; 
     126} 
     127 
     128 
     129 
    116130- (IBAction)preferredSubtitle:(id)sender { 
    117131        [SPSettings setObject:[_preferredSubtitleComboBox stringValue] forKey:SPPreferredSubtitlePattern]; 
  • Spiral/trunk/SPSettings.h

    r5116 r5129  
    3232#define SPResumePlayingBehavior                 @"SPResumePlayingBehavior" 
    3333#define SPPreferredSubtitlePattern              @"SPPreferredSubtitlePattern" 
     34#define SPPreferredAudioPattern                 @"SPPreferredAudioPattern" 
    3435#define SPCheckForUpdate                                @"SPCheckForUpdate" 
    3536 
  • Spiral/trunk/SPSettings.m

    r5116 r5129  
    4545                @"", 
    4646                        SPPreferredSubtitlePattern, 
     47                @"", 
     48                        SPPreferredAudioPattern, 
    4749                [NSNumber numberWithBool:YES], 
    4850                        SPCheckForUpdate,