Merge remote branch 'jeremyhu/master'
This commit is contained in:
commit
9716d31247
|
@ -1,5 +1,5 @@
|
|||
noinst_LTLIBRARIES = libCGLCore.la
|
||||
AM_CFLAGS = $(DIX_CFLAGS)
|
||||
AM_CFLAGS = $(DIX_CFLAGS) $(GL_CFLAGS)
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/glx \
|
||||
|
|
|
@ -30,7 +30,6 @@ libXquartz_la_SOURCES = \
|
|||
keysym2ucs.c \
|
||||
pseudoramiX.c \
|
||||
quartz.c \
|
||||
quartzAudio.c \
|
||||
quartzCocoa.m \
|
||||
quartzKeyboard.c \
|
||||
quartzStartup.c \
|
||||
|
@ -47,7 +46,6 @@ EXTRA_DIST = \
|
|||
keysym2ucs.h \
|
||||
pseudoramiX.h \
|
||||
quartz.h \
|
||||
quartzAudio.h \
|
||||
quartzCommon.h \
|
||||
quartzKeyboard.h \
|
||||
quartzRandR.h \
|
||||
|
|
|
@ -77,7 +77,6 @@ void X11ApplicationMain(int argc, char **argv, char **envp);
|
|||
|
||||
#define PREFS_APPSMENU "apps_menu"
|
||||
#define PREFS_FAKEBUTTONS "enable_fake_buttons"
|
||||
#define PREFS_SYSBEEP "enable_system_beep"
|
||||
#define PREFS_KEYEQUIVS "enable_key_equivalents"
|
||||
#define PREFS_FULLSCREEN_HOTKEYS "fullscreen_hotkeys"
|
||||
#define PREFS_FULLSCREEN_MENU "fullscreen_menu"
|
||||
|
|
|
@ -718,8 +718,6 @@ static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) {
|
|||
NSString *nsstr;
|
||||
const char *tem;
|
||||
|
||||
XQuartzUseSysBeep = [self prefs_get_boolean:@PREFS_SYSBEEP
|
||||
default:XQuartzUseSysBeep];
|
||||
XQuartzRootlessDefault = [self prefs_get_boolean:@PREFS_ROOTLESS
|
||||
default:XQuartzRootlessDefault];
|
||||
XQuartzFullscreenMenu = [self prefs_get_boolean:@PREFS_FULLSCREEN_MENU
|
||||
|
|
|
@ -65,7 +65,6 @@ typedef unsigned int NSUInteger;
|
|||
IBOutlet NSButton *fake_buttons;
|
||||
IBOutlet NSButton *enable_fullscreen;
|
||||
IBOutlet NSButton *enable_fullscreen_menu;
|
||||
IBOutlet NSButton *use_sysbeep;
|
||||
IBOutlet NSButton *enable_keyequivs;
|
||||
IBOutlet NSButton *sync_keymap;
|
||||
IBOutlet NSButton *option_sends_alt;
|
||||
|
|
|
@ -637,9 +637,6 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
|
|||
if(sender == fake_buttons) {
|
||||
darwinFakeButtons = [fake_buttons intValue];
|
||||
[NSApp prefs_set_boolean:@PREFS_FAKEBUTTONS value:darwinFakeButtons];
|
||||
} else if(sender == use_sysbeep) {
|
||||
XQuartzUseSysBeep = [use_sysbeep intValue];
|
||||
[NSApp prefs_set_boolean:@PREFS_SYSBEEP value:XQuartzUseSysBeep];
|
||||
} else if(sender == enable_keyequivs) {
|
||||
XQuartzEnableKeyEquivalents = [enable_keyequivs intValue];
|
||||
[NSApp prefs_set_boolean:@PREFS_KEYEQUIVS value:XQuartzEnableKeyEquivalents];
|
||||
|
@ -701,7 +698,6 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
|
|||
BOOL pbproxy_active = [NSApp prefs_get_boolean:@PREFS_SYNC_PB default:YES];
|
||||
|
||||
[fake_buttons setIntValue:darwinFakeButtons];
|
||||
[use_sysbeep setIntValue:XQuartzUseSysBeep];
|
||||
[enable_keyequivs setIntValue:XQuartzEnableKeyEquivalents];
|
||||
[sync_keymap setIntValue:darwinSyncKeymap];
|
||||
[option_sends_alt setIntValue:XQuartzOptionSendsAlt];
|
||||
|
|
|
@ -2,19 +2,22 @@
|
|||
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1040</int>
|
||||
<string key="IBDocument.SystemVersion">10D573</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">761</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.29</string>
|
||||
<string key="IBDocument.HIToolboxVersion">460.00</string>
|
||||
<string key="IBDocument.SystemVersion">10J541</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">850</string>
|
||||
<string key="IBDocument.AppKitVersion">1038.35</string>
|
||||
<string key="IBDocument.HIToolboxVersion">462.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="NS.object.0">761</string>
|
||||
<string key="NS.object.0">850</string>
|
||||
</object>
|
||||
<array class="NSMutableArray" key="IBDocument.EditedObjectIDs"/>
|
||||
<array key="IBDocument.PluginDependencies">
|
||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
</array>
|
||||
<dictionary class="NSMutableDictionary" key="IBDocument.Metadata"/>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
|
||||
<integer value="1" key="NS.object.0"/>
|
||||
</object>
|
||||
<array class="NSMutableArray" key="IBDocument.RootObjects" id="904585544">
|
||||
<object class="NSCustomObject" id="815810918">
|
||||
<object class="NSMutableString" key="NSClassName">
|
||||
|
@ -388,7 +391,7 @@
|
|||
<characters key="NS.bytes">1</characters>
|
||||
</object>
|
||||
<object class="NSView" key="NSView" id="596750588">
|
||||
<reference key="NSNextResponder" ref="448510093"/>
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="NSButton" id="119157981">
|
||||
|
@ -396,7 +399,6 @@
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{18, 210}, {402, 18}}</string>
|
||||
<reference key="NSSuperview" ref="596750588"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="990762273">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -424,7 +426,6 @@
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{36, 60}, {385, 31}}</string>
|
||||
<reference key="NSSuperview" ref="596750588"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="391919450">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -461,7 +462,6 @@
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{36, 162}, {385, 42}}</string>
|
||||
<reference key="NSSuperview" ref="596750588"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="649334366">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -479,7 +479,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{18, 97}, {402, 18}}</string>
|
||||
<reference key="NSSuperview" ref="596750588"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="940564599">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -501,7 +500,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{36, 126}, {385, 14}}</string>
|
||||
<reference key="NSSuperview" ref="596750588"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="666057093">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -518,7 +516,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{18, 146}, {402, 18}}</string>
|
||||
<reference key="NSSuperview" ref="596750588"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="967619578">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -540,7 +537,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{36, -1}, {385, 31}}</string>
|
||||
<reference key="NSSuperview" ref="596750588"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="617441821">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -557,7 +553,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{18, 36}, {402, 18}}</string>
|
||||
<reference key="NSSuperview" ref="596750588"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="67728988">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -576,8 +571,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
</object>
|
||||
</array>
|
||||
<string key="NSFrame">{{10, 33}, {438, 246}}</string>
|
||||
<reference key="NSSuperview" ref="448510093"/>
|
||||
<reference key="NSWindow"/>
|
||||
</object>
|
||||
<string key="NSLabel">Input</string>
|
||||
<reference key="NSColor" ref="57160303"/>
|
||||
|
@ -588,51 +581,15 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<characters key="NS.bytes">2</characters>
|
||||
</object>
|
||||
<object class="NSView" key="NSView" id="515308735">
|
||||
<nil key="NSNextResponder"/>
|
||||
<reference key="NSNextResponder" ref="448510093"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="NSButton" id="418227126">
|
||||
<reference key="NSNextResponder" ref="515308735"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{18, 63}, {402, 18}}</string>
|
||||
<reference key="NSSuperview" ref="515308735"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="1016069354">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">0</int>
|
||||
<string key="NSContents">Use system alert effect</string>
|
||||
<reference key="NSSupport" ref="463863101"/>
|
||||
<reference key="NSControlView" ref="418227126"/>
|
||||
<int key="NSButtonFlags">1211912703</int>
|
||||
<int key="NSButtonFlags2">2</int>
|
||||
<reference key="NSAlternateImage" ref="391434389"/>
|
||||
<string key="NSAlternateContents"/>
|
||||
<string key="NSKeyEquivalent"/>
|
||||
<int key="NSPeriodicDelay">200</int>
|
||||
<int key="NSPeriodicInterval">25</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSTextField" id="1039016593">
|
||||
<reference key="NSNextResponder" ref="515308735"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{36, 29}, {385, 28}}</string>
|
||||
<reference key="NSSuperview" ref="515308735"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="624655599">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
<int key="NSCellFlags2">4194304</int>
|
||||
<string key="NSContents">X11 beeps will use the standard system alert, as defined in the Sound Effects system preferences panel.</string>
|
||||
<reference key="NSSupport" ref="26"/>
|
||||
<reference key="NSControlView" ref="1039016593"/>
|
||||
<reference key="NSBackgroundColor" ref="57160303"/>
|
||||
<reference key="NSTextColor" ref="930815747"/>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSPopUpButton" id="709074847">
|
||||
<reference key="NSNextResponder" ref="515308735"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{74, 202}, {128, 26}}</string>
|
||||
<reference key="NSSuperview" ref="515308735"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSPopUpButtonCell" key="NSCell" id="633115429">
|
||||
<int key="NSCellFlags">-2076049856</int>
|
||||
|
@ -723,6 +680,7 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{17, 205}, {55, 20}}</string>
|
||||
<reference key="NSSuperview" ref="515308735"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="930265681">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -739,6 +697,7 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{36, 183}, {392, 14}}</string>
|
||||
<reference key="NSSuperview" ref="515308735"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="311969422">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -755,6 +714,7 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{18, 149}, {409, 23}}</string>
|
||||
<reference key="NSSuperview" ref="515308735"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="631531164">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -776,6 +736,7 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{37, 83}, {409, 23}}</string>
|
||||
<reference key="NSSuperview" ref="515308735"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="917248662">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -797,6 +758,7 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrame">{{36, 112}, {385, 31}}</string>
|
||||
<reference key="NSSuperview" ref="515308735"/>
|
||||
<reference key="NSWindow"/>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSTextFieldCell" key="NSCell" id="761107402">
|
||||
<int key="NSCellFlags">67239424</int>
|
||||
|
@ -810,6 +772,8 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
</object>
|
||||
</array>
|
||||
<string key="NSFrame">{{10, 33}, {438, 246}}</string>
|
||||
<reference key="NSSuperview" ref="448510093"/>
|
||||
<reference key="NSWindow"/>
|
||||
</object>
|
||||
<string key="NSLabel">Output</string>
|
||||
<reference key="NSColor" ref="57160303"/>
|
||||
|
@ -1212,13 +1176,13 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<reference key="NSTabView" ref="448510093"/>
|
||||
</object>
|
||||
</array>
|
||||
<reference key="NSSelectedTabViewItem" ref="287591690"/>
|
||||
<reference key="NSSelectedTabViewItem" ref="960678392"/>
|
||||
<reference key="NSFont" ref="463863101"/>
|
||||
<int key="NSTvFlags">0</int>
|
||||
<bool key="NSAllowTruncatedLabels">YES</bool>
|
||||
<bool key="NSDrawsBackground">YES</bool>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<reference ref="596750588"/>
|
||||
<reference ref="515308735"/>
|
||||
</array>
|
||||
</object>
|
||||
</array>
|
||||
|
@ -1732,14 +1696,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
</object>
|
||||
<int key="connectionID">389</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">use_sysbeep</string>
|
||||
<reference key="source" ref="485884620"/>
|
||||
<reference key="destination" ref="418227126"/>
|
||||
</object>
|
||||
<int key="connectionID">390</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">fake_buttons</string>
|
||||
|
@ -1788,14 +1744,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
</object>
|
||||
<int key="connectionID">396</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">prefs_changed:</string>
|
||||
<reference key="source" ref="485884620"/>
|
||||
<reference key="destination" ref="418227126"/>
|
||||
</object>
|
||||
<int key="connectionID">397</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">prefs_changed:</string>
|
||||
|
@ -2547,27 +2495,9 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<reference ref="477203622"/>
|
||||
<reference ref="57246850"/>
|
||||
<reference ref="298603383"/>
|
||||
<reference ref="418227126"/>
|
||||
<reference ref="1039016593"/>
|
||||
</array>
|
||||
<reference key="parent" ref="960678392"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">371</int>
|
||||
<reference key="object" ref="418227126"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="1016069354"/>
|
||||
</array>
|
||||
<reference key="parent" ref="515308735"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">372</int>
|
||||
<reference key="object" ref="1039016593"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="624655599"/>
|
||||
</array>
|
||||
<reference key="parent" ref="515308735"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">382</int>
|
||||
<reference key="object" ref="709074847"/>
|
||||
|
@ -2760,16 +2690,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<reference key="object" ref="967619578"/>
|
||||
<reference key="parent" ref="179949713"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">100371</int>
|
||||
<reference key="object" ref="1016069354"/>
|
||||
<reference key="parent" ref="418227126"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">100372</int>
|
||||
<reference key="object" ref="624655599"/>
|
||||
<reference key="parent" ref="1039016593"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">100382</int>
|
||||
<reference key="object" ref="633115429"/>
|
||||
|
@ -3249,8 +3169,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<string key="100368.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="100369.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="100370.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="100371.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="100372.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="100374.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="100375.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<string key="100376.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
|
@ -3443,10 +3361,6 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<integer value="1" key="369.ImportedFromIB2"/>
|
||||
<string key="370.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<integer value="1" key="370.ImportedFromIB2"/>
|
||||
<string key="371.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<integer value="1" key="371.ImportedFromIB2"/>
|
||||
<string key="372.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<integer value="1" key="372.ImportedFromIB2"/>
|
||||
<string key="374.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
<integer value="1" key="374.ImportedFromIB2"/>
|
||||
<string key="375.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||
|
@ -3582,6 +3496,76 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<string key="x11_help:">id</string>
|
||||
<string key="zoom_window:">id</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="actionInfosByName">
|
||||
<object class="IBActionInfo" key="apps_table_delete:">
|
||||
<string key="name">apps_table_delete:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="apps_table_done:">
|
||||
<string key="name">apps_table_done:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="apps_table_duplicate:">
|
||||
<string key="name">apps_table_duplicate:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="apps_table_new:">
|
||||
<string key="name">apps_table_new:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="apps_table_show:">
|
||||
<string key="name">apps_table_show:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="bring_to_front:">
|
||||
<string key="name">bring_to_front:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="close_window:">
|
||||
<string key="name">close_window:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="enable_fullscreen_changed:">
|
||||
<string key="name">enable_fullscreen_changed:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="minimize_window:">
|
||||
<string key="name">minimize_window:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="next_window:">
|
||||
<string key="name">next_window:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="prefs_changed:">
|
||||
<string key="name">prefs_changed:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="prefs_show:">
|
||||
<string key="name">prefs_show:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="previous_window:">
|
||||
<string key="name">previous_window:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="quit:">
|
||||
<string key="name">quit:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="toggle_fullscreen:">
|
||||
<string key="name">toggle_fullscreen:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="x11_help:">
|
||||
<string key="name">x11_help:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="zoom_window:">
|
||||
<string key="name">zoom_window:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="apps_separator">NSMenuItem</string>
|
||||
<string key="apps_table">NSTableView</string>
|
||||
|
@ -3614,6 +3598,128 @@ IG9yIHJpZ2h0IG1vdXNlIGJ1dHRvbnMuCg</string>
|
|||
<string key="window_separator">NSMenuItem</string>
|
||||
<string key="x11_about_item">NSMenuItem</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="apps_separator">
|
||||
<string key="name">apps_separator</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="apps_table">
|
||||
<string key="name">apps_table</string>
|
||||
<string key="candidateClassName">NSTableView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="click_through">
|
||||
<string key="name">click_through</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="copy_menu_item">
|
||||
<string key="name">copy_menu_item</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="depth">
|
||||
<string key="name">depth</string>
|
||||
<string key="candidateClassName">NSPopUpButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="dock_apps_menu">
|
||||
<string key="name">dock_apps_menu</string>
|
||||
<string key="candidateClassName">NSMenu</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="dock_menu">
|
||||
<string key="name">dock_menu</string>
|
||||
<string key="candidateClassName">NSMenu</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="dock_window_separator">
|
||||
<string key="name">dock_window_separator</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="enable_auth">
|
||||
<string key="name">enable_auth</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="enable_fullscreen">
|
||||
<string key="name">enable_fullscreen</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="enable_fullscreen_menu">
|
||||
<string key="name">enable_fullscreen_menu</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="enable_keyequivs">
|
||||
<string key="name">enable_keyequivs</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="enable_tcp">
|
||||
<string key="name">enable_tcp</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="fake_buttons">
|
||||
<string key="name">fake_buttons</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="focus_follows_mouse">
|
||||
<string key="name">focus_follows_mouse</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="focus_on_new_window">
|
||||
<string key="name">focus_on_new_window</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="option_sends_alt">
|
||||
<string key="name">option_sends_alt</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="prefs_panel">
|
||||
<string key="name">prefs_panel</string>
|
||||
<string key="candidateClassName">NSPanel</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="sync_clipboard_to_pasteboard">
|
||||
<string key="name">sync_clipboard_to_pasteboard</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="sync_keymap">
|
||||
<string key="name">sync_keymap</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="sync_pasteboard">
|
||||
<string key="name">sync_pasteboard</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="sync_pasteboard_to_clipboard">
|
||||
<string key="name">sync_pasteboard_to_clipboard</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="sync_pasteboard_to_primary">
|
||||
<string key="name">sync_pasteboard_to_primary</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="sync_primary_immediately">
|
||||
<string key="name">sync_primary_immediately</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="sync_text1">
|
||||
<string key="name">sync_text1</string>
|
||||
<string key="candidateClassName">NSTextField</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="sync_text2">
|
||||
<string key="name">sync_text2</string>
|
||||
<string key="candidateClassName">NSTextField</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="toggle_fullscreen_item">
|
||||
<string key="name">toggle_fullscreen_item</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="use_sysbeep">
|
||||
<string key="name">use_sysbeep</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="window_separator">
|
||||
<string key="name">window_separator</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="x11_about_item">
|
||||
<string key="name">x11_about_item</string>
|
||||
<string key="candidateClassName">NSMenuItem</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBDocumentRelativeSource</string>
|
||||
<string key="minorKey">../../../X11Controller.h</string>
|
||||
|
|
Binary file not shown.
|
@ -80,7 +80,6 @@ Bool XQuartzRootlessDefault = TRUE;
|
|||
Bool XQuartzIsRootless = TRUE;
|
||||
Bool XQuartzServerVisible = FALSE;
|
||||
Bool XQuartzFullscreenMenu = FALSE;
|
||||
Bool XQuartzUseSysBeep = FALSE;
|
||||
|
||||
/*
|
||||
===========================================================================
|
||||
|
@ -446,3 +445,13 @@ void QuartzCopyDisplayIDs(ScreenPtr pScreen,
|
|||
memcpy(pQuartzScreen->displayIDs, displayIDs, size);
|
||||
pQuartzScreen->displayCount = displayCount;
|
||||
}
|
||||
|
||||
void NSBeep(void);
|
||||
void DDXRingBell(
|
||||
int volume, // volume is % of max
|
||||
int pitch, // pitch is Hz
|
||||
int duration) // duration is milliseconds
|
||||
{
|
||||
if (volume)
|
||||
NSBeep();
|
||||
}
|
||||
|
|
|
@ -123,7 +123,6 @@ extern Bool XQuartzIsRootless; /* Is our current mode rootless (or FS)? */
|
|||
extern Bool XQuartzFullscreenMenu; /* Show the menu bar (autohide) while in FS */
|
||||
extern Bool XQuartzFullscreenDisableHotkeys;
|
||||
extern Bool XQuartzOptionSendsAlt; /* Alt or Mode_switch? */
|
||||
extern Bool XQuartzUseSysBeep; /* Sys beep or our own? */
|
||||
|
||||
Bool QuartzAddScreen(int index, ScreenPtr pScreen);
|
||||
Bool QuartzSetupScreen(int index, ScreenPtr pScreen);
|
||||
|
|
|
@ -1,329 +0,0 @@
|
|||
//
|
||||
// QuartzAudio.m
|
||||
//
|
||||
// X Window bell support using CoreAudio or AppKit.
|
||||
// Greg Parker gparker@cs.stanford.edu 19 Feb 2001
|
||||
//
|
||||
// Info about sine wave sound playback:
|
||||
// CoreAudio code derived from macosx-dev posting by Tim Wood
|
||||
// http://www.omnigroup.com/mailman/archive/macosx-dev/2000-May/002004.html
|
||||
// Smoothing transitions between sounds
|
||||
// http://www.wam.umd.edu/~mphoenix/dss/dss.html
|
||||
//
|
||||
/*
|
||||
* Copyright (c) 2001 Greg Parker. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name(s) of the above copyright
|
||||
* holders shall not be used in advertising or otherwise to promote the sale,
|
||||
* use or other dealings in this Software without prior written authorization.
|
||||
*/
|
||||
|
||||
#include "sanitizedCarbon.h"
|
||||
|
||||
#ifdef HAVE_DIX_CONFIG_H
|
||||
#include <dix-config.h>
|
||||
#endif
|
||||
|
||||
#include "quartz.h"
|
||||
#include "quartzAudio.h"
|
||||
|
||||
#include <CoreAudio/CoreAudio.h>
|
||||
#include <pthread.h>
|
||||
#include <AvailabilityMacros.h>
|
||||
|
||||
#include "inputstr.h"
|
||||
#include <X11/extensions/XI.h>
|
||||
#include <assert.h>
|
||||
|
||||
void NSBeep(void);
|
||||
|
||||
typedef struct QuartzAudioRec {
|
||||
double frequency;
|
||||
double amplitude;
|
||||
|
||||
UInt32 curFrame;
|
||||
UInt32 remainingFrames;
|
||||
UInt32 totalFrames;
|
||||
double sampleRate;
|
||||
UInt32 fadeLength;
|
||||
|
||||
UInt32 bufferByteCount;
|
||||
Boolean playing;
|
||||
pthread_mutex_t lock;
|
||||
|
||||
// used to fade out interrupted sound and avoid 'pop'
|
||||
double prevFrequency;
|
||||
double prevAmplitude;
|
||||
UInt32 prevFrame;
|
||||
} QuartzAudioRec;
|
||||
|
||||
static AudioDeviceID quartzAudioDevice = kAudioDeviceUnknown;
|
||||
static QuartzAudioRec data;
|
||||
|
||||
|
||||
/*
|
||||
* QuartzAudioEnvelope
|
||||
* Fade sound in and out to avoid pop.
|
||||
* Sounds with shorter duration will never reach full amplitude. Deal.
|
||||
*/
|
||||
static double QuartzAudioEnvelope(
|
||||
UInt32 curFrame,
|
||||
UInt32 totalFrames,
|
||||
UInt32 fadeLength )
|
||||
{
|
||||
double fadeFrames = min(fadeLength, totalFrames / 2);
|
||||
if (fadeFrames < 1) return 0;
|
||||
|
||||
if (curFrame < fadeFrames) {
|
||||
return curFrame / fadeFrames;
|
||||
} else if (curFrame > totalFrames - fadeFrames) {
|
||||
return (totalFrames-curFrame) / fadeFrames;
|
||||
} else {
|
||||
return 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* QuartzFillBuffer
|
||||
* Fill this buffer with data and update the data position.
|
||||
* FIXME: this is ugly
|
||||
*/
|
||||
static void QuartzFillBuffer(
|
||||
AudioBuffer *audiobuffer,
|
||||
QuartzAudioRec *data )
|
||||
{
|
||||
float *buffer, *b;
|
||||
unsigned int frame, frameCount;
|
||||
unsigned int bufferFrameCount;
|
||||
float multiplier, v;
|
||||
int i;
|
||||
|
||||
buffer = (float *)audiobuffer->mData;
|
||||
bufferFrameCount = audiobuffer->mDataByteSize / (sizeof(float) * audiobuffer->mNumberChannels);
|
||||
|
||||
frameCount = min(bufferFrameCount, data->remainingFrames);
|
||||
|
||||
// Fade out previous sine wave, if any.
|
||||
b = buffer;
|
||||
if (data->prevFrame) {
|
||||
multiplier = 2*M_PI*(data->prevFrequency/data->sampleRate);
|
||||
for (frame = 0; frame < data->fadeLength; frame++) {
|
||||
v = data->prevAmplitude *
|
||||
QuartzAudioEnvelope(frame+data->fadeLength,
|
||||
2*data->fadeLength,
|
||||
data->fadeLength) *
|
||||
sin(multiplier * (data->prevFrame+frame));
|
||||
for (i = 0; i < audiobuffer->mNumberChannels; i++) {
|
||||
*b++ = v;
|
||||
}
|
||||
}
|
||||
// no more prev fade
|
||||
data->prevFrame = 0;
|
||||
|
||||
// adjust for space eaten by prev fade
|
||||
b += audiobuffer->mNumberChannels*frame;
|
||||
bufferFrameCount -= frame;
|
||||
frameCount = min(bufferFrameCount, data->remainingFrames);
|
||||
}
|
||||
|
||||
// Write a sine wave with the specified frequency and amplitude
|
||||
multiplier = 2*M_PI*(data->frequency/data->sampleRate);
|
||||
for (frame = 0; frame < frameCount; frame++) {
|
||||
v = data->amplitude *
|
||||
QuartzAudioEnvelope(data->curFrame+frame, data->totalFrames,
|
||||
data->fadeLength) *
|
||||
sin(multiplier * (data->curFrame+frame));
|
||||
for (i = 0; i < audiobuffer->mNumberChannels; i++) {
|
||||
*b++ = v;
|
||||
}
|
||||
}
|
||||
|
||||
// Zero out the rest of the buffer, if any
|
||||
memset(b, 0, sizeof(float) * audiobuffer->mNumberChannels *
|
||||
(bufferFrameCount-frame));
|
||||
|
||||
data->curFrame += frameCount;
|
||||
data->remainingFrames -= frameCount;
|
||||
if (data->remainingFrames == 0) {
|
||||
data->playing = FALSE;
|
||||
data->curFrame = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* QuartzAudioIOProc
|
||||
* Callback function for audio playback.
|
||||
* FIXME: use inOutputTime to correct for skipping
|
||||
*/
|
||||
static OSStatus
|
||||
QuartzAudioIOProc(
|
||||
AudioDeviceID inDevice,
|
||||
const AudioTimeStamp *inNow,
|
||||
const AudioBufferList *inInputData,
|
||||
const AudioTimeStamp *inInputTime,
|
||||
AudioBufferList *outOutputData,
|
||||
const AudioTimeStamp *inOutputTime,
|
||||
void *inClientData )
|
||||
{
|
||||
QuartzAudioRec *data = (QuartzAudioRec *)inClientData;
|
||||
int i;
|
||||
Boolean wasPlaying;
|
||||
|
||||
pthread_mutex_lock(&data->lock);
|
||||
wasPlaying = data->playing;
|
||||
for (i = 0; i < outOutputData->mNumberBuffers; i++) {
|
||||
if (data->playing) {
|
||||
QuartzFillBuffer(outOutputData->mBuffers+i, data);
|
||||
}
|
||||
else {
|
||||
memset(outOutputData->mBuffers[i].mData, 0,
|
||||
outOutputData->mBuffers[i].mDataByteSize);
|
||||
}
|
||||
}
|
||||
if (wasPlaying && !data->playing) {
|
||||
OSStatus err;
|
||||
err = AudioDeviceStop(inDevice, QuartzAudioIOProc);
|
||||
if(err != noErr)
|
||||
fprintf(stderr, "Error stopping audio device: %ld\n", (long int)err);
|
||||
}
|
||||
pthread_mutex_unlock(&data->lock);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* DDXRingBell
|
||||
* Play a tone using the CoreAudio API
|
||||
*/
|
||||
void DDXRingBell(
|
||||
int volume, // volume is % of max
|
||||
int pitch, // pitch is Hz
|
||||
int duration ) // duration is milliseconds
|
||||
{
|
||||
if (XQuartzUseSysBeep) {
|
||||
if (volume)
|
||||
NSBeep();
|
||||
return;
|
||||
}
|
||||
|
||||
if (quartzAudioDevice == kAudioDeviceUnknown) return;
|
||||
|
||||
pthread_mutex_lock(&data.lock);
|
||||
|
||||
// fade previous sound, if any
|
||||
data.prevFrequency = data.frequency;
|
||||
data.prevAmplitude = data.amplitude;
|
||||
data.prevFrame = data.curFrame;
|
||||
|
||||
// set new sound
|
||||
data.frequency = pitch;
|
||||
data.amplitude = volume / 100.0;
|
||||
data.curFrame = 0;
|
||||
data.totalFrames = (int)(data.sampleRate * duration / 1000.0);
|
||||
data.remainingFrames = data.totalFrames;
|
||||
|
||||
if (! data.playing) {
|
||||
OSStatus status;
|
||||
status = AudioDeviceStart(quartzAudioDevice, QuartzAudioIOProc);
|
||||
if (status) {
|
||||
ErrorF("DDXRingBell: AudioDeviceStart returned %ld\n", (long)status);
|
||||
} else {
|
||||
data.playing = TRUE;
|
||||
}
|
||||
}
|
||||
pthread_mutex_unlock(&data.lock);
|
||||
}
|
||||
|
||||
/*
|
||||
* QuartzAudioInit
|
||||
* Prepare to play the bell with the CoreAudio API
|
||||
*/
|
||||
void QuartzAudioInit(void)
|
||||
{
|
||||
UInt32 propertySize;
|
||||
OSStatus status;
|
||||
AudioDeviceID outputDevice;
|
||||
double sampleRate;
|
||||
AudioObjectPropertyAddress devicePropertyAddress = { kAudioHardwarePropertyDefaultOutputDevice, kAudioObjectPropertyScopeGlobal, kAudioObjectPropertyElementMaster };
|
||||
AudioObjectPropertyAddress sampleRatePropertyAddress = { kAudioDevicePropertyNominalSampleRate, kAudioDevicePropertyScopeOutput, kAudioObjectPropertyElementMaster };
|
||||
|
||||
// Get the default output device
|
||||
propertySize = sizeof(outputDevice);
|
||||
status = AudioObjectGetPropertyData(kAudioObjectSystemObject, &devicePropertyAddress,
|
||||
0, NULL,
|
||||
&propertySize, &outputDevice);
|
||||
if (status) {
|
||||
ErrorF("QuartzAudioInit: AudioObjectGetPropertyData(output device) returned %ld\n",
|
||||
(long)status);
|
||||
return;
|
||||
}
|
||||
if (outputDevice == kAudioDeviceUnknown) {
|
||||
ErrorF("QuartzAudioInit: No audio output devices available.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
// Get the basic device description
|
||||
sampleRate = 0.;
|
||||
propertySize = sizeof(sampleRate);
|
||||
status = AudioObjectGetPropertyData(outputDevice, &sampleRatePropertyAddress,
|
||||
0, NULL,
|
||||
&propertySize, &sampleRate);
|
||||
if (status) {
|
||||
ErrorF("QuartzAudioInit: AudioObjectGetPropertyData(sample rate) returned %ld\n",
|
||||
(long)status);
|
||||
return;
|
||||
}
|
||||
|
||||
// Fill in the playback data
|
||||
data.frequency = 0;
|
||||
data.amplitude = 0;
|
||||
data.curFrame = 0;
|
||||
data.remainingFrames = 0;
|
||||
data.sampleRate = sampleRate;
|
||||
// data.bufferByteCount = bufferByteCount;
|
||||
data.playing = FALSE;
|
||||
data.prevAmplitude = 0;
|
||||
data.prevFrame = 0;
|
||||
data.prevFrequency = 0;
|
||||
data.fadeLength = data.sampleRate / 200;
|
||||
pthread_mutex_init(&data.lock, NULL); // fixme error check
|
||||
|
||||
// fixme assert fadeLength<framesPerBuffer
|
||||
|
||||
// Prepare for playback
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
|
||||
{
|
||||
AudioDeviceIOProcID sInputIOProcID = NULL;
|
||||
status = AudioDeviceCreateIOProcID( outputDevice, QuartzAudioIOProc, &data, &sInputIOProcID );
|
||||
}
|
||||
#else
|
||||
status = AudioDeviceAddIOProc(outputDevice, QuartzAudioIOProc, &data);
|
||||
#endif
|
||||
if (status) {
|
||||
ErrorF("QuartzAudioInit: AddIOProc returned %ld\n", (long)status);
|
||||
return;
|
||||
}
|
||||
|
||||
// success!
|
||||
quartzAudioDevice = outputDevice;
|
||||
}
|
|
@ -1,37 +0,0 @@
|
|||
//
|
||||
// QuartzAudio.h
|
||||
//
|
||||
// X Window bell support using CoreAudio or AppKit.
|
||||
// Greg Parker gparker@cs.stanford.edu 19 Feb 2001
|
||||
/*
|
||||
* Copyright (c) 2001 Greg Parker. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name(s) of the above copyright
|
||||
* holders shall not be used in advertising or otherwise to promote the sale,
|
||||
* use or other dealings in this Software without prior written authorization.
|
||||
*/
|
||||
|
||||
#ifndef _QUARTZAUDIO_H
|
||||
#define _QUARTZAUDIO_H
|
||||
|
||||
void QuartzAudioInit(void);
|
||||
|
||||
#endif
|
|
@ -53,7 +53,6 @@
|
|||
#include "darwinEvents.h"
|
||||
|
||||
#include "quartzKeyboard.h"
|
||||
#include "quartzAudio.h"
|
||||
|
||||
#include "X11Application.h"
|
||||
|
||||
|
|
|
@ -40,7 +40,6 @@
|
|||
#include "X11Controller.h"
|
||||
#include "darwin.h"
|
||||
#include "darwinEvents.h"
|
||||
#include "quartzAudio.h"
|
||||
#include "quartz.h"
|
||||
#include "opaque.h"
|
||||
#include "micmap.h"
|
||||
|
@ -117,9 +116,6 @@ int server_main(int argc, char **argv, char **envp) {
|
|||
}
|
||||
}
|
||||
|
||||
/* Create the audio mutex */
|
||||
QuartzAudioInit();
|
||||
|
||||
X11ControllerMain(argc, argv, envp);
|
||||
exit(0);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user