Chris Robinson
38a9e642df
Check for SSE2 and set the denormals-are-zero bit for mixing if available
2013-05-22 17:04:37 -07:00
Chris Robinson
0a07ed14c2
Rename DELETE to DELETE_OBJ
...
Because Windows.
2013-05-21 23:42:40 -07:00
Chris Robinson
604726c639
Add a DELETE macro to help destroy objects
2013-05-21 13:27:27 -07:00
Chris Robinson
eaccaa5028
Rename the effect state's Destroy method to Destruct
2013-05-21 13:02:56 -07:00
Chris Robinson
a5d94f5d09
Use factories to create and destroy effect states
2013-05-21 12:47:18 -07:00
Chris Robinson
78e7c1c27b
Implement distortion and equalizer effects
...
Code provided by Mike Gorchak
2013-05-18 01:33:01 -07:00
Chris Robinson
d237410d1d
Add a QSA backend for QNX
2013-03-14 01:29:20 -07:00
Chris Robinson
3fd0f23e48
Add Chorus and Flanger effects
...
Code provided by Mike Gorchak
2013-03-13 23:31:12 -07:00
Chris Robinson
e51574c764
Trace the list of supported backends
2012-12-04 13:46:51 -08:00
Chris Robinson
1fb9311d82
Lock the device before calling aluHandleDisconnect
...
PulseAudio causes an assert if being relocked inside a callback on the worker
thread, where aluHandleDisconnect is called. We can assume it's already locked
there, so just make sure the device is locked before being calling it.
2012-12-02 11:30:23 -08:00
Chris Robinson
dd34daed42
Trace the opened device name in alcCaptureOpenDevice
2012-12-02 06:37:34 -08:00
Chris Robinson
830428fb06
Use WARN when implicitly deleting resources with the context
2012-12-02 01:17:26 -08:00
Chris Robinson
e2368eb960
Use an array to specify the offset for each channel of the device buffer
...
This effectively inverts the DevChannels array
2012-11-04 04:41:11 -08:00
Chris Robinson
4a3d36a176
Finalize AL_SOFT_source_latency
2012-10-31 05:09:42 -07:00
Chris Robinson
8a67e5cfa2
Use an asterisk to denote a requested format option in the trace
2012-10-16 07:46:04 -07:00
Chris Robinson
01136ecd51
List the in-progress AL_SOFT_source_latency extension
2012-10-13 00:59:46 -07:00
Chris Robinson
1212523470
Implement the double and int64 source setters
...
Note that currently the int64 setters do not range check before being passed to
the int setters, erroneously chopping off the upper bits.
2012-10-13 00:56:39 -07:00
Chris Robinson
06ab9cf70e
Use the enum to set the default distance model
2012-10-12 23:28:51 -07:00
Chris Robinson
a3d4868ef4
Initialize the listener velocity parameter
2012-10-12 08:01:02 -07:00
Chris Robinson
39bc2ba65c
Build the listener matrix separately
2012-10-09 06:19:36 -07:00
Chris Robinson
d598f82722
Don't include alListener.h from alMain.h
2012-10-09 04:48:12 -07:00
Chris Robinson
c22408cb2a
Store a pointer to the listener in the context
2012-10-09 04:44:27 -07:00
Chris Robinson
991e21a712
Avoid unnecessarily locking the list lock
2012-10-07 00:13:23 -07:00
Chris Robinson
1a9cf7ab80
Shorten format trace messages
2012-10-06 23:32:36 -07:00
Chris Robinson
16bdf79d4c
Round up the device's default slot alignment
2012-10-05 00:32:41 -07:00
Chris Robinson
68faef5b84
Ensure the device's default effect slot is properly aligned
2012-09-26 18:21:03 -07:00
Chris Robinson
ccd35bffe7
Help ensure the update size is a multiple of 4 with SSE
2012-09-20 14:54:28 -07:00
Chris Robinson
657ee85136
Use a struct to store the FPU mode
2012-09-16 01:35:16 -07:00
Chris Robinson
45bb010b28
Shorten a warning
2012-09-14 05:05:20 -07:00
Chris Robinson
f4642953d4
Warn about SSE performance with non-multiple-of-4 update sizes
2012-09-11 11:17:41 -07:00
Chris Robinson
7e81918f7b
Update HRTF code
...
This update allows for much more flexibility in the HRTF data. It also allows
for HRTF table file names to include "%r" to represent the device's playback
rate (e.g. if you set hrtf-%r.mhr, then it will try to use hrtf-44100.mhr or
hrtf-48000.mhr depending if the device's output rate is 44100 or 48000,
respectively).
The makehrtf utility has also been updated to support more options and input
file formats, as well as the new mhr format.
2012-09-11 02:11:51 -07:00
Chris Robinson
332d66c183
Make sure device buffers are 16-byte aligned
2012-08-29 01:40:42 -07:00
Chris Robinson
bc1ce7b3ac
Add methods to get source properties as doubles
2012-08-20 15:26:35 -07:00
Chris Robinson
50fa9a44be
Properly export alGetSource3i64SOFT
2012-08-20 14:48:08 -07:00
Chris Robinson
37924887e8
Use a default method to provide a dummy latency
2012-08-19 12:31:59 -07:00
Chris Robinson
0865db564f
Move the device lock into the backend function table
...
For backend-specific implementations: this should hold the audio mixer loop for
playback devices, and provide recursive mutex behavior.
2012-08-18 15:58:04 -07:00
Chris Robinson
2b020040b4
Keep the backend device open until the last reference is released
...
This should generally happen with the next ALCdevice_DecRef call unless the
device is in the middle of being used in another thread, in which case it's
probably best to not remove the resources.
2012-08-18 14:49:42 -07:00
Chris Robinson
3ae5fcbd7e
Add the start of AL_SOFT_source_latency
...
This extension will provide a way for apps to get accurate latency and playback
position information
2012-08-18 11:06:39 -07:00
Chris Robinson
ac4fc4026c
Add a device method to retrieve the active latency
...
This is effectively the time until the next update will be heard by the user,
or the closest approximation thereof, in nanoseconds.
2012-08-17 13:38:52 -07:00
Chris Robinson
c9e87a19a9
Add cmake options to disable or require support for CPU extensions
2012-08-15 01:24:50 -07:00
Chris Robinson
e9a20cb985
Add an SSE-enhanced HRTF mixer using intrinsics
...
Not as good as it could be, but it's something
2012-08-14 03:53:07 -07:00
Chris Robinson
17dfaa3aae
Add a config option to disable use of CPU extensions
2012-08-13 10:37:49 -07:00
Chris Robinson
add53e28c2
Check for some CPU extensions
2012-08-13 09:07:01 -07:00
Chris Robinson
8304fc1bef
Handle the scalar values a bit better
2012-08-11 06:20:24 -07:00
Chris Robinson
d6fd52a0e5
Add an option for wide stereo sources
...
Replaces the old stereodup option
2012-08-09 05:38:07 -07:00
Chris Robinson
6bd535bed0
Use wrappers for float-typed math functions
2012-06-29 02:12:36 -07:00
Chris Robinson
583dc8dbca
Don't use all caps for enum value names
2012-06-28 18:49:49 -07:00
Chris Robinson
ef1f8aa9a0
Don't needlessly verify a device
2012-06-19 00:25:45 -07:00
Chris Robinson
259e4f5b38
Rename AllDevice -> AllDevices
2012-05-09 16:28:16 -07:00
Chris Robinson
8d9838012d
Remove the stereodup option
...
There's better ways to do it now with "wide" sound sources.
2012-04-29 04:44:53 -07:00