Changeset 1040

Show
Ignore:
Timestamp:
04/10/09 14:46:14 (17 months ago)
Author:
gbooker
Message:

Added a warning about what multi-channel output really means. There is a fair amount of misinformation out there stating that it does AC3 passthrough, and I'm tired of correcting people.

Location:
trunk
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • trunk/CPFPerianPrefPaneController.h

    r1038 r1040  
    9090        IBOutlet NSButton                                       *button_loadExternalSubtitles; 
    9191         
     92        IBOutlet NSWindow                                       *window_multiChannelSheet; 
     93        IBOutlet NSTextField                            *textField_multiChannelText; 
     94        IBOutlet NSButton                                       *button_multiChannelNeverShow; 
     95         
    9296        //About 
    9397        IBOutlet NSTextView                                     *textView_about; 
     
    127131- (IBAction)saveDynRangeSheet:(id)sender; 
    128132 
     133- (IBAction)dismissMultiChannelSheet:(id)sender; 
     134 
    129135//Component List 
    130136- (NSString *)checkComponentStatusByBundleIdentifier:(NSString *)bundleID; 
  • trunk/CPFPerianPrefPaneController.m

    r1038 r1040  
    2727#define AC3TwoChannelModeKey CFSTR("twoChannelMode") 
    2828#define ExternalSubtitlesKey CFSTR("LoadExternalSubtitles") 
     29#define DontShowMultiChannelWarning CFSTR("DontShowMultiChannelWarning") 
    2930 
    3031//Old 
     
    882883} 
    883884 
     885- (void)displayMultiChannelWarning 
     886{ 
     887        NSString *multiChannelWarning = NSLocalizedString(@"<p style=\"font: 13pt Lucida Grande;\">Multi-Channel Output is not Dolby Digital Passthrough!  It is designed for those with multiple dicrete speakers connected to their mac.  If you selected this expecting passthrough, you are following the wrong instructions.  Follow <a href=\"http://www.cod3r.com/2008/02/the-correct-way-to-enable-ac3-passthrough-with-quicktime/\">these</a> instead.</p>", @""); 
     888        NSAttributedString *multiChannelWarningAttr = [[NSAttributedString alloc] initWithHTML:[multiChannelWarning dataUsingEncoding:NSUTF8StringEncoding] documentAttributes:nil]; 
     889        [textField_multiChannelText setAttributedStringValue:multiChannelWarningAttr]; 
     890        [multiChannelWarningAttr release]; 
     891        [NSApp beginSheet:window_multiChannelSheet modalForWindow:[[self mainView] window] modalDelegate:nil didEndSelector:nil contextInfo:NULL]; 
     892} 
     893 
    884894- (IBAction)set2ChannelModePopup:(id)sender; 
    885895{ 
     
    898908                case 3: 
    899909                        [self setKey:AC3TwoChannelModeKey forAppID:a52AppID fromInt:0]; 
     910                        if(![self getBoolFromKey:DontShowMultiChannelWarning forAppID:perianAppID withDefault:NO]) 
     911                                [self displayMultiChannelWarning]; 
    900912                        break; 
    901913                default: 
     
    956968} 
    957969 
     970- (IBAction)dismissMultiChannelSheet:(id)sender 
     971{ 
     972        [NSApp endSheet:window_multiChannelSheet]; 
     973        [self setKey:DontShowMultiChannelWarning forAppID:perianAppID fromBool:[button_multiChannelNeverShow state]]; 
     974        [window_multiChannelSheet orderOut:self]; 
     975        CFPreferencesAppSynchronize(perianAppID); 
     976} 
     977 
    958978#pragma mark Subtitles 
    959979- (IBAction)setLoadExternalSubtitles:(id)sender 
  • trunk/Resources/PerianPrefPane.nib/classes.nib

    r939 r1040  
    2323                        <dict> 
    2424                                <key>cancelDynRangeSheet</key> 
     25                                <string>id</string> 
     26                                <key>dismissMultiChannelSheet</key> 
    2527                                <string>id</string> 
    2628                                <key>installUninstall</key> 
     
    6567                                <key>button_loadExternalSubtitles</key> 
    6668                                <string>NSButton</string> 
     69                                <key>button_multiChannelNeverShow</key> 
     70                                <string>NSButton</string> 
    6771                                <key>button_updateCheck</key> 
    6872                                <string>NSButton</string> 
     
    8589                                <key>textField_installStatus</key> 
    8690                                <string>NSTextField</string> 
     91                                <key>textField_multiChannelText</key> 
     92                                <string>NSTextField</string> 
    8793                                <key>textField_updateStatus</key> 
    8894                                <string>NSTextField</string> 
     
    9096                                <string>NSTextView</string> 
    9197                                <key>window_dynRangeSheet</key> 
     98                                <string>NSWindow</string> 
     99                                <key>window_multiChannelSheet</key> 
    92100                                <string>NSWindow</string> 
    93101                        </dict> 
  • trunk/Resources/PerianPrefPane.nib/info.nib

    r998 r1040  
    66        <string>677</string> 
    77        <key>IBLastKnownRelativeProjectPath</key> 
    8         <string>Perian.xcodeproj</string> 
     8        <string>../Perian.xcodeproj</string> 
    99        <key>IBOldestOS</key> 
    1010        <integer>5</integer> 
     
    1212        <array> 
    1313                <integer>32</integer> 
     14                <integer>245</integer> 
    1415        </array> 
    1516        <key>IBSystem Version</key> 
    16         <string>9F33</string> 
     17        <string>9G55</string> 
    1718        <key>targetFramework</key> 
    1819        <string>IBCocoaFramework</string>