6694 Commits

Author SHA1 Message Date
Chris Robinson
c093728ced Move the polyphase resampler to the common lib 2019-11-28 10:54:47 -08:00
Chris Robinson
576adf06b1 Store HRIR coefficients using HrirArray 2019-11-28 09:46:16 -08:00
Chris Robinson
925e6e979c Rework HRTF enuemration so the loaded HRTFs are separate 2019-11-28 08:24:29 -08:00
Chris Robinson
1e93fba6d0 Rename HrtfEntry to HrtfStore 2019-11-28 06:10:36 -08:00
Chris Robinson
c0cf323e1d Release 1.20.0 2019-11-28 00:45:08 -08:00
Chris Robinson
39e3484dbe Update ChangeLog 2019-11-22 22:47:36 -08:00
Chris Robinson
eb8922596a Apply the full HRIR length for the B-Format decoder 2019-11-21 23:55:10 -08:00
Chris Robinson
2fd8c619b3 Rename a couple struct fields 2019-11-21 02:58:35 -08:00
Chris Robinson
7bc4a27900 Allocate storage for full HRTF coefficient lengths 2019-11-21 02:43:34 -08:00
Chris Robinson
f2eab3e919 Properly get the AppData path on Windows in alsoft-config 2019-11-20 14:22:04 -08:00
Chris Robinson
6159b837cf Add a first-order ambisonic decoder for HRTF 2019-11-18 00:32:01 -08:00
Chris Robinson
c86a28af5c Simplify some pi statements 2019-11-16 14:33:09 -08:00
Chris Robinson
6ad252efda Use wrappers to distinguish elevation and azimuth values 2019-11-16 14:07:31 -08:00
Chris Robinson
d120e1464f Improve precision of the HRTF ambisonic decoder matrix 2019-11-13 08:39:27 -08:00
Chris Robinson
0ad512dd51 Clear the whole response HRIR before blending 2019-11-10 21:56:19 -08:00
Chris Robinson
74cbba511d Limit HRTF ambisonic decoding to second-order
The generated third-order matrix has incorrect first-order coefficients,
indicating a wonky decoder. The generated second-order matrix looks more
stable.
2019-11-09 13:04:44 -08:00
kcat
89938b95cf
Merge pull request #356 from Raulshc/modulator_fix
EFX: Modulator fix
2019-11-09 06:58:29 -08:00
Raulshc
c5f88ab59f EFX: Add explicit cast to a square function
MSVC 2015 and above returns the expression according to its datatype.
In this case, returns 4294967295 instead of -1.
2019-11-09 12:12:53 +01:00
Chris Robinson
d2608e4bde Avoid holding HRTF accumulation samples per-source
It notably simplifies things to mix HRTF sources into an accumulation buffer
together, which the Dry buffer's Ambisonic-to-HRTF decode is then added to,
before being mixed to the Real output.
2019-11-03 00:30:33 -07:00
Chris Robinson
2741a94e58 Use rotate to reorder the default list entry 2019-10-28 23:47:30 -07:00
Chris Robinson
d37a294d4c Add a config option for custom ALSA capture devices 2019-10-27 19:20:26 -07:00
Chris Robinson
205ff0080e Adjust padding in alsoft-config and remove an invalid signal 2019-10-27 18:02:25 -07:00
Chris Robinson
101afb1ee4 Convert HRTF field distances to meters when creating storage 2019-10-27 15:50:59 -07:00
Chris Robinson
697da8724f Avoid an extraneous macro and use a simplified type alias 2019-10-27 00:47:33 -07:00
Chris Robinson
cac4072781 Change a few more really small gain values to 0 2019-10-26 19:57:17 -07:00
Chris Robinson
0cba99ed1b Avoid static constexpr for arrays iterated over at run-time 2019-10-25 01:43:23 -07:00
Chris Robinson
5ac1f19241 Don't dereference the end iterator 2019-10-24 21:58:35 -07:00
Chris Robinson
48347f62b5 Don't trace twice for a new HRTF data file 2019-10-24 15:28:28 -07:00
Chris Robinson
f0977e5cc9 Print the found file entries after sorting 2019-10-24 15:10:37 -07:00
Chris Robinson
7bed2fe7cc Report the real ambisonic order set for HRTF rendering 2019-10-24 14:33:43 -07:00
Chris Robinson
f40e69f9e3 Use a 26-point Lebedev grid for the HRTF ambisonic decode 2019-10-23 23:36:02 -07:00
Chris Robinson
0dfdebdf6d Limit the number of azimuths and elevations used in SOFA files 2019-10-22 16:30:07 -07:00
Chris Robinson
4733fc6f1e Fix azimuth limit 2019-10-22 15:23:17 -07:00
Chris Robinson
a8a3acb6f6 More consistently use doubles in makemhr and loadsofa 2019-10-22 15:22:37 -07:00
Chris Robinson
fcde56e1fc Increase the max elevation and azimuth count for HRTFs 2019-10-21 11:30:39 -07:00
Chris Robinson
f58167e72d More sanely handle the voice state when mixing 2019-10-14 20:45:23 -07:00
Chris Robinson
33fd1f9efd Use better types for some specific sizes 2019-10-13 09:37:07 -07:00
Chris Robinson
e70f98c95a Wrap the cycle amount when passing to sin() 2019-10-12 16:41:13 -07:00
Chris Robinson
630d4d573d Gracefully drain the OpenSL capture buffer on disconnect 2019-10-10 13:33:27 -07:00
Chris Robinson
d2053e6784 Use one PulseAudio mainloop per device
To help avoid devices blocking on each other when handling asynchronous
messages.
2019-10-09 23:25:56 -07:00
Chris Robinson
8bf3da0cd2 Remove a useless prebuf check with PulseAudio 2019-10-09 09:45:02 -07:00
Chris Robinson
57cdac3368 Create the initial PulseAudio stream corked 2019-10-09 09:42:35 -07:00
Chris Robinson
404f3e2d08 Don't track the PulseAudio context state in devices 2019-10-09 05:01:30 -07:00
Chris Robinson
b687e952ef Make C callbacks noexcept
No telling what would happen if exceptions managed to get back into presumably
C-based callers.
2019-10-09 03:29:25 -07:00
Chris Robinson
a7c1245360 Use smart pointers for ALSA param handles
And simplify some related error handling
2019-10-09 02:16:08 -07:00
Chris Robinson
2842df5a02 Catch exceptions from backend start calls 2019-10-09 00:11:19 -07:00
Chris Robinson
963580c2d5 Never return null from CreateRingBuffer
Allocation failure would already throw a bad_alloc anyway, now a size overflow
throws an exception too.
2019-10-08 21:55:03 -07:00
Chris Robinson
7726a06d26 Clean up some exception messages and avoid duplicate log messages 2019-10-08 05:44:38 -07:00
Chris Robinson
360330b2ad Define some simple wrapper methods inline 2019-10-08 03:41:49 -07:00
Chris Robinson
f4bc3d7ab2 Improve logging for Windows 2019-10-08 00:21:21 -07:00