Chris Robinson
10a9753183
Add a compatibility option to treat cone angles as half angles
...
All previous versions of the library treated the source cone angles as half
angles, which is contrary to the spec. Setting the __ALSOFT_HALF_ANGLE_CONES
environment variable to "true" or "1" restores the buggy behavior for
compatibility with applications that expect it.
This is not a config file option because new apps should not be made to depend
on the old behavior.
2011-04-22 23:17:27 -07:00
Chris Robinson
1e8718fe87
Convert full-width cone angle source properties to half-width
...
The spec intends the property values to be the full angle encompassed by the
cones, but the calculation interprets them as the angle from the center
point.
2011-04-22 22:59:58 -07:00
Chris Robinson
678d0b87d0
Apply the device matrix to the multi-channel source matrix
...
Mono sources and effects already output according to the available output
device channels. Multiplying the device matrix with the source matrix results
in a matrix that has the same effect as applying the source matrix followed by
the device matrix, so all the channel remixing can be done in one place.
2011-04-14 21:03:37 -07:00
Chris Robinson
319dfce300
Fix LFE channel output
2011-04-14 15:20:25 -07:00
Chris Robinson
c3e86933d0
Only set relevant device matrix entries
2011-04-12 17:08:02 -07:00
Chris Robinson
936acf8c10
Allow the buffer_samples API to be retrieved
2011-04-10 09:48:37 -07:00
Chris Robinson
2f7de9d696
Add alBufferSamplesSOFT, as an initial start to AL_SOFT_buffer_samples
2011-03-16 11:29:22 -07:00
Chris Robinson
b510958f9e
NoErr should be noErr
2011-03-15 11:52:18 -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
4eeed5376f
Invert the device matrix row/column
...
It is accessed now as mat[target][source]
2011-03-13 08:46:54 -07:00
Chris Robinson
77ad538e68
Remove more unneeded casts
2011-03-13 07:11:09 -07:00
Chris Robinson
b699aca65b
Remove unnecessary casts
2011-03-13 06:34:41 -07:00
Chris Robinson
208912ceac
Fix DSound floating-point sample assumptions
2011-03-12 22:52:33 -08:00
Chris Robinson
8249dc8559
Combine multiple lists into one
2011-03-12 20:37:22 -08:00
Chris Robinson
73123bc313
Add support for ALC_EXT_DEDICATED
2011-03-12 20:11:25 -08:00
Chris Robinson
66ee3bc217
Better protect the device for multi-threading access
2011-03-12 06:23:17 -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
d9126eeb2c
Finalize the loop points extension as AL_SOFT_loop_points
2011-02-09 22:54:12 -08:00
Chris Robinson
fd64fea279
Use the correct winmm device ID type
2011-02-08 10:33:18 -08:00
Chris Robinson
13397feccf
Don't inline CalcLimitedHfRatio
2011-02-07 23:58:40 -08:00
Chris Robinson
57b05fb6d4
Add a missing enum value for PA_API_VERSION 11
2011-02-07 23:53:07 -08:00
Chris Robinson
41a2c25b5a
Include cguid.h for GUID_NULL
2011-02-07 22:46:54 -08:00
Chris Robinson
6713a47d38
Fix looping on loop points
2011-02-06 01:07:37 -08:00
Chris Robinson
02e0223fe8
Re-enable channel-config-specific layout options
2011-01-23 23:57:39 -08:00
Chris Robinson
6c4add67e1
Don't duplicate the device list append function
2011-01-23 23:16:55 -08:00
Chris Robinson
2b7324c06e
Avoid using a variable for array sizes and const variable initialization
2011-01-23 22:30:18 -08:00
Chris Robinson
c95bd6cadf
Fix loop handling when traversing the buffer queue backwards
2011-01-23 15:04:42 -08:00
Chris Robinson
d73694d3e6
More improvements to the AudioIO backend
2010-12-09 23:53:32 -08:00
Chris Robinson
5d607f9484
Better check format type returned by AUDIO_SETINFO
2010-12-09 23:47:11 -08:00
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
031111014b
Be consistent with variable name use
2010-12-09 18:09:47 -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
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
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
4a0bf9fd44
Template-ize the device buffer writing functions
2010-12-01 21:50:49 -08:00
Chris Robinson
9e8fb89a52
Rename OUTPUTCHANNELS to something more descriptive
2010-12-01 18:33:17 -08:00
Chris Robinson
0cf32e2946
Reorder some parameters for consistency
2010-11-29 19:48:18 -08:00
Chris Robinson
eb489ac886
Store double formats as float
...
The mixer will cut it down to float anyway, so it's unnecessary and needlessly
creates more mixer functions
2010-11-28 23:07:57 -08:00