Commit graph

472 commits

Author SHA1 Message Date
Sam Lantinga
146180e7f7 @#$% indent
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402218
2006-10-29 15:00:54 +00:00
Sam Lantinga
a5dc4b0ce9 --HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402217
2006-10-29 14:47:20 +00:00
Sam Lantinga
05a29201de indent is evil
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402208
2006-10-28 16:48:03 +00:00
Ryan C. Gordon
da664292cc Oh for crying out loud...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402205
2006-10-28 07:49:19 +00:00
Ryan C. Gordon
4e1aba0a8b Whoops, wrong variable name.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402204
2006-10-28 07:45:33 +00:00
Ryan C. Gordon
eebc7e6c2a Fix potential memory leaks if CoreAudio initialization fails.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402203
2006-10-28 07:44:38 +00:00
Ryan C. Gordon
5927dc70b0 Patched to compile.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402202
2006-10-28 07:39:35 +00:00
Ryan C. Gordon
3c592629bd 1.3 branch version of revision 2878.
Fixes Bugzilla #298.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402201
2006-10-27 20:19:48 +00:00
Ryan C. Gordon
0c642e7e31 Whoops, need a pointer to an LPDIRECTSOUNDBUFFER and not the
LPDIRECTSOUNDBUFFER itself.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402197
2006-10-20 00:15:18 +00:00
Ryan C. Gordon
95b6efb631 Patched to compile again (thanks, Rasmus!).
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402196
2006-10-18 10:49:23 +00:00
Ryan C. Gordon
0089ba6cbe Merged SDL-ryan-multiple-audio-device branch r2803:2871 into the trunk.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402195
2006-10-17 09:15:21 +00:00
Ryan C. Gordon
f9b43fac01 Replaced strncmp for SDL_AUDIODRIVER test with strcasecmp.
Fixes Bugzilla #334.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402122
2006-10-01 02:06:37 +00:00
Ryan C. Gordon
75efbfe5d7 Minor cleanup in the mint driver that was sitting on my laptop (sorry!).
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402121
2006-10-01 01:12:08 +00:00
Sam Lantinga
4ecb44b166 Formatting update
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402120
2006-09-24 15:56:55 +00:00
Sam Lantinga
d0a80f6b53 Fixed bug #292
I might be on crack here.

It looks like SDL_ConvertMono() in src/audio/SDL_audiocvt.c adds the left and
right channels of a stereo stream together, and clamps the new mono channel if
it would overflow.

Shouldn't it be dividing by 2 to average the two sample points instead of
clamping? Otherwise the mono sample point's volume doubles in the conversion.
This would also make the conversion faster, as it replaces two branches per
sample frame with a bitwise shift.

--ryan.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402119
2006-09-24 15:56:36 +00:00
Sam Lantinga
a42c7f1452 Fixed bug #316
Looks like this is a long standing typo... is this code even used anymore?

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402114
2006-09-24 00:55:19 +00:00
Patrice Mandin
0fee077381 Save/restore FPU registers in interrupt
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402091
2006-09-16 16:59:46 +00:00
Ryan C. Gordon
5baf894ec9 Fixed typo in windib audio.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402082
2006-09-13 04:47:46 +00:00
Patrice Mandin
d32e462e3f Disable MiNT thread usage and use hw access for updating DMA audio pointers
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402075
2006-09-12 19:23:51 +00:00
Ryan C. Gordon
bf2a2d714d Fixed macosx audio initialization (passed wrong struct to CoreAudio).
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402065
2006-09-02 21:50:04 +00:00
Ryan C. Gordon
0d6e6d5c9c Compile fixes.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402064
2006-09-02 21:19:00 +00:00
Ryan C. Gordon
2f00844dab Added a FIXME and macro to sun audio.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402062
2006-09-01 22:48:43 +00:00
Ryan C. Gordon
4ada9445af Replaced unions with calls to SDL_SwapFloat...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402061
2006-09-01 19:29:49 +00:00
Ryan C. Gordon
b046008cbd Fixed S32 audio mixing, but I'm a bit nervous about the use of 64-bit
datatypes here...

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402060
2006-09-01 19:17:05 +00:00
Ryan C. Gordon
648d2a839d Continuing my quest to replace all the bitwise operations on SDL_AudioFormats
with the new 1.3 macros...

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402059
2006-09-01 19:16:26 +00:00
Ryan C. Gordon
f3acf2d311 Fixed broken audio conversions between float and unsigned datatypes.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402058
2006-09-01 18:07:41 +00:00
Ryan C. Gordon
4a039aaede Whoops, wrong tokens for int32 support in ALSA driver (specified unsigned
where it should be signed!).

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402057
2006-09-01 18:04:01 +00:00
Ryan C. Gordon
59f531f6dd ALSA was testing if (format) was set to zero as an error condition, but
SND_PCM_FORMAT_S8 is zero, so you could never open ALSA for AUDIO_S8 data
 before.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402056
2006-09-01 17:49:27 +00:00
Ryan C. Gordon
176414e7a2 int32 support for windib and windx5 audio backends.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402055
2006-09-01 07:50:36 +00:00
Ryan C. Gordon
aeb5fc04c0 QNX6 support for int32/float32 (isn't this just ALSA?!)
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402054
2006-09-01 06:55:41 +00:00
Ryan C. Gordon
8a3081f3f3 Updated Tru64 audio to support int32.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402053
2006-09-01 06:43:41 +00:00
Ryan C. Gordon
f7b2a985cc MiNT audio driver cleanups for clamping types and channels to supported
values. int32 support now available in one instance.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402052
2006-09-01 06:32:54 +00:00
Ryan C. Gordon
43bec8da2b Mac OS 9 support for int32/float32.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402051
2006-09-01 06:01:03 +00:00
Ryan C. Gordon
28f57c5b3a Mac OS X audio backend now supports int32/float32.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402050
2006-09-01 05:31:36 +00:00
Ryan C. Gordon
3e4e137122 Cleaned up IRIX audio driver, added float32 support and fallbacks when
a specific audiospec isn't supported or the hardware fails.

Usual disclaimer: No IRIX box, so this may not even compile.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402049
2006-09-01 00:04:07 +00:00
Ryan C. Gordon
bb7ad968f9 Actually, my silly logic bug was actually correct. :/
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402048
2006-08-31 23:16:48 +00:00
Ryan C. Gordon
3a09848855 Let SDL convert to valid Dreamcast audio formats instead of failing if the
hardware can't be opened in a specific format. Not that you'd want to swallow
 the overhead on a Dreamcast, but hey, it's the SDL way.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402047
2006-08-31 23:16:23 +00:00
Ryan C. Gordon
1f63d96bcd Let OS/2 DART backend use SDL converters at a higher level (would fail if
DART didn't directly support AudioSpec before).

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402046
2006-08-31 22:40:53 +00:00
Ryan C. Gordon
2bd800db0e Fixed silly logic thing.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402045
2006-08-31 22:22:34 +00:00
Ryan C. Gordon
558a5b6909 Added int32 and float32 support (and some others!) to BeOS audio backend.
Untested: No BeOS system here for compiling!

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402044
2006-08-31 22:15:07 +00:00
Ryan C. Gordon
5324cc6d9c Added int32 support to Amiga audio driver and cleaned up some other details
in driver initialization. May need tweaking: I can't compile the amiga driver
 here.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402043
2006-08-31 21:43:25 +00:00
Ryan C. Gordon
da3564dedd ALSA backend can handle int32 and float32 data directly.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402042
2006-08-31 21:28:21 +00:00
Ryan C. Gordon
fd613a1f43 Added int32 adn float32 support to SDL_LoadWAV_RW().
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402041
2006-08-31 21:00:10 +00:00
Ryan C. Gordon
bead079669 Reordered the favored audio format list a little.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402040
2006-08-31 20:59:42 +00:00
Sam Lantinga
fdafca64b3 Added source color and alpha modulation support.
Added perl script to generate optimized render copy functions.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402032
2006-08-28 03:17:39 +00:00
Ryan C. Gordon
c500e6c0b4 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.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402029
2006-08-24 12:10:46 +00:00
Sam Lantinga
d942ec3207 MacOS Classic is no longer supported.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%402025
2006-08-10 14:54:23 +00:00
Sam Lantinga
0bd0f1331b Look at environment variables in SDL_VideoInit() and SDL_AudioInit()
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401954
2006-07-15 19:30:18 +00:00
Sam Lantinga
5877021286 More of the Direct3D renderer is implemented, I'm not sure why it's not showing texture copies yet...
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401948
2006-07-14 06:40:53 +00:00
Sam Lantinga
9cbad57c92 Removed libc dependency on Windows again, to fix building with Visual C++ 2005 Express Edition.
Fixed performance problem with testsprite2 on the D3D driver.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401946
2006-07-13 08:13:02 +00:00