Changeset 404
- Timestamp:
- 04/08/07 20:20:14 (1 year ago)
- Files:
-
- trunk/CPFPerianPrefPaneController.h (modified) (3 diffs)
- trunk/CPFPerianPrefPaneController.m (modified) (7 diffs)
- trunk/PerianPrefPane.nib/classes.nib (modified) (4 diffs)
- trunk/PerianPrefPane.nib/info.nib (modified) (1 diff)
- trunk/PerianPrefPane.nib/keyedobjects.nib (modified) (previous)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/CPFPerianPrefPaneController.h
r369 r404 55 55 IBOutlet NSButton *button_autoUpdateCheck; 56 56 57 //AC3 57 //AC3 Settings in General Pane 58 IBOutlet NSPopUpButton *popup_ac3DynamicRangeType; 59 IBOutlet NSPopUpButton *popup_2ChannelMode; 60 61 IBOutlet NSWindow *window_dynRangeSheet; 58 62 IBOutlet NSTextField *textField_ac3DynamicRangeValue; 59 63 IBOutlet NSSlider *slider_ac3DynamicRangeSlider; 60 IBOutlet NSButton *button_ac3StereoOverDolby;61 64 62 65 //About … … 78 81 CFStringRef a52AppID; 79 82 83 float nextDynValue; 80 84 } 81 85 //General Pane … … 84 88 - (IBAction)setAutoUpdateCheck:(id)sender; 85 89 86 //AC3 87 - (IBAction)setAC3StereoOverDolby:(id)sender; 90 //AC3 Settings 91 - (IBAction)setAC3DynamicRangePopup:(id)sender; 92 - (IBAction)set2ChannelModePopup:(id)sender; 93 88 94 - (IBAction)setAC3DynamicRangeValue:(id)sender; 89 95 - (IBAction)setAC3DynamicRangeSlider:(id)sender; 96 - (IBAction)cancelDynRangeSheet:(id)sender; 97 - (IBAction)saveDynRangeSheet:(id)sender; 90 98 91 99 //About trunk/CPFPerianPrefPaneController.m
r403 r404 4 4 #define AC3DynamicRangeKey CFSTR("dynamicRange") 5 5 #define AC3StereoOverDolbyKey CFSTR("useStereoOverDolby") 6 #define AC3ProLogicIIKey CFSTR("useDolbyProLogicII") 6 7 #define LastInstalledVersionKey CFSTR("LastInstalledVersion") 7 8 8 9 @interface CPFPerianPrefPaneController(_private) 9 10 - (void)setAC3DynamicRange:(float)newVal; 11 - (void)saveAC3DynamicRange:(float)newVal; 10 12 @end 11 13 … … 14 16 #pragma mark Preferences Functions 15 17 16 - ( void)setButton:(NSButton *)button fromKey:(CFStringRef)key forAppID:(CFStringRef)appID withDefault:(BOOL)defaultValue18 - (BOOL)getBoolFromKey:(CFStringRef)key forAppID:(CFStringRef)appID withDefault:(BOOL)defaultValue 17 19 { 18 20 CFPropertyListRef value; 21 BOOL ret = defaultValue; 22 19 23 value = CFPreferencesCopyAppValue(key, appID); 20 24 if(value && CFGetTypeID(value) == CFBooleanGetTypeID()) 21 [button setState:CFBooleanGetValue(value)]; 22 else 23 [button setState:defaultValue]; 25 ret = CFBooleanGetValue(value); 24 26 25 27 if(value) 26 28 CFRelease(value); 27 } 28 29 - (void)setKey:(CFStringRef)key forAppID:(CFStringRef)appID fromButton:(NSButton *)button 30 { 31 if([button state]) 32 CFPreferencesSetAppValue(key, kCFBooleanTrue, appID); 33 else 34 CFPreferencesSetAppValue(key, kCFBooleanFalse, appID); 29 30 return ret; 31 } 32 33 - (void)setKey:(CFStringRef)key forAppID:(CFStringRef)appID fromBool:(BOOL)value 34 { 35 CFPreferencesSetAppValue(key, value ? kCFBooleanTrue : kCFBooleanFalse, appID); 35 36 } 36 37 … … 256 257 257 258 /* A52 Prefs */ 258 [self setButton:button_ac3StereoOverDolby fromKey:AC3StereoOverDolbyKey forAppID:a52AppID withDefault:NO]; 259 if([self getBoolFromKey:AC3StereoOverDolbyKey forAppID:a52AppID withDefault:NO]) 260 { 261 [popup_2ChannelMode selectItemAtIndex:0]; 262 } 263 else if([self getBoolFromKey:AC3ProLogicIIKey forAppID:a52AppID withDefault:NO]) 264 { 265 [popup_2ChannelMode selectItemAtIndex:2]; 266 } 267 else 268 { 269 [popup_2ChannelMode selectItemAtIndex:1]; 270 } 259 271 [self setAC3DynamicRange:[self getFloatFromKey:AC3DynamicRangeKey forAppID:a52AppID withDefault:1.0]]; 260 272 } … … 577 589 578 590 #pragma mark AC3 579 - (IBAction)setAC3StereoOverDolby:(id)sender 580 { 581 [self setKey:AC3StereoOverDolbyKey forAppID:a52AppID fromButton:button_ac3StereoOverDolby]; 591 - (IBAction)setAC3DynamicRangePopup:(id)sender 592 { 593 int selected = [popup_ac3DynamicRangeType indexOfSelectedItem]; 594 switch(selected) 595 { 596 case 0: 597 [self saveAC3DynamicRange:1.0]; 598 break; 599 case 1: 600 [self saveAC3DynamicRange:2.0]; 601 break; 602 case 3: 603 [NSApp beginSheet:window_dynRangeSheet modalForWindow:[[self mainView] window] modalDelegate:nil didEndSelector:nil contextInfo:NULL]; 604 break; 605 default: 606 break; 607 } 608 } 609 610 - (IBAction)set2ChannelModePopup:(id)sender; 611 { 612 int selected = [popup_2ChannelMode indexOfSelectedItem]; 613 switch(selected) 614 { 615 case 0: 616 [self setKey:AC3StereoOverDolbyKey forAppID:a52AppID fromBool:YES]; 617 [self setKey:AC3ProLogicIIKey forAppID:a52AppID fromBool:NO]; 618 break; 619 case 1: 620 [self setKey:AC3StereoOverDolbyKey forAppID:a52AppID fromBool:NO]; 621 [self setKey:AC3ProLogicIIKey forAppID:a52AppID fromBool:NO]; 622 break; 623 case 2: 624 [self setKey:AC3StereoOverDolbyKey forAppID:a52AppID fromBool:NO]; 625 [self setKey:AC3ProLogicIIKey forAppID:a52AppID fromBool:YES]; 626 break; 627 default: 628 break; 629 } 582 630 } 583 631 … … 589 637 newVal = 0.0; 590 638 591 [self setKey:AC3DynamicRangeKey forAppID:a52AppID fromFloat:newVal];639 nextDynValue = newVal; 592 640 [textField_ac3DynamicRangeValue setFloatValue:newVal]; 593 641 [slider_ac3DynamicRangeSlider setFloatValue:newVal]; 642 if(newVal == 1.0) 643 [popup_ac3DynamicRangeType selectItemAtIndex:0]; 644 else if(newVal == 2.0) 645 [popup_ac3DynamicRangeType selectItemAtIndex:1]; 646 else 647 [popup_ac3DynamicRangeType selectItemAtIndex:3]; 648 } 649 650 - (void)saveAC3DynamicRange:(float)newVal 651 { 652 [self setKey:AC3DynamicRangeKey forAppID:a52AppID fromFloat:newVal]; 653 [self setAC3DynamicRange:newVal]; 594 654 } 595 655 … … 600 660 [self setAC3DynamicRange:newVal]; 601 661 } 662 602 663 - (IBAction)setAC3DynamicRangeSlider:(id)sender 603 664 { … … 605 666 606 667 [self setAC3DynamicRange:newVal]; 668 } 669 670 - (IBAction)cancelDynRangeSheet:(id)sender 671 { 672 [self setAC3DynamicRange:[self getFloatFromKey:AC3DynamicRangeKey forAppID:a52AppID withDefault:1.0]]; 673 [NSApp endSheet:window_dynRangeSheet]; 674 [window_dynRangeSheet orderOut:self]; 675 } 676 677 - (IBAction)saveDynRangeSheet:(id)sender; 678 { 679 [NSApp endSheet:window_dynRangeSheet]; 680 [self saveAC3DynamicRange:nextDynValue]; 681 [window_dynRangeSheet orderOut:self]; 607 682 } 608 683 trunk/PerianPrefPane.nib/classes.nib
r369 r404 3 3 { 4 4 ACTIONS = { 5 cancelDynRangeSheet = id; 5 6 installUninstall = id; 6 7 launchDonate = id; 7 8 launchForum = id; 8 9 launchWebsite = id; 10 saveDynRangeSheet = id; 11 set2ChannelModePopup = id; 12 setAC3DynamicRangePopup = id; 9 13 setAC3DynamicRangeSlider = id; 10 14 setAC3DynamicRangeValue = id; 11 setAC3StereoOverDolby = id;12 15 setAutoUpdateCheck = id; 13 16 updateCheck = id; … … 16 19 LANGUAGE = ObjC; 17 20 OUTLETS = { 18 "button_ac3StereoOverDolby" = NSButton;19 21 "button_autoUpdateCheck" = NSButton; 20 22 "button_donate" = NSButton; … … 23 25 "button_updateCheck" = NSButton; 24 26 "button_website" = NSButton; 27 "popup_2ChannelMode" = NSPopUpButton; 28 "popup_ac3DynamicRangeType" = NSPopUpButton; 25 29 "progress_install" = NSProgressIndicator; 26 30 "progress_updateCheck" = NSProgressIndicator; … … 30 34 "textField_installStatus" = NSTextField; 31 35 "textView_about" = NSTextView; 36 "window_dynRangeSheet" = NSWindow; 32 37 }; 33 38 SUPERCLASS = NSPreferencePane; trunk/PerianPrefPane.nib/info.nib
r403 r404 4 4 <dict> 5 5 <key>IBDocumentLocation</key> 6 <string>1 37 76 356 240 0 0 1680 1028 </string>6 <string>112 62 356 240 0 0 1440 878 </string> 7 7 <key>IBFramework Version</key> 8 8 <string>446.1</string> 9 9 <key>IBOpenObjects</key> 10 10 <array> 11 <integer>104</integer> 11 12 <integer>5</integer> 12 13 </array> 13 14 <key>IBSystem Version</key> 14 <string>8P 135</string>15 <string>8P2137</string> 15 16 </dict> 16 17 </plist>
