Chris Robinson
1bfa7609d2
Make the filter functions global inline, and use it for echo
2009-05-16 23:34:26 -07:00
Chris Robinson
7e8501123a
Set some common macros in alu.h
2009-05-16 23:26:39 -07:00
Chris Robinson
c447eeb2c7
Use the source reference distance to specify full panning magnitude
...
Sources that are closer than the specified reference distance will not pan to
full magnitude, thus providing a smoother transition as it moves around near
the listener
2009-05-16 03:54:16 -07:00
Chris Robinson
ad19cea6e0
Make sure DSSPEAKER_5POINT1 is defined
2009-05-14 05:24:18 -07:00
Chris Robinson
0ce29863e3
Prevent spawning PulseAudio if it's not already running
2009-05-06 00:19:35 -07:00
Chris Robinson
7a7a4844f4
Make the filter history buffer size flexible
...
This lets the filter history buffer be as big as needed for a given use, so
that it can have a size large enough for the more demanding cases, but not be
wasteful for lesser-demanding cases, while not incuring the overhead of an
added pointer indirection
2009-04-16 05:43:09 -07:00
Chris Robinson
a2adbb1ab5
Add a PulseAudio backend
2009-04-16 05:17:42 -07:00
Chris Robinson
e9a6a1d6f5
Use a 2-pole filter for the wet path low-pass filter
...
This should help keep CPU use from increasing a lot when the number of sends
increases. Also changes the function names to reflect the difference
2009-04-14 22:04:18 -07:00
Chris Robinson
f245f0ef87
Make the number of source sends variable
...
The highest value is clamped to MAX_SENDS
2009-04-13 20:33:41 -07:00
Chris Robinson
a30f431b63
Reduce the number of send loops
2009-04-13 02:50:40 -07:00
Chris Robinson
ee1b02b709
Fix comment regarding the 3rd echo tap
2009-04-12 18:54:26 -07:00
Chris Robinson
55c790c9ff
Add the Echo effect
2009-04-12 16:01:10 -07:00
Chris Robinson
65b69f3308
Fix air absorption
2009-04-11 20:27:55 -07:00
Chris Robinson
c67fbd72dd
Pay attention to the MAX_SENDS value
2009-04-11 20:04:46 -07:00
Chris Robinson
30f57d0824
Make auxiliary effect slot count configurable
2009-04-11 18:16:05 -07:00
Chris Robinson
1c54018111
Move the WetBuffer into the effect slot object
...
This should make it easier to support multiple slots
2009-04-11 17:04:55 -07:00
Chris Robinson
fc6d6b1601
Use the square of the values when calculating the density gain
2009-03-21 10:42:42 -07:00
Chris Robinson
9306e36d52
Make sure M_PI is defined for reverb
2009-03-15 23:14:40 -07:00
Chris Robinson
a8a4ff8af1
Constify some parameters
2009-03-13 23:08:15 -07:00
Chris Robinson
8a857c35ee
Calculate filter coefficients in aluMixData
2009-03-13 22:58:54 -07:00
Chris Robinson
89ddd7d8e5
Don't modify the device struct until playback succesfully starts
2009-03-13 22:16:01 -07:00
Chris Robinson
8ee47d5573
Dynamically load dsound when possible
2009-03-10 02:46:42 -07:00
Chris Robinson
9e88011417
Add a cast for setting a dummy pointer value
2009-03-10 02:20:05 -07:00
Chris Robinson
f8949ee7a1
Always add the default ALSA device even if no cards are present
2009-03-10 01:46:51 -07:00
Chris Robinson
62aa2d0ba7
Only expose the default ALSA device in standard enumeration
2009-03-10 01:28:01 -07:00
Chris Robinson
ace047d625
Append the card and device indices to the ALSA device strings
2009-03-10 01:21:42 -07:00
Chris Robinson
7ebb28327f
Remove the SDL backend
2009-03-10 01:03:39 -07:00
Chris Robinson
86931cbde4
Add a PortAudio backend
2009-03-10 00:55:29 -07:00
Chris Robinson
07227b9806
Use a modified reverb model that obeys the reverb parameters better
2009-03-02 18:48:23 -08:00
Chris Robinson
8348d719cd
Clamp gain of multichannel sources
2009-02-10 15:15:49 -08:00
Chris Robinson
57c2e9b5f8
Include assert.h for assert()
2009-02-02 11:18:33 -08:00
Chris Robinson
7d7fc39035
Use calculated distance from reference for air absorption
2009-01-30 10:56:25 -08:00
Chris Robinson
351105b3df
Fix incorrect comment
2009-01-30 10:53:09 -08:00
Chris Robinson
cbfc33215b
Use M_PI since it is sure to be defined
2009-01-27 07:11:58 -08:00
Chris Robinson
5a93b56673
Fix ignored return value warning
2009-01-26 08:10:05 -08:00
Chris Robinson
1f4c69c17a
Use a matrix for up- and down-mixing channels
2009-01-25 22:11:07 -08:00
Chris Robinson
f5b19fad20
Duplicate stereo onto the side channels as well as the back
2009-01-25 19:54:50 -08:00
Chris Robinson
bc60818e9a
Don't read stereo layout when output is mono
2009-01-25 19:33:52 -08:00
Chris Robinson
f82c88f016
Add options for user-configurable speaker arrangements
2009-01-25 19:20:47 -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
aaf2c0ebd4
Seperate mixing loops depending on source channel configuration
2009-01-24 13:57:01 -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
1acd6da745
Search for SDL.h in addition to SDL/SDL.h
2008-12-12 11:09:23 -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
2ec0e48d06
Protect playback device opening with a mutex lock
2008-12-07 01:07:54 -08:00
Chris Robinson
8b54d59b8c
Add an SDL backend
2008-12-07 01:05:39 -08:00
Chris Robinson
f6a4dbabdd
Add cast for setting a dummy pointer value
2008-12-06 12:17:29 -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
591de1ecb4
Wait until one full fragment is empty before mixing
2008-11-21 07:52:13 -08:00
Chris Robinson
3dad17c263
Make the DSound emulated fragment count configurable
2008-11-21 07:48:03 -08:00