Chris Robinson
c9ac4f06ff
Remove an unused macro and rename another
2011-05-07 04:35:49 -07:00
Chris Robinson
a8fdcd30a5
Some minor cleanups
2011-05-07 04:31:43 -07:00
Chris Robinson
db3cb23c1d
Add an option to reverse Z panning of mono sources
...
Applications that are not built around OpenAL's orientation system need to
convert their given vectors to it. Depending on how this is done, it can lead
to proper stereo (left-right) panning with improper surround sound (front-back)
panning, which thusly sounds correct with stereo output and incorrect with 4+
channel output.
This option is intended to help fix playback of such applications on surround
sound systems, without having to resort to forcing stereo output.
2011-05-07 03:54:46 -07:00
Chris Robinson
4198f3062c
Remove the device channel matrix
2011-05-06 04:42:54 -07:00
Chris Robinson
e608317e70
Fix device flag value
2011-05-06 01:59:32 -07:00
Chris Robinson
1363e044ac
Remove the head_dampen option
...
Now that HRTF is properly supported, it's not needed
2011-05-06 00:38:10 -07:00
Chris Robinson
2972de1047
Use function pointers to call the source mixer
2011-05-06 00:20:40 -07:00
Chris Robinson
38db4115fc
Fix a comment
2011-05-05 22:36:26 -07:00
Chris Robinson
0e824914b2
Use signed samples for 8-bit storage
2011-05-05 18:54:10 -07:00
Chris Robinson
679f2480c9
Add a device flag for channel config requests
2011-05-03 17:11:07 -07:00
Chris Robinson
e2850df07e
Use the same filters for mono sources and multi-channel
2011-05-03 16:18:46 -07:00
Chris Robinson
ba236ad108
Add a frequency-request device flag
2011-05-03 02:29:26 -07:00
Chris Robinson
24aaa24b5c
Check for the C99 restrict keyword
...
GCC does not default to C99 mode yet, so does not know restrict, however it
still allows using __restrict in its place
2011-05-02 17:06:32 -07:00
Chris Robinson
f843b7e2e3
Implement HRTF mixers for multi-channel sources
2011-05-02 02:22:30 -07:00
Chris Robinson
eea86ab891
Use flags instead of separate bools
2011-05-01 18:18:37 -07:00
Chris Robinson
56d9418119
Add an HRTF filter for mono sources
...
The data is based on the KEMAR HRTF data provided by MIT, which can be found at
<http://sound.media.mit.edu/resources/KEMAR.html >. The compact measurements
were used. See hrtf_tables.inc for more information.
The filter is only available for stereo output, using a 44100hz playback rate.
Note also that it currently only applies to mono sounds, and the cf_level and
head_dampen config options are ignored while it is active.
2011-05-01 13:59:44 -07:00
Chris Robinson
0109104027
Add some source fields for HRTF data
2011-05-01 13:21:56 -07:00
Chris Robinson
c9c965ef85
Add a device flag for enabling HRTF
2011-05-01 13:19:23 -07:00
Chris Robinson
43f97b4da1
Use the new format names when possible
2011-04-29 11:55:59 -07:00
Chris Robinson
63f07db303
Add the SOFT moniker for the loopback extension functions and enums
2011-04-28 11:37:23 -07:00
Chris Robinson
2e9ca89dd3
Reorder some cases
2011-04-27 21:05:46 -07:00
Chris Robinson
8586aeabe8
Minor fix for 24-bit conversions to float and double
2011-04-27 19:26:27 -07:00
Chris Robinson
d91b3464a4
Fix 24-bit sample loading for big-endian
2011-04-27 15:46:30 -07:00
Chris Robinson
650d94e1a6
Change some sample type values
2011-04-27 12:20:50 -07:00
Chris Robinson
d50f9249d6
Add support for packed 24-bit samples
2011-04-26 18:17:50 -07:00
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
936acf8c10
Allow the buffer_samples API to be retrieved
2011-04-10 09:48:37 -07:00
Chris Robinson
358d402cd0
Move Convert_IMA4 into the template declarations
2011-03-21 09:42:03 -07:00
Chris Robinson
d11593eb5c
Use nested loops when converting data
2011-03-19 12:40:14 -07:00
Chris Robinson
4bdedc7fde
Use more appropriate enum values
2011-03-18 07:28:06 -07:00
Chris Robinson
9be625d6e8
Add some new format names
2011-03-17 08:42:25 -07:00
Chris Robinson
898b245bb2
Make LoadData return an error if the dst format is not valid or compatible
2011-03-16 19:39:31 -07:00
Chris Robinson
be37f10fed
Add alIsBufferFormatSupportedSOFT
2011-03-16 13:57:00 -07:00
Chris Robinson
a87f651b4d
Combine ConvertInput* and ConvertOutput* helpers
...
The UserFmt* enum types are a complete set of all recognized channel configs and
sample types, so casting Fmt* enum types to them is valid.
2011-03-16 13:32:57 -07:00
Chris Robinson
575195a283
Add alGetBufferSamplesSOFT
2011-03-16 12:56:39 -07:00
Chris Robinson
5621ee4239
Buffers made with alBufferSamplesSOFT always reference the internal format
...
This is not necessarily the same as the format of the originating data
2011-03-16 12:24:53 -07:00
Chris Robinson
f5c4e67aef
Add alBufferSubSamplesSOFT
2011-03-16 12:13:17 -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
9cee723e92
Pass the number of compressed frames to LoadData
2011-03-16 10:00:24 -07:00
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