annotate TODO @ 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 c121d94672cb
children 3458c74b5fab
rev   line source
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
1
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
2 Wish list for the 1.3 development branch:
1534
f02e673ffc5f *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 1441
diff changeset
3 http://bugzilla.libsdl.org/
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
4
1895
c121d94672cb SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents: 1621
diff changeset
5 * Add a way to register custom events
c121d94672cb SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents: 1621
diff changeset
6 * Add internal support for adding video modes and refresh rates
c121d94672cb SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents: 1621
diff changeset
7 * Support querying and setting refresh rate with video modes
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
8 * Add mousewheel events (new unified event architecture?)
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
9 * DirectInput joystick support needs to be implemented
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
10 * Be able to enumerate and select available audio and video drivers
1621
f12379c41042 Fixes bug #195:
Sam Lantinga <slouken@libsdl.org>
parents: 1534
diff changeset
11 * Fullscreen video mode support for Mac OS X
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
12 * Explicit vertical retrace wait (maybe separate from SDL_Flip?)
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
13 * Shaped windows, windows without borders
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
14 * Multiple windows, multiple display support
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
15 * SDL_INIT_EVENTTHREAD on Windows and MacOS?
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
16 * Add a timestamp to events
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
17 * Add audio input API
2
836aaee3f39e *** empty log message ***
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
18 * Add hardware accelerated scaled blit
836aaee3f39e *** empty log message ***
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
19 * Add hardware accelerated alpha blits
836aaee3f39e *** empty log message ***
Sam Lantinga <slouken@lokigames.com>
parents: 0
diff changeset
20 * Redesign blitting architecture to allow blit plugins
0
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
21
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
22 In the jump from 1.2 to 1.3, we should change the SDL_Rect members to
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
23 int and evaluate all the rest of the datatypes. This is the only place
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
24 we should do it though, since the 1.2 series should not break binary
74212992fb08 Initial revision
Sam Lantinga <slouken@lokigames.com>
parents:
diff changeset
25 compatibility in this way.
150
df1d68818edb *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 2
diff changeset
26
df1d68818edb *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 2
diff changeset
27 Requests:
df1d68818edb *** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents: 2
diff changeset
28 * PCM and CDROM volume control (deprecated, but possible)