3796 Commits

Author SHA1 Message Date
Chris Robinson
de53ff4aff Build with -std=c11 if possible 2015-11-09 11:36:02 -08:00
Chris Robinson
ceee5c8ffb Remove some unused function checks 2015-11-08 00:19:55 -08:00
Chris Robinson
9891d61206 Add options to disable Pulse's and ALSA's resamplers 2015-11-07 23:05:45 -08:00
Chris Robinson
fe00b65d9a Correct a comment about the new bsinc resampler
It always performs anti-aliasing, even when up-sampling.
2015-11-07 06:16:54 -08:00
Chris Robinson
91258cc192 Simplify reverb panning rotations 2015-11-07 06:15:29 -08:00
Chris Robinson
ec7b21cd14 Remove a const to silence some warnings 2015-11-06 22:17:15 -08:00
Chris Robinson
de74498cd9 Use more accurate floating point literals 2015-11-06 10:27:28 -08:00
Chris Robinson
858230f452 Include float.h if present before defining math stuff 2015-11-06 02:38:34 -08:00
Chris Robinson
d6f4e5139f Add another cast for MSVC 2015-11-06 02:23:42 -08:00
Chris Robinson
368f2d6907 Use ALuint instead of size_t for a loop iterator 2015-11-06 02:21:24 -08:00
Chris Robinson
16a6e010fd Add a cast to silence an MSVC warning 2015-11-06 02:18:42 -08:00
Chris Robinson
3e992309a5 Use a more appropriate type in MatchFilter 2015-11-06 02:13:28 -08:00
Chris Robinson
b6682ede61 Cast a double->float return to silence MSVC 2015-11-06 02:05:22 -08:00
Chris Robinson
203c249bf7 Add missing math.h include for sin() 2015-11-06 00:13:02 -08:00
Chris Robinson
8c6d891694 Pan each early/late delay line separately 2015-11-05 23:46:39 -08:00
Chris Robinson
431c89ece9 Manually inline and condense the bsinc resampler 2015-11-05 21:57:12 -08:00
Chris Robinson
46e72a48ad Remove an unneeded memset that was overwriting memory 2015-11-05 19:45:04 -08:00
Chris Robinson
b9e192b78a Implement a band-limited sinc resampler
This is essentially a 12-point sinc resampler, unless it's resampling to a rate
higher than the output, at which point it will vary between 12 and 24 points
and do anti-aliasing to avoid/reduce frequencies going over nyquist.

Code provided by Christopher Fitzgerald.
2015-11-05 09:42:08 -08:00
Chris Robinson
dce3d0c7bf Change the Kaiser rippling limit to -60dB
This improves the transition cutoff, shortening its width and reducing the
amount of error.
2015-11-04 19:13:25 -08:00
Chris Robinson
bd0acf2843 Replace the Lanczos window with Kaiser for the sinc resampler 2015-11-04 06:40:54 -08:00
Chris Robinson
c57f571920 Pass in the Q parameter for setting the filter parameters
Also better handle the peaking filter gain.
2015-11-01 05:41:06 -08:00
Chris Robinson
f094d94608 Remove an unused struct field 2015-11-01 01:01:27 -07:00
Chris Robinson
3121c30396 Fix a comment 2015-11-01 00:13:02 -07:00
Chris Robinson
4a9dd6576f Add an impulse "waveform" to altonegen 2015-10-31 05:15:13 -07:00
Chris Robinson
0644ebbaa2 Use modff to split the modulation delay components 2015-10-31 01:35:01 -07:00
Chris Robinson
19c437de6d Add missing config.h entry for modff 2015-10-30 01:37:39 -07:00
Chris Robinson
0713b8c322 Check for modff 2015-10-29 16:38:58 -07:00
Chris Robinson
c3d58947c3 Mix reverb to output in the inner loop 2015-10-29 03:23:50 -07:00
Chris Robinson
79ad54f0c3 Include the echo's attenuation of the late reverb in the late reverb gain 2015-10-29 02:10:07 -07:00
Chris Robinson
62f1df77d7 Do up to 256 samples per reverb inner loop iteration 2015-10-29 01:40:23 -07:00
Chris Robinson
f4a53cf609 Add an HRTF example
Doubles as a psuedo-test to play a sound with HRTF.
2015-10-28 18:52:49 -07:00
Chris Robinson
bd73cdab0d Pass the appropriate BackendInfo explicitly to ProbeDevices 2015-10-28 18:10:12 -07:00
Chris Robinson
59c6fc966d Print enumerated HRTFs in openal-info 2015-10-28 14:47:58 -07:00
Chris Robinson
35c4aae3d6 Finalize ALC_SOFT_HRTF 2015-10-28 13:38:30 -07:00
Chris Robinson
b7a6a7da6a Right-align the HRTF Mode label 2015-10-28 03:15:01 -07:00
Chris Robinson
63259872d1 Remove the Reverb Bost option from alsoft-config
It's not really an appropriate setting for most users to play with. The option
still exists, but it's no longer editable in the GUI.
2015-10-28 03:09:15 -07:00
Chris Robinson
9ce2b8f9a7 Always update all reverb properties
The EAX-only effect properties will be set to compatible defaults when standard
reverb is set, and the EAX-only effects will be skipped during sample
processing.
2015-10-28 02:36:48 -07:00
Chris Robinson
8f8bf1f605 Do multiple samples at once in each reverb component 2015-10-28 01:57:51 -07:00
Chris Robinson
e472cfcc53 Rename ALC_NUM_HRTF_SPECIFIER_SOFT to ALC_NUM_HRTF_SPECIFIERS_SOFT 2015-10-26 22:34:02 -07:00
Chris Robinson
6b627caf52 Add a comment about fegetenv possibly saving the SSE register for us 2015-10-26 01:49:56 -07:00
Chris Robinson
45f11d7b64 Set the current gain immediately if the target is close enough 2015-10-26 01:48:12 -07:00
Chris Robinson
90349b384f Use the correct position in the SSE resamplers for left-over processing 2015-10-25 14:07:58 -07:00
Chris Robinson
fc03a955e9 Fix the SSE4.1 resamplers
Apparently the given _mm_extract_epi32 index obeys memory order, rather than
component order.
2015-10-24 17:37:53 -07:00
Chris Robinson
8d89c8be9e Remove a couple unused parameters 2015-10-24 16:57:32 -07:00
Chris Robinson
a57fe89050 Lock the source queue for writing when updating the playback offset 2015-10-24 16:31:28 -07:00
Chris Robinson
298fdb220d Fix usage of modf 2015-10-24 15:13:56 -07:00
Chris Robinson
2a62b38530 Update filter histories even when they're not used
If the filter properties are continually updated, and the HF or LF gain goes
from <1, to 1, and later back to <1, the history shouldn't hold stale values
from before it was at 1.
2015-10-24 00:47:58 -07:00
Chris Robinson
714354caee Set XYZ channel gains for source sends to 0
It's cleaner to just set the gains to 0 rather than to special-case B-Format in
the mixer.
2015-10-23 20:16:11 -07:00
Chris Robinson
bca854baac Use one send gain per buffer channel 2015-10-23 15:11:34 -07:00
Chris Robinson
4813125d31 Return the new vector result from aluMatrixVector 2015-10-22 23:39:56 -07:00