Chris Robinson
4a1c0fedca
Use the defines for the UserFmt* and Fmt* types
2011-03-16 05:47:07 -07:00
Chris Robinson
d6c8bb35b4
Add a CoreAudio backend
...
Code courtesy of Garin Hiebert <garinh@cheesetoast.net>
2011-03-15 04:58:56 -07:00
Chris Robinson
ffd19fe961
Rename ConvertData* to ConvertInput*
2011-03-13 00:05:19 -08:00
Chris Robinson
b1d4508d90
Use a loop to make sure the requested effect is not disabled
2011-03-12 20:54:49 -08:00
Chris Robinson
8249dc8559
Combine multiple lists into one
2011-03-12 20:37:22 -08:00
Chris Robinson
59fe4f8a36
Don't return enums for disabled effects
2011-03-12 20:27:46 -08:00
Chris Robinson
73123bc313
Add support for ALC_EXT_DEDICATED
2011-03-12 20:11:25 -08:00
Chris Robinson
031a2a1b1e
Implement a basic non-real-time loopback device
...
Currently it behaves just like a normal device except contexts are only
processed during calls to alcRenderSamples. Additionally, the ALC_SYNC and
ALC_REFRESH context attributes are not valid for these devices, and there are
two new context attributes to specify the rendering format: ALC_FORMAT_TYPE
and ALC_FORMAT_CHANNELS. These each take one of the type and channel enums
added.
This stuff is subject to change.
2011-03-11 00:13:44 -08:00
Chris Robinson
9c87b73ad5
Fix a compiler warning about checking differing enum types
...
One of the enum types is actually a subset of the other, and share the same
integer values for compatible enumation values
2011-03-10 01:27:42 -08:00
Chris Robinson
97139a530f
Filter NaN sample values when converting floats and doubles
2011-03-04 16:18:03 -08:00
Chris Robinson
d9126eeb2c
Finalize the loop points extension as AL_SOFT_loop_points
2011-02-09 22:54:12 -08:00
Chris Robinson
d8048e136f
BufferFreq doesn't need to be a float
2011-02-09 11:19:33 -08:00
Chris Robinson
9ffb38d6be
Prevent unused variable warnings when monotonic clock isn't available
2011-02-08 00:22:22 -08:00
Chris Robinson
5a548f8366
Another fix for float-to-int conversions
2010-12-09 22:47:06 -08:00
Chris Robinson
023658605e
Constify some variables
2010-12-09 19:47:08 -08:00
Chris Robinson
b5b9303e66
Fix up some conversions
2010-12-09 17:37:57 -08:00
Chris Robinson
c3cd4c80b2
Use a matrix when rendering to the dry buffer
2010-12-09 16:37:23 -08:00
Chris Robinson
be3f3c4bf0
Make better use of the type range when converting from float
2010-12-09 05:06:29 -08:00
Chris Robinson
4010a6b745
Remove some now-unused functions
2010-12-08 02:56:24 -08:00
Chris Robinson
cd65ab7dfa
Add an IMA4 encoder
2010-12-05 03:34:19 -08:00
Chris Robinson
88e3a22772
Separate device format into 'channel config' and 'sample type' components
2010-12-04 19:50:00 -08:00
Chris Robinson
1b7be672fa
No need to clamp the app-specified pitch
2010-12-03 23:08:26 -08:00
Chris Robinson
9581325b9c
Rename SrcFmt -> UserFmt
2010-12-03 22:33:41 -08:00
Chris Robinson
0bf7716332
Remove incomplete EXT_buffer_sub_data, as it's (temporarily) superceded by SOFT_buffer_sub_data
...
The EXT version can come back when other implementations take an interest
2010-12-02 01:46:43 -08:00
Chris Robinson
30b3f68ddf
Make a function static
2010-12-02 01:05:29 -08:00
Chris Robinson
75552f2765
Remove unused macro
2010-12-01 23:21:18 -08:00
Chris Robinson
fa28098a83
Some general cleanups
2010-12-01 20:34:29 -08:00
Chris Robinson
646409cbdf
Don't limit IMA4 decoding to 2 channels
2010-12-01 18:36:07 -08:00
Chris Robinson
9e8fb89a52
Rename OUTPUTCHANNELS to something more descriptive
2010-12-01 18:33:17 -08:00
Chris Robinson
14441e0e53
Rename some variables
2010-12-01 14:19:57 -08:00
Chris Robinson
7f5814c4d8
Use min/max to clamp the IMA4 sample and index values
2010-12-01 14:07:21 -08:00
Chris Robinson
e3afc3587e
Fix handling of -32768 in the muLaw encoder
2010-12-01 02:24:39 -08:00
Chris Robinson
8a52c44d15
Don'f fail if realloc returns NULL for 0 sizes
2010-12-01 02:00:41 -08:00
Chris Robinson
e6e18732b5
Make sure the muLaw sample encoder is inlined
2010-11-30 18:06:54 -08:00
Chris Robinson
3f8ae8f1ce
Fix IMA4 decoding
2010-11-30 16:54:30 -08:00
Chris Robinson
a79129835c
Fix some comments and line spacing
2010-11-30 13:04:48 -08:00
Chris Robinson
6fcaecdc9f
Fix int-to-double conversion
2010-11-30 12:26:37 -08:00
Chris Robinson
8dc8090888
Make muLaw decoding work similar to encoding
2010-11-30 01:26:43 -08:00
Chris Robinson
4db2f1ec7d
Implement a muLaw encoder
2010-11-30 01:20:40 -08:00
Chris Robinson
06fa030260
Rename the IMA4 block decoder function
2010-11-30 01:00:37 -08:00
Chris Robinson
018f9fc278
Handle all channel configurations for double
2010-11-30 00:32:13 -08:00
Chris Robinson
c0f6d46cd8
Allow LoadData to handle IMA4 data
2010-11-30 00:28:02 -08:00
Chris Robinson
8e43b1fe04
Let the storable format enum values share the input format enum values where they overlap
2010-11-29 23:57:07 -08:00
Chris Robinson
04df919a1c
Clean up muLaw format loading a bit
2010-11-29 23:46:49 -08:00
Chris Robinson
f82e628f08
Allow converting IMA4 to types other than short
2010-11-29 22:55:46 -08:00
Chris Robinson
07a7c03adb
Check for a couple missing input formats and remove an unneeded default case
2010-11-29 22:07:07 -08:00
Chris Robinson
e800f8c0a7
Let DecomposeInputType verify the format passed to alBufferSubDataSOFT
2010-11-29 22:01:54 -08:00
Chris Robinson
d02dbef9d2
Pass the input channel config and sample type to LoadData
2010-11-29 21:55:47 -08:00
Chris Robinson
55262bc6e9
Make the decompose functions return false when given an unhandled format
2010-11-29 20:34:33 -08:00
Chris Robinson
51ed22afb9
Combine two switch blocks
2010-11-29 20:17:15 -08:00