Chris Robinson
656a406377
Use an inline function to calculate the low-pass filter coefficient
2009-12-09 07:21:59 -08:00
Chris Robinson
5fcd6cc510
Split non-attenuated source calculations into a separate function
2009-12-09 07:02:26 -08:00
Chris Robinson
e09b6020a6
Fix typo for reverb creation
2009-12-09 06:46:06 -08:00
Chris Robinson
84d2d623b6
Add a head-dampening option
...
This simulates occlusion of the player's head for sounds coming from behind,
when outputing to mono or stereo
2009-12-08 14:18:07 -08:00
Chris Robinson
1694e5bd12
Store the original pre-clamped distance instead of re-computing it
2009-12-08 10:12:18 -08:00
Chris Robinson
5170e251f9
Use the correct wet filter history offset
2009-12-07 12:45:23 -08:00
Chris Robinson
4697e946d3
Internally store 32-bit float buffer data, and mix accordingly
2009-12-07 10:35:30 -08:00
Chris Robinson
9286e3984c
Move default channel order setting out of the header
2009-12-07 04:19:33 -08:00
Chris Robinson
8138446b8c
Restrict setting some wet path values to active sends only
2009-12-06 03:59:12 -08:00
Chris Robinson
311cc5c62f
Don't wait to accept stream connections
2009-12-03 04:43:38 -08:00
Chris Robinson
4a928ea9fa
Don't signal on synchronous changes and don't wait to accept context changes
2009-12-02 08:10:45 -08:00
Chris Robinson
b5270e0bb3
Use a channel-map to specify the output device channel order
2009-12-02 04:03:51 -08:00
Chris Robinson
6cfc31777b
Add an option for real-time priority mixing
...
Default to disable for now, as a safety precaution
2009-12-01 23:15:09 -08:00
Chris Robinson
0e1e8503e0
Properly accept PulseAudio's mainloop signal on connection failure
2009-12-01 22:42:43 -08:00
Chris Robinson
974d0b4e91
Fix retrieved update size from pulseaudio
2009-12-01 12:21:02 -08:00
Chris Robinson
d66832a39c
Accept a signal only when the pulseaudio stream/context is ready
2009-12-01 12:18:34 -08:00
Chris Robinson
d5889a941f
Clamp dry gain after cone attenuation is applied
2009-12-01 03:32:04 -08:00
Chris Robinson
6248e986e5
Don't complain if the length given by pulse isn't an exact multiple of the period size
2009-12-01 02:23:38 -08:00
Chris Robinson
786b98a013
Avoid setting a field redundantly
2009-11-29 23:07:04 -08:00
Chris Robinson
f63d8dbf38
Enable real-time priority for ALSA, OSS, and DirectSound mixing loops
2009-11-29 23:02:21 -08:00
Chris Robinson
fdd314f7f8
Reset the kill flag after the thread has stopped
2009-11-29 10:22:12 -08:00
Chris Robinson
98ce1d14c1
Update AL_EXTX_source_distance_model to require explicit enabling
...
The in-progress spec has been updated to reflect this
2009-11-27 20:05:21 -08:00
Chris Robinson
69f9ab88b9
Send multi-channel sources to auxiliary effect slots
...
They are downmixed to mono using a volume-preserving scalar, and passed
through a 1-pole low-pass filter (not chained)
2009-11-26 00:39:32 -08:00
Chris Robinson
1a0676f0eb
Mark sources for updating when a new context is made from the device
2009-11-25 16:28:19 -08:00
Chris Robinson
658923175f
Update source parameters only when they need changing
2009-11-25 16:21:47 -08:00
Chris Robinson
877f4340ba
Base air absorption on distance attenuation, try 2
2009-11-24 21:19:11 -08:00
Chris Robinson
35a9ccb41f
Revert "Base air absorption on the distance attenuation"
...
This reverts commit c7c2f9385f7bfde9962eb7743770679cca07181e.
Fundamentally wrong. The -6dB rolloff is every doubling of the distance, and
the (scaled) -0.05dB rolloff is supposed to be every additional unit.
2009-11-24 01:39:34 -08:00
Chris Robinson
c7c2f9385f
Base air absorption on the distance attenuation
2009-11-23 16:25:37 -08:00
Chris Robinson
d1f3dbb9a1
Make modulation index 0 map to offset 0
2009-11-23 04:14:12 -08:00
Chris Robinson
cfb30fe975
Use a 4x4 matrix to transform coordinates
2009-11-23 04:13:51 -08:00
Chris Robinson
2d1b378ef2
Transform all relevant vectors for converting world-space to listener-space
2009-11-22 22:36:20 -08:00
Chris Robinson
c5ee010640
The echo should not take energy-attenuated input
2009-11-22 15:37:32 -08:00
Chris Robinson
1b18b4a0ee
Allow unlisted backends to stay available when the drivers list ends with ,
2009-11-22 01:06:05 -08:00
Chris Robinson
6a667b36d1
Reorganize and improve the reverb effect
...
Code supplied by Christopher Fitzgerald. This update also implements the echo
and modulation parameters.
2009-11-19 14:05:04 -08:00
Chris Robinson
fe37f1968d
Better approximate the wet attenuation model for reverb
2009-11-19 11:06:41 -08:00
Chris Robinson
4565bdd7ce
Make sure there's at least a one-sample delay for the echo's first tap
2009-11-19 10:42:41 -08:00
Chris Robinson
5f3c07ca3b
Apply the reverb room rolloff factor for EAX reverb too
2009-11-19 10:29:10 -08:00
Chris Robinson
8d1da6a8ca
Move NextPowerOf2 to alMain.h
2009-11-19 09:50:15 -08:00
Chris Robinson
ff8e09495d
Move aluCart2LUTpos to alu.h
2009-11-19 09:24:35 -08:00
Chris Robinson
e868eef679
Make sure to set the new echo sample buffer and remove an unused macro
2009-11-18 17:34:08 -08:00
Chris Robinson
fb258a7416
Properly lock the device when setting it disconnected
2009-11-01 09:29:20 -08:00
Chris Robinson
5aed927887
Watch for stream and context failures from pulse, and report disconnects
2009-10-31 20:05:15 -07:00
Chris Robinson
d964bb9f2f
Fix length calculation for pulse
2009-10-31 19:30:12 -07:00
Chris Robinson
87dc7a5b97
Set a proper channel map for PulseAudio
2009-10-31 19:29:41 -07:00
Chris Robinson
ae63ca481d
Mix all updates PulseAudio requests
2009-10-31 17:59:30 -07:00
Chris Robinson
8e599103b6
Watch for buffer attribute changes from PulseAudio
2009-10-31 17:57:35 -07:00
Chris Robinson
af0140e260
Use signals to watch for state changes
...
This partially reverts commit 617b6728d3bf4f3922f87702260d848b9ae88340
2009-10-31 17:52:26 -07:00
Chris Robinson
9d43907710
Properly free the device name
2009-10-31 13:25:26 -07:00
Chris Robinson
a3fcd67a82
Remove some unneeded buffer fields, make padding a constant amount
2009-10-25 08:31:28 -07:00
Chris Robinson
fe3a43e2d4
Remove the format and frequency from the source, get them manually
2009-10-25 06:26:19 -07:00