root/branches/perian-1.1/CPFPerianPrefPaneController.h

Revision 923, 3.2 kB (checked in by astrange, 4 months ago)

Merge trunk to the branch.
Disable ssse3 qpel stuff (https://roundup.mplayerhq.hu/roundup/ffmpeg/issue463)

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