Chris Robinson
729f213c09
Fix scaling for effect sends of B-Format sources
2016-01-30 07:10:36 -08:00
Chris Robinson
7111322526
Make the modulator effect multichannel
2016-01-29 23:44:43 -08:00
Chris Robinson
a046a951e9
Use separate modulator functions only for the waveform
2016-01-29 23:28:38 -08:00
Chris Robinson
3ac786c6af
Convert the equalizer effect to multichannel
2016-01-29 07:26:19 -08:00
Chris Robinson
210b4c1fcd
Make the compressor effect multichannel
2016-01-28 02:49:40 -08:00
Chris Robinson
c1f87414c5
Mix to multichannel for effects
...
This mixes to a 4-channel first-order ambisonics buffer. With ACN ordering and
N3D scaling, this makes it easy to remain compatible with effects that only
care about mono input since channel 0 is an unattenuated mono signal.
2016-01-28 00:02:46 -08:00
Chris Robinson
2fa3ae85c9
Pass a pointer to the input samples array for effect processing
2016-01-27 08:16:47 -08:00
Chris Robinson
fd387beda1
Avoid passing the device to SetChannelMap
2016-01-27 04:44:21 -08:00
Chris Robinson
f547ef6d39
Separate calculating ambisonic coefficients from the panning gains
2016-01-25 06:11:51 -08:00
Chris Robinson
79e0f3e747
Don't write one byte at a time for the wave writer on big endian
2016-01-25 01:49:28 -08:00
Chris Robinson
7de8db2960
Replace multiple fputc calls with one fwrite
2016-01-23 21:47:43 -08:00
Chris Robinson
94816d0073
Reorder filterstate properties
2016-01-23 03:38:15 -08:00
Chris Robinson
8f26ad4ba2
Avoid using scandir/alphasort
...
They require POSIX 2008, which is a bit too "new" for my current liking. We can
do well enough with opendir/readdir/closedir and qsort.
2016-01-21 04:42:22 -08:00
Chris Robinson
9c05a16c9a
Fix for systems that don't have strnlen
2016-01-21 02:09:32 -08:00
Chris Robinson
bbd2876afb
Improve the OSS enumeration code
2016-01-21 01:05:29 -08:00
Chris Robinson
3dc5f0bf76
Merge branch 'master' of github.com:/kcat/openal-soft
2015-12-19 14:26:00 -08:00
Keegan Drake H.P
5a73aa2502
Added a check for an empty path
2015-12-17 20:05:21 -06:00
Keegan Drake H.P
df2ee7ba87
Add device enumeration support for OSSv4
2015-12-17 19:20:08 -06:00
Chris Robinson
bce20d1f6b
Don't overwrite the output with the dedicated effect
2015-12-12 13:53:17 -08:00
Chris Robinson
01e43e5d4d
Add includes to work around broken GNU headers and POSIX-2001
2015-12-11 09:24:40 -08:00
Chris Robinson
26f8676b9b
Fix slashes on the local path on Windows
2015-12-08 19:43:00 -08:00
Chris Robinson
f8a4ef6f51
Use the ALSOFT_LOCAL_PATH env var instead of the CWD
2015-12-08 19:17:59 -08:00
Chris Robinson
455d5f48c0
Use %s.mhr for the default hrtf table list
2015-12-05 17:49:05 -08:00
Chris Robinson
21998924d8
Support %s as a string matching marker
2015-12-05 17:45:56 -08:00
Chris Robinson
e45ff47361
Reformat Windows device name dressing
2015-12-04 15:52:43 -08:00
Chris Robinson
63567526b0
Better handle inexact ALSA period counts
2015-11-23 16:50:31 -08:00
Chris Robinson
c8a3e51296
Fix the allow-resampler check for ALSA
2015-11-23 16:29:32 -08:00
Alex Szpakowski
21c84bcd96
Replace deprecated Carbon API calls with modern AudioComponent APIs in the CoreAudio backend.
...
This prevents a deprecation notice from being output to stdout when alcOpenDevice is called in Mac OS X 10.11.
The new API calls require Mac OS X 10.6 or newer.
2015-11-13 20:11:12 -04:00
Chris Robinson
5d039309b3
Use doubles for the constructed listener matrix
...
This helps the stability of transforms to local space for sources that are at
or near the listener. With a single-precision matrix, even FLT_EPSILON might
not be enough to detect matching positions.
2015-11-11 08:19:33 -08:00
Chris Robinson
ff62d22d31
Move the bsincTable to a separate file
2015-11-10 18:48:30 -08:00
Chris Robinson
ffcdcbd5fa
Update the bsinc table
...
Precision is increased to cover the full 32-bit float range.
2015-11-10 18:40:33 -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
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
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
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
0644ebbaa2
Use modff to split the modulation delay components
2015-10-31 01:35:01 -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