Chris Robinson
86931cbde4
Add a PortAudio backend
2009-03-10 00:55:29 -07:00
Chris Robinson
1f4c69c17a
Use a matrix for up- and down-mixing channels
2009-01-25 22:11:07 -08:00
Chris Robinson
98e86decad
6.1 uses front- and back-center, not left- and right-back channels
2009-01-24 15:13:14 -08:00
Chris Robinson
778b74cae1
Reimplement panning using lookup tables, based on a patch by Christian Borss
...
This allows speaker positions to be specified by discrete angles around the
listener, providing more flexibility and configurability in placement.
Additional patches to take advantage of this are forthcoming.
2009-01-24 10:38:04 -08:00
Chris Robinson
3056f91ec5
Apply the dry filter to multi-channel sources
...
Unlike mono sources, they use 2 chained one-pole filters instead of 4
2008-12-10 11:54:13 -08:00
Chris Robinson
8b54d59b8c
Add an SDL backend
2008-12-07 01:05:39 -08:00
Chris Robinson
55b9ccc2de
Implement AL_EXTX_source_distance_model
...
As with other EXTX extensions, this is subject to change and removal as the
spec gets worked on
2008-11-25 18:56:10 -08:00
Chris Robinson
482b160c8a
Remove unneeded macro
2008-11-16 01:07:39 -08:00
Chris Robinson
c0ccd31a3e
Implement a new reverb effect
...
Code created and graciously provided by Christopher Fitzgerald
2008-11-16 00:29:49 -08:00
Chris Robinson
d72b132c57
Add an option to disable specific EFX effect types
2008-11-14 07:13:59 -08:00
Chris Robinson
010f7d12f4
Don't ramp gains when starting a sound from the beginning
2008-11-13 05:48:38 -08:00
Chris Robinson
da684564ea
Avoid unnecessary floating-point math
2008-11-11 17:59:55 -08:00
Chris Robinson
fc4c867f27
Add initial AL_EXTX_buffer_sub_data support
...
Note that this is an in-development extension, as noted by the EXTX moniker
instead of EXT. It's behavior is subject to change, and the extension string
will be removed (replaced with the official string once it's finalized).
Developers are discouraged from using this in production code, though feel
free to play around with it.
2008-11-11 05:57:32 -08:00
Chris Robinson
15334e56cd
Be more flexible with channel count when loading IMA4 data
2008-11-02 15:30:56 -08:00
Chris Robinson
ffa42ff22c
Seperate data converters into reusable functions
2008-11-02 01:24:57 -07:00
Chris Robinson
a7c62dbabc
More padding fixes
2008-11-01 16:37:32 -07:00
Chris Robinson
eda1e41152
More buffer conversion refactoring
2008-11-01 16:35:16 -07:00
Chris Robinson
af5a5b76ec
Padding is not dependant on the frequency cutoff anymore
2008-10-31 23:32:28 -07:00
Chris Robinson
87f3a0dc16
Restructure buffer data conversion code a bit
2008-10-31 22:13:35 -07:00
Chris Robinson
301a4c4a95
Append the driver and its version to the AL version string
2008-10-25 15:48:17 -07:00
Chris Robinson
59a71b1454
Remove another unused source member
2008-10-10 01:31:31 -07:00
Chris Robinson
bfa1107781
Remove unneeded source member variable
2008-10-09 23:44:48 -07:00
Chris Robinson
11397f7667
Commit missing changes
2008-10-09 20:58:12 -07:00
Chris Robinson
3863dcc9cb
Use a new low-pass filter, based on the I3DL2 spec
...
Many thanks to Christopher Fitzgerald, for helping with it
2008-10-02 22:20:42 -07:00
Chris Robinson
6567cdd7b5
Air absorption factor is applied to the dB value, not linear gain
2008-09-22 17:01:47 -07:00
Chris Robinson
6bfdb57a5b
Use a 12dB/oct rolloff instead of 24 for the lowpass filter
2008-09-13 02:46:14 -07:00
Chris Robinson
16d96eed7b
Add a Solaris playback backend
2008-09-07 14:34:14 -07:00
Chris Robinson
5f3329b2c9
Don't export extension function symbols from the lib
2008-09-06 13:45:27 -07:00
Chris Robinson
db541f3cfa
Remove unneeded source struct member
2008-08-15 17:43:07 -07:00
Chris Robinson
3e19ba6ca8
Clear channel volumes when starting a source
2008-08-15 16:33:47 -07:00
Chris Robinson
084df2a229
Allow setting the EFX doppler factor source property
2008-08-14 16:14:16 -07:00
Chris Robinson
22557070ec
Ramp channel gains to remove pops and clicks from abrupt changes
...
Thanks to Christopher Fitzgerald for helping me work on it
2008-08-14 05:43:52 -07:00
Chris Robinson
f8ef66954c
Include fenv.h if it exists for fesetround
2008-08-08 08:12:41 -07:00
Chris Robinson
8621fbb015
Improve getting and setting EFX filter parameters
2008-07-26 18:32:45 -07:00
Chris Robinson
597e01153e
Use arrays instead of pointer-to-arrays for the low-pass filter
2008-07-26 17:13:50 -07:00
Chris Robinson
3e0f9cc716
Make the filter processing function inline
2008-07-26 00:58:54 -07:00
Chris Robinson
c7e49c9f57
Implement yet another low-pass filter
...
This one using the Butterworth IIR filter design
2008-07-25 19:31:12 -07:00
Chris Robinson
e2ed8ff2bf
Use a temp pointer when realloc()ing
...
So the original data isn't lost on out-of-memory conditions
2008-07-24 13:44:26 -07:00
Chris Robinson
559c786d0c
Specify padding per buffer, and make sure it's large enough for the filter step
2008-07-24 00:41:25 -07:00
Chris Robinson
a75e75aef5
Implement an alternative low-pass filter
...
This method samples from the buffer so that it gets a time-correct 5khz stream,
which is subtracted from the original sample and has the high-frequency gain
applied, then added back.
A better method may be to average all the samples from the current one to the
one freq/5000 away, instead of bilinear filtering the two nearest freq/5000
apart. Processing cost will need to determine its viability
2008-07-23 22:29:53 -07:00
Chris Robinson
93c0f61050
Clarify implicit destruction warnings
2008-07-22 14:29:27 -07:00
Chris Robinson
87b5d7bc7b
Store extension list with a pointer, not a per-context array
2008-07-22 12:39:10 -07:00
Chris Robinson
e66bb09156
Move (de)initialization into ALc.c and remove unneeded file
2008-07-17 18:38:07 -07:00
Chris Robinson
0042b1f80d
Implement doppler factor source property
2008-07-15 02:33:05 -07:00
Chris Robinson
97d3a45aff
Don't check the number of objects being deleted with the number currently allocated
...
Since apps can validly delete buffer 0, and delete the same source/buffer multiple times in a single call
2008-07-11 09:12:11 -07:00
Chris Robinson
cad9b367a5
Use pthread_mutexattr_setkind_np as a fallback to set a recursive mutex type
...
Some systems (FreeBSD) don't like setting it through pthread_mutexattr_settype
2008-05-15 21:35:51 -07:00
Chris Robinson
28093a6dcb
constify the pointer that holds the filename
2008-03-22 19:05:00 -07:00
Chris Robinson
2af5498804
Define _WIN32_WINNT to 0x0500 when including windows.h
...
VC7 appears to require that value, or higher, set and fails otherwise
2008-03-01 01:39:42 -08:00
Chris Robinson
847b3e8b61
Preserve data and position when reallocating the reverb effect
...
Still not perfect, but better for when the size doesn't change
2008-02-18 21:58:58 -08:00
Chris Robinson
8c3188bc7d
Remove FrameSize struct member
2008-02-14 22:05:56 -08:00