Chris Robinson
c5fbc9f05c
Define GUIDs in ALc.c instead of the individual backend source files
2011-05-15 21:47:50 -07:00
Chris Robinson
2940b0f390
Add a skeleton backend for MMDevApi
2011-05-15 20:26:25 -07:00
Chris Robinson
b3902c8950
Add functions to get strings from the device format
2011-05-15 04:03:15 -07:00
Chris Robinson
c39f27d5f8
Set the duplicate-stereo flag properly after the device format is reset
2011-05-13 21:27:46 -07:00
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
eef41e76d7
Don't clear the request flag if a new context doesn't specify a frequency
2011-05-06 01:50:19 -07:00
Chris Robinson
d583f7f307
Update sources automatically when device parameters change
2011-05-06 01:06:01 -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
7832a6d1d8
Add a warning when HRTF is disabled
2011-05-03 20:23:35 -07:00
Chris Robinson
679f2480c9
Add a device flag for channel config requests
2011-05-03 17:11:07 -07:00
Chris Robinson
ba236ad108
Add a frequency-request device flag
2011-05-03 02:29:26 -07:00
Chris Robinson
eea86ab891
Use flags instead of separate bools
2011-05-01 18:18:37 -07:00
Chris Robinson
c9c965ef85
Add a device flag for enabling HRTF
2011-05-01 13:19:23 -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
c031b4d5d0
Allow MSVC to build a static lib
...
Based on a patch by Michał Cichoń <michcic@gmail.com>
2011-04-27 16:33:44 -07:00
Chris Robinson
543134a6d2
Add loopback device properties to the ALCenum list
2011-04-27 12:18:24 -07:00
Chris Robinson
ab2626f9df
Add a couple in-progress extensions to the extension lists
2011-04-27 12:15:16 -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
2f7de9d696
Add alBufferSamplesSOFT, as an initial start to AL_SOFT_buffer_samples
2011-03-16 11:29:22 -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
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
6c4add67e1
Don't duplicate the device list append function
2011-01-23 23:16:55 -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
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
9e8fb89a52
Rename OUTPUTCHANNELS to something more descriptive
2010-12-01 18:33:17 -08:00
Chris Robinson
da4f5c6f96
Uninline some functions
...
Also add -Winline to the compiler command line to watch for future inline problems
2010-11-28 19:52:17 -08:00
Chris Robinson
f09ae196a8
Avoid making Resampler[Pre]Padding static
2010-11-28 17:37:14 -08:00
Chris Robinson
490d1c6a8e
Prefer GCC's constructor, even in Windows
2010-11-28 14:27:07 -08:00
Chris Robinson
a7b4e0b5c5
Get rid of the device timer stuff
2010-11-21 06:32:59 -08:00
Chris Robinson
4c576631ad
Hide AL_EXTX_sample_buffer_object
...
It hasn't been going anywhere, and it's current use is dubious. Leave the code
in for now, but it may be removed later.
2010-11-21 02:36:34 -08:00
Chris Robinson
65e033c64b
Increase the max number of source sends to 4, and decrease the default to 1
2010-11-06 15:08:54 -07:00
Chris Robinson
03f56419d0
Duplicate stereo sources by default
...
The mixer is smart enough now to handle proper volume adjustments depending on
the number of output speakers
2010-09-22 11:09:34 -07:00
Chris Robinson
2d4453968d
Implement AL_SOFT_buffer_sub_data using the current AL_EXT_buffer_sub_data spec
...
This extension can be useful for some applications, but a full EXT version may
not be ready for some time. Using the SOFT moniker will help differentiate it
in case changes need to be done for the EXT version.
2010-09-21 09:43:35 -07:00
Chris Robinson
e5cae87502
Handle clicks by watching changes between updates
2010-08-16 14:53:21 -07:00
Chris Robinson
b65bc45236
Add a corrective, click-remval sample value offset
...
This will hopefully be more effective and rebust at removing clicks and pops,
particularly from starts and stops in the middle of a sound. Based on an idea
by Ben Davis.
2010-08-14 21:30:14 -07:00
Chris Robinson
928572d384
Start the device when creating a context without specified attributes
2010-08-12 17:24:55 -07:00
Chris Robinson
2ed929eadc
Update device parameters using a separate function
2010-08-09 00:28:48 -07:00
Chris Robinson
f1924fa7ea
Decrement context count when it's removed from the list
2010-08-08 02:48:28 -07:00
Chris Robinson
df822513fa
Don't re-init and re-allocate some stuff when the device is left running
2010-08-07 09:13:51 -07:00
Chris Robinson
d9d8319c22
Effectslot's Effectstate should never be NULL
2010-08-06 04:52:34 -07:00