2672 Commits

Author SHA1 Message Date
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