root/branches/perian-1.0/CPFPerianPrefPaneController.h

Revision 574, 2.8 kB (checked in by gbooker, 1 year ago)

My multi-channel output test. This should work, but that is the point of a beta (to test it).

Line 
1 /* CPFPerianPrefPaneController */
2
3 #import <Cocoa/Cocoa.h>
4 #import <PreferencePanes/NSPreferencePane.h>
5 #import <Security/Security.h>
6
7 #define ComponentInfoDictionaryKey      @"Components"
8 #define BundleVersionKey @"CFBundleVersion"
9 #define ComponentNameKey @"Name"
10 #define ComponentArchiveNameKey @"ArchiveName"
11 #define ComponentTypeKey @"Type"
12
13 typedef enum
14 {
15         InstallStatusInstalledInWrongLocation = 0,
16         InstallStatusNotInstalled = 1,
17         InstallStatusOutdatedWithAnotherInWrongLocation = 2,
18         InstallStatusOutdated = 3,
19         InstallStatusInstalledInBothLocations = 4,
20         InstallStatusInstalled = 5
21 } InstallStatus;
22
23 InstallStatus inline currentInstallStatus(InstallStatus status)
24 {
25         return (status | 1);
26 }
27
28 BOOL inline isWrongLocationInstalled(InstallStatus status)
29 {
30         return ((status & 1) == 0);
31 }
32
33 InstallStatus inline setWrongLocationInstalled(InstallStatus status)
34 {
35         return (status & ~1);
36 }
37
38 typedef enum
39 {
40         ComponentTypeQuickTime,
41         ComponentTypeCoreAudio,
42         ComponentTypeFramework
43 } ComponentType;
44
45 @interface CPFPerianPrefPaneController : NSPreferencePane
46 {
47         //General Pane
48         IBOutlet NSButton                                       *button_install;
49         IBOutlet NSTextField                            *textField_installStatus;
50         IBOutlet NSProgressIndicator            *progress_install;
51        
52         IBOutlet NSTextField                            *textField_currentVersion;
53         IBOutlet NSButton                                       *button_updateCheck;
54         IBOutlet NSProgressIndicator            *progress_updateCheck;
55         IBOutlet NSButton                                       *button_autoUpdateCheck;
56        
57         //AC3 Settings in General Pane
58         IBOutlet NSPopUpButton                          *popup_ac3DynamicRangeType;
59         IBOutlet NSPopUpButton                          *popup_outputMode;
60        
61         IBOutlet NSWindow                                       *window_dynRangeSheet;
62     IBOutlet NSTextField                *textField_ac3DynamicRangeValue;
63     IBOutlet NSSlider                   *slider_ac3DynamicRangeSlider;
64        
65         //About
66         IBOutlet NSTextView                                     *textView_about;
67         IBOutlet NSButton                                       *button_website;
68         IBOutlet NSButton                                       *button_donate;
69         IBOutlet NSButton                                       *button_forum;
70        
71         InstallStatus                                           installStatus; //This is only marked as installed if everything is installed
72         BOOL                                                            userInstalled;
73         AuthorizationRef                                        auth;
74         NSMutableString                                         *errorString;
75        
76         NSURL                                                           *perianForumURL;
77         NSURL                                                           *perianDonateURL;
78         NSURL                                                           *perianWebSiteURL;
79        
80         CFStringRef                                                     perianAppID;
81         CFStringRef                                                     a52AppID;
82        
83         float                                                           nextDynValue;
84 }
85 //General Pane
86 - (IBAction)installUninstall:(id)sender;
87 - (IBAction)updateCheck:(id)sender;
88 - (IBAction)setAutoUpdateCheck:(id)sender;
89
90 //AC3 Settings
91 - (IBAction)setAC3DynamicRangePopup:(id)sender;
92 - (IBAction)set2ChannelModePopup:(id)sender;
93
94 - (IBAction)setAC3DynamicRangeValue:(id)sender;
95 - (IBAction)setAC3DynamicRangeSlider:(id)sender;
96 - (IBAction)cancelDynRangeSheet:(id)sender;
97 - (IBAction)saveDynRangeSheet:(id)sender;
98
99 //About
100 - (IBAction)launchWebsite:(id)sender;
101 - (IBAction)launchDonate:(id)sender;
102 - (IBAction)launchForum:(id)sender;
103
104 @end
Note: See TracBrowser for help on using the browser.