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
Chris Robinson
eefc18170d
Fix a comment
2008-11-20 10:09:37 -08:00
Chris Robinson
5f84c5339d
Fix early reflection input
2008-11-19 09:14:40 -08:00
Chris Robinson
2d461379ef
Handle ALSA capture errors a bit better
2008-11-19 09:01:03 -08:00
Chris Robinson
c8123756ff
Simplify in-sample low-pass filter coefficient calculation
2008-11-18 06:35:00 -08:00
Chris Robinson
76c7789ee7
Fix low-pass coefficient calculation
2008-11-18 04:31:24 -08:00
Chris Robinson
13a2e6ef1f
Don't calculate reverb HF limit if air absorption is 1
2008-11-18 03:26:02 -08:00
Chris Robinson
1f86c48d95
Remove outdated comments and add copyright header
2008-11-17 09:32:25 -08:00
Chris Robinson
181eb95b13
Use a better dB-to-linear gain convertion
2008-11-16 00:57:35 -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
670d70d3c9
Allow specifying another config file with the ALSOFT_CONF env var
2008-11-13 07:58:39 -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
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
9ba30c4e20
Fix Win32 thread handle leak
2008-11-05 19:42:56 -08:00
Chris Robinson
2c80a80704
Fix typo preventing capture from opening
2008-10-27 23:37:56 -07:00
Chris Robinson
8fc4a3b724
Make sure an appropriate error is set when opening a device fails
2008-10-24 19:58:49 -07:00
Chris Robinson
cb6f040005
Use plughw for capture so ALSA can convert capture data
2008-10-14 09:50:37 -07:00
Chris Robinson
b91c2e4a99
Include float.h if it exists, for _RC_CHOP and _MCW_RC
2008-10-14 09:47:32 -07:00
Chris Robinson
59a71b1454
Remove another unused source member
2008-10-10 01:31:31 -07:00
Chris Robinson
36f133a5ae
Use a modulo to keep the buffer position in range for looping sources
...
A high pitch and low buffer size can cause a lot of unnecessary iterations
otherwise, that just decrement the position
2008-10-10 01:13:32 -07:00
Chris Robinson
74a58c0d09
Clamp source position to the buffer size when it stops
2008-10-09 23:54:31 -07:00
Chris Robinson
bfa1107781
Remove unneeded source member variable
2008-10-09 23:44:48 -07:00
Chris Robinson
6e9e8239ef
Only send one channel through the wet path
2008-10-09 04:02:34 -07:00
Chris Robinson
af9932d28b
Increase max pitch to 65536
...
This should be safe now
2008-10-09 02:50:00 -07:00
Chris Robinson
87ff8a65e9
Simplify the lerp function
2008-10-09 02:32:47 -07:00
Chris Robinson
7b6f207790
Don't apply the wet path for multi-channel buffers
2008-10-09 02:28:52 -07:00
Chris Robinson
8672008e43
Skip mixing if the read position is beyond the end of the buffer
2008-10-09 01:17:39 -07:00
Chris Robinson
c8cd193346
The wet path should be silent if no effect is set on the slot
2008-10-09 01:07:02 -07:00
Chris Robinson
be292e5f0b
Don't hold the whole-number position in the fractional value
...
This will help prevent overflows when the max pitch is increased
2008-10-02 23:53:46 -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
a2568409fc
Implement non-mmap ALSA capture
2008-09-29 17:24:50 -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
4a530e2146
Fixup some source parameter calculations
2008-09-16 07:36:48 -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
26e8ea60a5
Store pi as a static const
2008-09-13 00:44:48 -07:00
Chris Robinson
16d96eed7b
Add a Solaris playback backend
2008-09-07 14:34:14 -07:00
Chris Robinson
fa76168683
Clear the end of the buffer when at the end of the queue and not looping
2008-09-06 14:08:53 -07:00
Chris Robinson
db541f3cfa
Remove unneeded source struct member
2008-08-15 17:43:07 -07:00
Chris Robinson
ac8c082b89
Overwrite the input wet sample with the output
2008-08-14 20:44:55 -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
ef59901e7c
Set FPU mode to round toward zero for mixing
2008-08-08 07:32:21 -07:00
Chris Robinson
cfe620ccb5
Remove unnecessary casting
2008-08-08 00:21:25 -07:00
Chris Robinson
453b015225
Prevent a 0 or negative increment for the buffer position
...
Thanks to Christopher Fitzgerald for pointing these last two problems out
2008-08-05 20:51:30 -07:00