|
⇤ ← Revision 1 as of 2009-12-13 17:54:10
Size: 1179
Comment: create page, add content (incomplete)
|
Size: 2834
Comment: content added (still incomplete)
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 5: | Line 5: |
| A typedef that contains audio format flags. | A typedef that contains audio format data and flags. |
| Line 10: | Line 10: |
| === Bit Meanings === | |
| Line 22: | Line 23: |
| ''OR'' | ''OR it could look like this'' |
| Line 30: | Line 31: |
| ||value||description|| ||value||description|| ||value||description|| |
=== Audio flags === ||SDL_AUDIO_MASK_BITSIZE||(0xFF)|| ||SDL_AUDIO_MASK_DATATYPE||(1<<8)|| ||SDL_AUDIO_MASK_ENDIAN||(1<<12)|| ||SDL_AUDIO_MASK_SIGNED||(1<<15)|| ||SDL_AUDIO_BITSIZE(x)||(x & SDL_AUDIO_MASK_BITSIZE)|| ||SDL_AUDIO_ISFLOAT(x)||(x & SDL_AUDIO_MASK_DATATYPE)|| ||SDL_AUDIO_ISBIGENDIAN(x)||(x & SDL_AUDIO_MASK_ENDIAN)|| ||SDL_AUDIO_ISSIGNED(x)||(x & SDL_AUDIO_MASK_SIGNED)|| ||SDL_AUDIO_ISINT(x)||(!SDL_AUDIO_ISFLOAT(x))|| ||SDL_AUDIO_ISLITTLEENDIAN(x)||(!SDL_AUDIO_ISBIGENDIAN(x))|| ||SDL_AUDIO_ISUNSIGNED(x)||(!SDL_AUDIO_ISSIGNED(x))|| === Audio format flags === ||AUDIO_U8||unsigned 8-bit samples|| ||AUDIO_S8||signed 8-bit samples|| ||AUDIO_U16LSB||unsigned 16-bit samples|| ||AUDIO_S16LSB||signed 16-bit samples|| ||AUDIO_U16MSB||as above, but big-endian byte order|| ||AUDIO_S16MSB||as above, but big-endian byte order|| ||AUDIO_U16||AUDIO_U16LSB|| ||AUDIO_S16||AUDIO_S16LSB|| Defaults to LSB byte order. === int32 support === (New to SDL 1.3) ||AUDIO_S32LSB||32-bit integer samples|| ||AUDIO_S32MSB||as above, but big-endian byte order|| ||AUDIO_S32||AUDIO_S32LSB|| === float32 support === (New to SDL 1.3) ||AUDIO_F32LSB||32-bit floating point samples|| ||AUDIO_F32MSB||as above, but big-endian byte order|| ||AUDIO_F32||AUDIO_F32LSB|| === Native audio byte ordering === {{{ #if SDL_BYTEORDER == SDL_LIL_ENDIAN #define AUDIO_U16SYS AUDIO_U16LSB #define AUDIO_S16SYS AUDIO_S16LSB #define AUDIO_S32SYS AUDIO_S32LSB #define AUDIO_F32SYS AUDIO_F32LSB #else #define AUDIO_U16SYS AUDIO_U16MSB #define AUDIO_S16SYS AUDIO_S16MSB #define AUDIO_S32SYS AUDIO_S32MSB #define AUDIO_F32SYS AUDIO_F32MSB #endif }}} |
SDL_AudioFormat
A typedef that contains audio format data and flags.
Contents
Values
Bit Meanings
These are what the 16 bits in SDL_AudioFormat currently mean:
++-----------------------sample is signed if set || || ++-----------sample is bigendian if set || || || || ++---sample is float if set || || || || || || +---sample bit size---+ || || || | | 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
OR it could look like this
Bit |
Meaning |
15 |
sample is signed if set |
12 |
sample is bigendian if set |
08 |
sample is float if set |
07-00 |
sample bit size |
Unspecified bits are always zero. There are macros in SDL 1.3 and later to query these bits.
Audio flags
SDL_AUDIO_MASK_BITSIZE |
(0xFF) |
SDL_AUDIO_MASK_DATATYPE |
(1<<8) |
SDL_AUDIO_MASK_ENDIAN |
(1<<12) |
SDL_AUDIO_MASK_SIGNED |
(1<<15) |
SDL_AUDIO_BITSIZE(x) |
(x & SDL_AUDIO_MASK_BITSIZE) |
SDL_AUDIO_ISFLOAT(x) |
(x & SDL_AUDIO_MASK_DATATYPE) |
SDL_AUDIO_ISBIGENDIAN(x) |
(x & SDL_AUDIO_MASK_ENDIAN) |
SDL_AUDIO_ISSIGNED(x) |
(x & SDL_AUDIO_MASK_SIGNED) |
SDL_AUDIO_ISINT(x) |
(!SDL_AUDIO_ISFLOAT(x)) |
SDL_AUDIO_ISLITTLEENDIAN(x) |
(!SDL_AUDIO_ISBIGENDIAN(x)) |
SDL_AUDIO_ISUNSIGNED(x) |
(!SDL_AUDIO_ISSIGNED(x)) |
Audio format flags
AUDIO_U8 |
unsigned 8-bit samples |
AUDIO_S8 |
signed 8-bit samples |
AUDIO_U16LSB |
unsigned 16-bit samples |
AUDIO_S16LSB |
signed 16-bit samples |
AUDIO_U16MSB |
as above, but big-endian byte order |
AUDIO_S16MSB |
as above, but big-endian byte order |
AUDIO_U16 |
AUDIO_U16LSB |
AUDIO_S16 |
AUDIO_S16LSB |
Defaults to LSB byte order.
int32 support
(New to SDL 1.3)
AUDIO_S32LSB |
32-bit integer samples |
AUDIO_S32MSB |
as above, but big-endian byte order |
AUDIO_S32 |
AUDIO_S32LSB |
float32 support
(New to SDL 1.3)
AUDIO_F32LSB |
32-bit floating point samples |
AUDIO_F32MSB |
as above, but big-endian byte order |
AUDIO_F32 |
AUDIO_F32LSB |
Native audio byte ordering
#if SDL_BYTEORDER == SDL_LIL_ENDIAN #define AUDIO_U16SYS AUDIO_U16LSB #define AUDIO_S16SYS AUDIO_S16LSB #define AUDIO_S32SYS AUDIO_S32LSB #define AUDIO_F32SYS AUDIO_F32LSB #else #define AUDIO_U16SYS AUDIO_U16MSB #define AUDIO_S16SYS AUDIO_S16MSB #define AUDIO_S32SYS AUDIO_S32MSB #define AUDIO_F32SYS AUDIO_F32MSB #endif
Code Examples
You can add your code example here
Remarks
Related Structures
