Chris Robinson
44795b8614
Assign the HRTF storage pointers separately
2018-01-15 08:38:25 -08:00
Chris Robinson
5acb2e5165
Remove alffplay's duplicate ALC_SOFT_device_clock declarations
2018-01-15 07:14:35 -08:00
Chris Robinson
682205a3d4
Finalize ALC_SOFT_device_clock
2018-01-15 06:45:53 -08:00
Chris Robinson
7441311e3d
Use separate input and outputs for the T60 and allpass processing
2018-01-15 05:37:00 -08:00
Chris Robinson
6f48dac4cc
Use a proper type for the T60 decay filter
2018-01-15 05:23:35 -08:00
Chris Robinson
bc078e5158
Separate some anonymous structs into defined structs
2018-01-14 15:42:25 -08:00
Chris Robinson
63416bf28f
Avoid unnecessarily using type aliases
2018-01-14 09:02:59 -08:00
Chris Robinson
0152bc0d10
Remove the SAFE_CONST macro
...
Seems compilers are now allowing a pointer-to-type-array to implicitly convert
to pointer-to-const-type-array.
2018-01-14 08:51:03 -08:00
Chris Robinson
7e491ef2b2
Remove a redundant lower value clamp
2018-01-14 08:25:36 -08:00
Chris Robinson
6f532fa0e5
Don't check the modulation depth for changes multiple times
2018-01-14 07:33:53 -08:00
Chris Robinson
25b3ed3532
Use separate arrays for the T60 filter states
2018-01-14 07:29:18 -08:00
Chris Robinson
7a77a20a67
Use a macro for the number of reverb lines
2018-01-14 07:25:02 -08:00
Chris Robinson
2957d85924
Only pass the needed parameters to LateT60Filter
2018-01-14 05:24:23 -08:00
Chris Robinson
2b968766b9
Pre-apply the T60 filter midgain to the HF filter coeffs
2018-01-13 09:58:47 -08:00
Chris Robinson
78cb70a5f9
Replace some freq_mult variable names with f0norm
...
The latter is a bit more descriptive as f0 is often used to denote the
reference frequency of a filter, so f0norm indicates the normalized reference
frequency (ref_freq / sample_rate).
2018-01-13 09:14:46 -08:00
Chris Robinson
16e4e0fa7c
Use a more normal vtable setup for filter methods
2018-01-13 08:07:03 -08:00
Chris Robinson
c031b3cc6a
Avoid fixed-PATH_MAX-size buffers
...
Windows still needs to use MAX_PATH in a couple places, but that macro's
guaranteed there.
2018-01-13 04:40:20 -08:00
Chris Robinson
bbc4ebecab
Use GetProcBinary to get the executable name for PulseAudio
2018-01-13 03:41:56 -08:00
Chris Robinson
71ad3b1715
Use KERN_PROCARGS to get the process path+filename on FreeBSD
2018-01-13 03:38:10 -08:00
Chris Robinson
af8bbefcab
Support procfs on *BSD to get the process binary
2018-01-13 03:22:41 -08:00
Chris Robinson
26043269e4
Allow GetProcPath to return the filename also
2018-01-13 02:59:21 -08:00
Chris Robinson
c9edf7cf78
Add a string function to copy a wide-char range
2018-01-13 02:03:13 -08:00
Chris Robinson
77910afe57
Make NumAttrsForDevice do similar type checks as alcGetIntegerv
2018-01-12 11:34:23 -08:00
Chris Robinson
4db1328bc5
Move the FORCE_ALIGN macro to threads.h
2018-01-12 03:55:33 -08:00
Chris Robinson
e634564b26
Make a couple functions inline
2018-01-12 02:37:48 -08:00
Chris Robinson
dae5faedb0
Use atomic variables in place of volatile
2018-01-11 23:28:15 -08:00
Chris Robinson
1f236d8f20
Define a function where it's used
2018-01-11 22:42:25 -08:00
Chris Robinson
370817ba60
Move logging declarations to a separate header
2018-01-11 20:17:02 -08:00
Chris Robinson
2873abcbc0
Fix up some types for MSVC
2018-01-11 10:55:35 -08:00
Chris Robinson
e89c183231
Avoid including alMain.h in ringbuffer.c
2018-01-11 10:03:26 -08:00
Chris Robinson
ca9e6a4f94
Ensure NextPowerOf2 is being used correctly
2018-01-11 09:53:52 -08:00
Chris Robinson
b11131ce0c
Move a forward declaration to the others
2018-01-11 09:43:45 -08:00
Chris Robinson
2d2ca1d791
Remove SET_VTABLE1
2018-01-11 09:39:52 -08:00
Chris Robinson
85a8f965e5
Clean up the EffectList members and make the list size known
2018-01-11 09:34:01 -08:00
Chris Robinson
88545ccae5
Move the EffectList array to alEffect.c/h
2018-01-11 09:25:17 -08:00
Chris Robinson
3832b25f30
Move the ringbuffer declarations to a separate header
...
And rename alcRing.c to ringbuffer.c for consistency.
2018-01-11 09:16:28 -08:00
Chris Robinson
15ad5245bf
Move the FPU mode declarations to a separate header
...
Also don't use inheritance with FPUCtl.
2018-01-11 08:44:52 -08:00
Chris Robinson
8aa9e35f8c
Move the config function declarations to their own header
...
And rename alcConfig.c to alconfig.c for consistency.
2018-01-11 07:56:54 -08:00
Chris Robinson
81b13f78ea
Move the CPU capability flags to a separate header
2018-01-11 07:19:19 -08:00
Chris Robinson
9b9ec2c21a
Move the compressor/limiter declarations to their own header
2018-01-11 06:50:53 -08:00
Chris Robinson
f3c9bc114c
Move the polymorphic/inheritance macros to a separate header
2018-01-11 06:32:45 -08:00
Chris Robinson
ff231b42ff
Reorder some loops in the equalizer and use MixSamples
2018-01-11 05:03:00 -08:00
Chris Robinson
9c33f4aea8
Use MixSamples for the dedicated and ring modulator effect output
2018-01-11 04:48:18 -08:00
Chris Robinson
f55583330b
Apply the distortion gain to the mixing gains
2018-01-11 04:34:51 -08:00
Chris Robinson
2c8e4467c3
Move some HRTF structures to hrtf.h
2018-01-11 03:53:25 -08:00
Chris Robinson
15f9d15ba0
Avoid using macros to access anonymous structures
2018-01-11 03:45:23 -08:00
Chris Robinson
279799ad70
Don't return whether the bsinc filter cuts or not
2018-01-10 19:20:58 -08:00
Chris Robinson
ea6b384980
Make a function pointer static
2018-01-10 19:13:41 -08:00
Chris Robinson
ef63ec3fe9
Use one macro to handle both resample padding sizes
2018-01-09 23:55:59 -08:00
Chris Robinson
de8c5b1824
Combine the chorus and flanger processing functions
...
Given that they're nearly identical, it should be relatively simple to use the
same effect state to process either of them, similar to the reverbs. The big
differences seem to be the delay range (much shorter with flanger) and the
defaults.
2018-01-09 23:21:16 -08:00