Chris Robinson
816c38e9e4
Add signed 8-bit output to the AudioIO backend
2010-12-09 23:43:29 -08:00
Chris Robinson
09130e5dcd
Fix some AudioIO backend warnings
2010-12-09 23:41:54 -08:00
Chris Robinson
b87447787a
Cleanup some ok() macros
2010-12-09 23:32:47 -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
031111014b
Be consistent with variable name use
2010-12-09 18:09:47 -08:00
Chris Robinson
b5b9303e66
Fix up some conversions
2010-12-09 17:37:57 -08:00
Chris Robinson
3deaa2fad3
Combine stereo and multi-channel templates
2010-12-09 17:14:12 -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
d1ca8b4470
Use simple loops instead of several explicit lines for the mono mixer
2010-12-09 05:05:42 -08:00
Chris Robinson
72e3386c6a
Be a bit more generic with the multi-channel mixer loops
2010-12-09 04:41:52 -08:00
Chris Robinson
4010a6b745
Remove some now-unused functions
2010-12-08 02:56:24 -08:00
Chris Robinson
0218957eb5
Use "internal" visibility by default
...
All functions callable by apps, directly or indirectly (eg, through function
pointers), are marked as "protected", and internal visibility can provide
benefits over hidden when we know functions won't be called by other modules.
2010-12-08 02:32:09 -08:00
Chris Robinson
cd65ab7dfa
Add an IMA4 encoder
2010-12-05 03:34:19 -08:00
Chris Robinson
c4adf541c1
Set the playing flag to TRUE when the dsound buffer starts playing
2010-12-04 20:22:12 -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
191803ad53
Fix wave and null device calculations when the timer wraps
2010-12-03 23:48:59 -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
59990acc2a
Add functions to write (signed) byte and ushort samples to devices
2010-12-02 16:36:37 -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
3339e5dc6a
Use memcpy to copy a string instead of sprintf
2010-12-02 01:12:49 -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
4a0bf9fd44
Template-ize the device buffer writing functions
2010-12-01 21:50:49 -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