Mercurial > sdl-ios-xcode
annotate include/SDL_config_macosx.h @ 1982:3b4ce57c6215
First shot at new audio data types (int32 and float32).
Notable changes:
- Converters between types are autogenerated. Instead of making multiple
passes over the data with seperate filters for endianess, size, signedness,
etc, converting between data types is always one specialized filter. This
simplifies SDL_BuildAudioCVT(), which otherwise had a million edge cases
with the new types, and makes the actually conversions more CPU cache
friendly. Left a stub for adding specific optimized versions of these
routines (SSE/MMX/Altivec, assembler, etc)
- Autogenerated converters are built by SDL/src/audio/sdlgenaudiocvt.pl. This
does not need to be run unless tweaking the code, and thus doesn't need
integration into the build system.
- Went through all the drivers and tried to weed out all the "Uint16"
references that are better specified with the new SDL_AudioFormat typedef.
- Cleaned out a bunch of hardcoded bitwise magic numbers and replaced them
with new SDL_AUDIO_* macros.
- Added initial float32 and int32 support code. Theoretically, existing
drivers will push these through converters to get the data they want to
feed to the hardware.
Still TODO:
- Optimize and debug new converters.
- Update the CoreAudio backend to accept float32 data directly.
- Other backends, too?
- SDL_LoadWAV() needs to be updated to support int32 and float32 .wav files
(both of which exist and can be generated by 'sox' for testing purposes).
- Update the mixer to handle new datatypes.
- Optionally update SDL_sound and SDL_mixer, etc.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Thu, 24 Aug 2006 12:10:46 +0000 |
parents | 103c6fec2a60 |
children | e554a6547303 |
rev | line source |
---|---|
1422
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
1 /* |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
2 SDL - Simple DirectMedia Layer |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
3 Copyright (C) 1997-2006 Sam Lantinga |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
4 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
5 This library is free software; you can redistribute it and/or |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
6 modify it under the terms of the GNU Lesser General Public |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
7 License as published by the Free Software Foundation; either |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
8 version 2.1 of the License, or (at your option) any later version. |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
9 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
10 This library is distributed in the hope that it will be useful, |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
11 but WITHOUT ANY WARRANTY; without even the implied warranty of |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
13 Lesser General Public License for more details. |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
14 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
15 You should have received a copy of the GNU Lesser General Public |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
16 License along with this library; if not, write to the Free Software |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
18 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
19 Sam Lantinga |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
20 slouken@libsdl.org |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
21 */ |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
22 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
23 #ifndef _SDL_config_macosx_h |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
24 #define _SDL_config_macosx_h |
1608
d951a5afaf07
A less rude way of doing the same thing...
Sam Lantinga <slouken@libsdl.org>
parents:
1607
diff
changeset
|
25 |
d951a5afaf07
A less rude way of doing the same thing...
Sam Lantinga <slouken@libsdl.org>
parents:
1607
diff
changeset
|
26 #include "SDL_platform.h" |
1422
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
27 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
28 /* This is a set of defines to configure the SDL features */ |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
29 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
30 #define SDL_HAS_64BIT_TYPE 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
31 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
32 /* Useful headers */ |
1749
18e44c267283
We want to wrap HAVE_ALLOCA_H, not HAVE_ALLOCA. :)
Sam Lantinga <slouken@libsdl.org>
parents:
1741
diff
changeset
|
33 /* If we specified an SDK or have a post-PowerPC chip, then alloca.h exists. */ |
18e44c267283
We want to wrap HAVE_ALLOCA_H, not HAVE_ALLOCA. :)
Sam Lantinga <slouken@libsdl.org>
parents:
1741
diff
changeset
|
34 #if ( (MAC_OS_X_VERSION_MIN_REQUIRED >= 1030) || (!defined(__POWERPC__)) ) |
1479 | 35 #define HAVE_ALLOCA_H 1 |
1749
18e44c267283
We want to wrap HAVE_ALLOCA_H, not HAVE_ALLOCA. :)
Sam Lantinga <slouken@libsdl.org>
parents:
1741
diff
changeset
|
36 #endif |
1422
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
37 #define HAVE_SYS_TYPES_H 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
38 #define HAVE_STDIO_H 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
39 #define STDC_HEADERS 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
40 #define HAVE_STRING_H 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
41 #define HAVE_INTTYPES_H 1 |
1479 | 42 #define HAVE_STDINT_H 1 |
43 #define HAVE_CTYPE_H 1 | |
44 #define HAVE_MATH_H 1 | |
1422
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
45 #define HAVE_SIGNAL_H 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
46 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
47 /* C library functions */ |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
48 #define HAVE_MALLOC 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
49 #define HAVE_CALLOC 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
50 #define HAVE_REALLOC 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
51 #define HAVE_FREE 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
52 #define HAVE_ALLOCA 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
53 #define HAVE_GETENV 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
54 #define HAVE_PUTENV 1 |
1479 | 55 #define HAVE_UNSETENV 1 |
56 #define HAVE_QSORT 1 | |
57 #define HAVE_ABS 1 | |
58 #define HAVE_BCOPY 1 | |
1422
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
59 #define HAVE_MEMSET 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
60 #define HAVE_MEMCPY 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
61 #define HAVE_MEMMOVE 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
62 #define HAVE_MEMCMP 1 |
1479 | 63 #define HAVE_STRLEN 1 |
64 #define HAVE_STRLCPY 1 | |
65 #define HAVE_STRLCAT 1 | |
66 #define HAVE_STRDUP 1 | |
67 #define HAVE_STRCHR 1 | |
68 #define HAVE_STRRCHR 1 | |
69 #define HAVE_STRSTR 1 | |
70 #define HAVE_STRTOL 1 | |
71 #define HAVE_STRTOUL 1 | |
72 #define HAVE_STRTOLL 1 | |
73 #define HAVE_STRTOULL 1 | |
74 #define HAVE_STRTOD 1 | |
75 #define HAVE_ATOI 1 | |
76 #define HAVE_ATOF 1 | |
77 #define HAVE_STRCMP 1 | |
78 #define HAVE_STRNCMP 1 | |
79 #define HAVE_STRCASECMP 1 | |
1517
39f6ad4693a5
*** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents:
1492
diff
changeset
|
80 #define HAVE_STRNCASECMP 1 |
1479 | 81 #define HAVE_SSCANF 1 |
82 #define HAVE_SNPRINTF 1 | |
83 #define HAVE_VSNPRINTF 1 | |
84 #define HAVE_SIGACTION 1 | |
85 #define HAVE_SETJMP 1 | |
86 #define HAVE_NANOSLEEP 1 | |
1422
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
87 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
88 /* Enable various audio drivers */ |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
89 #define SDL_AUDIO_DRIVER_COREAUDIO 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
90 #define SDL_AUDIO_DRIVER_SNDMGR 1 |
1532
30f189cdd82b
Implemented dummy audio driver.
Ryan C. Gordon <icculus@icculus.org>
parents:
1517
diff
changeset
|
91 #define SDL_AUDIO_DRIVER_DISK 1 |
30f189cdd82b
Implemented dummy audio driver.
Ryan C. Gordon <icculus@icculus.org>
parents:
1517
diff
changeset
|
92 #define SDL_AUDIO_DRIVER_DUMMY 1 |
1422
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
93 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
94 /* Enable various cdrom drivers */ |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
95 #define SDL_CDROM_MACOSX 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
96 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
97 /* Enable various input drivers */ |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
98 #define SDL_JOYSTICK_IOKIT 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
99 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
100 /* Enable various shared object loading systems */ |
1638
ebd1aedb1292
Miscellaneous Mac OS X fixes
Sam Lantinga <slouken@libsdl.org>
parents:
1608
diff
changeset
|
101 #ifdef __ppc__ |
ebd1aedb1292
Miscellaneous Mac OS X fixes
Sam Lantinga <slouken@libsdl.org>
parents:
1608
diff
changeset
|
102 /* For Mac OS X 10.2 compatibility */ |
ebd1aedb1292
Miscellaneous Mac OS X fixes
Sam Lantinga <slouken@libsdl.org>
parents:
1608
diff
changeset
|
103 #define SDL_LOADSO_DLCOMPAT 1 |
ebd1aedb1292
Miscellaneous Mac OS X fixes
Sam Lantinga <slouken@libsdl.org>
parents:
1608
diff
changeset
|
104 #else |
1422
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
105 #define SDL_LOADSO_DLOPEN 1 |
1638
ebd1aedb1292
Miscellaneous Mac OS X fixes
Sam Lantinga <slouken@libsdl.org>
parents:
1608
diff
changeset
|
106 #endif |
1422
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
107 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
108 /* Enable various threading systems */ |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
109 #define SDL_THREAD_PTHREAD 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
110 #define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
111 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
112 /* Enable various timer systems */ |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
113 #define SDL_TIMER_UNIX 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
114 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
115 /* Enable various video drivers */ |
1931
103c6fec2a60
The Mac OS X Cocoa video driver is under construction...
Sam Lantinga <slouken@libsdl.org>
parents:
1804
diff
changeset
|
116 #define SDL_VIDEO_DRIVER_COCOA 1 |
1489 | 117 #define SDL_VIDEO_DRIVER_DUMMY 1 |
1422
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
118 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
119 /* Enable OpenGL support */ |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
120 #define SDL_VIDEO_OPENGL 1 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
121 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
122 /* Enable assembly routines */ |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
123 #define SDL_ASSEMBLY_ROUTINES 1 |
1478
fc308f08b5f7
Only use Altivec on PowerPC architecture
Sam Lantinga <slouken@libsdl.org>
parents:
1424
diff
changeset
|
124 #ifdef __ppc__ |
1422
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
125 #define SDL_ALTIVEC_BLITTERS 1 |
1478
fc308f08b5f7
Only use Altivec on PowerPC architecture
Sam Lantinga <slouken@libsdl.org>
parents:
1424
diff
changeset
|
126 #endif |
1422
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
127 |
d2ee8da60262
Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
128 #endif /* _SDL_config_macosx_h */ |