Chris Robinson
608e4e916e
Avoid recreating temporary buffers all the time
2019-03-26 17:01:45 -07:00
Chris Robinson
2960d729ef
Fix a return type for accumulation
2019-03-26 13:47:24 -07:00
Chris Robinson
8b0c9fcf30
Require IR dimensions from a SOFA file
2019-03-26 13:45:25 -07:00
Chris Robinson
2446ee0cca
Avoid some explicit loops
2019-03-26 12:37:52 -07:00
Chris Robinson
a5b442b1a4
Add a missing include for varargs
2019-03-26 11:37:28 -07:00
Chris Robinson
bcbe7c493c
Remove another unnecessary distance check
2019-03-26 11:04:52 -07:00
Chris Robinson
525b5e65b2
Remove a couple unnecessary duration_casts
2019-03-26 10:20:32 -07:00
Chris Robinson
2c37d4fae1
Move an enum to a more appropriate header
2019-03-26 10:08:26 -07:00
Chris Robinson
4c32e55ac2
Don't mention which rendering methods aren't used
2019-03-25 23:17:34 -07:00
Chris Robinson
a57116f788
Scale floats directly to 32-bit integer values
...
Rather than scaling to a 25-bit integer and shifting for the extra 7 bits. This
should improve precision for values closer to 0.
2019-03-25 22:52:15 -07:00
Chris Robinson
0a4d1c858e
Support loading SOFA files directly with makemhr
...
This extracts the definition info it can from the SOFA, and uses the same logic
as sofa-info to automatically detect an appropriate layout. There is a bit of
code duplication from loaddef.cpp and sofa-info.cpp, though there are slight
modifications.
2019-03-25 20:16:02 -07:00
Chris Robinson
cb02bb00be
Detect SOFA files for makemhr input
2019-03-25 13:01:44 -07:00
Chris Robinson
a3687db015
Use only a single function to load the HrirDataT
2019-03-25 00:21:45 -07:00
Chris Robinson
78aeca10c9
Add a command-line option to force mono input with makemhr
2019-03-24 22:43:43 -07:00
Chris Robinson
6edfa6e6e0
Cleanup some unnecessary parameters
2019-03-24 22:06:01 -07:00
Chris Robinson
f392d9c138
Move makemhr's .def loading code to a separate source
2019-03-24 19:00:58 -07:00
Chris Robinson
5e6e738681
Change references of makehrtf to makemhr
2019-03-24 17:35:32 -07:00
Chris Robinson
7c16b1e02f
Rename makehrtf to makemhr and move it to a subdirectory
2019-03-24 17:31:10 -07:00
Chris Robinson
c8e8ac42ab
Use false instead of 0 for a boolean
2019-03-24 14:02:06 -07:00
Chris Robinson
f7ab7b45f7
Mark the device and context deletes as unlikely
2019-03-24 13:54:49 -07:00
Chris Robinson
12d4953a5f
Remove a couple redundant distance checks
2019-03-23 13:55:07 -07:00
Chris Robinson
6df673e01c
Don't redundantly set the voice's direct output buffer
2019-03-23 13:30:15 -07:00
Chris Robinson
819ec8a653
Rename and move ALeffectProps
2019-03-22 22:48:12 -07:00
Chris Robinson
3a6e741e90
Use MixParams for the wet buffers
2019-03-22 19:25:55 -07:00
Chris Robinson
92adfaebce
Fix a comment typo
2019-03-22 18:37:47 -07:00
Chris Robinson
edc32b40a5
Slightly improve casting in the modulator effect
2019-03-22 17:47:19 -07:00
Chris Robinson
ea8b02dead
Pass ALeffectProps directly to the get/setParam* methods
2019-03-22 16:04:13 -07:00
Chris Robinson
e7e585f65c
Use the effect state factory to set the default effect props
2019-03-22 15:00:37 -07:00
Chris Robinson
f951f4a66b
Implement getDefaultProps for effect state factories
2019-03-22 12:58:24 -07:00
Chris Robinson
935f386982
Use a separate EffectStateFactory for standard reverb
2019-03-22 11:57:32 -07:00
Chris Robinson
9790135127
Add a new EffectStateFactory method to get the default properties
2019-03-22 11:52:55 -07:00
Chris Robinson
8a1b1f4204
Make sure the file is rewound before writing the wave header
2019-03-19 22:10:49 -07:00
Chris Robinson
7880540407
Use a sorted vector for looking up contexts
...
Note that the device still holds and uses a linked list of its contexts. The
sorted vector is used to verify handles given by callers.
2019-03-19 18:53:32 -07:00
Chris Robinson
90465e9124
Use a sorted vector for devices instead of a linked list
2019-03-19 15:56:30 -07:00
Chris Robinson
cf6545ebb2
Avoid AL types in the common alnumeric.h header
2019-03-19 14:34:44 -07:00
Chris Robinson
813976e58d
Add some enum casts for the WASAPI backend
2019-03-19 01:33:36 -07:00
Chris Robinson
9695952c8d
Rename DevProbe enum names
2019-03-19 00:24:54 -07:00
Chris Robinson
d31514f8be
Move some inline functions from alMain.h to alnumeric.h
2019-03-18 22:06:01 -07:00
Chris Robinson
3e816de4fb
Use SSE intrinsics in a few more places
2019-03-18 20:58:48 -07:00
Chris Robinson
73a43fb19c
Don't bother trying _controlfp or __control87_2
2019-03-18 20:27:25 -07:00
Chris Robinson
2de1d17bc6
Use SSE intrinsics to set FTZ and DAZ
2019-03-18 20:14:40 -07:00
Chris Robinson
6a0b2ed0ca
Check compile-time support for SSE intrinsics
2019-03-18 20:05:15 -07:00
Chris Robinson
821c7565cf
Don't bother checking for SSE1 alone
...
SSE2 support is now the minimum required for SSE. Run-time can still disable
SSE2-specific functions separately from SSE1, but build-time support can't be
separated.
2019-03-18 17:38:02 -07:00
Chris Robinson
e61cec8f17
Don't bother checking for C99 inline semantics
...
Should be unneeded with C++
2019-03-18 14:31:12 -07:00
Chris Robinson
d802a5785e
Fix indexing for basic B-Format decoding
2019-03-17 14:03:21 -07:00
Chris Robinson
f96c37120b
Always reset all voices on disconnect
2019-03-16 17:01:04 -07:00
Chris Robinson
339a37b034
Include std::placeholders once in an anonymouse namespace
2019-03-16 15:15:59 -07:00
Chris Robinson
12999f9efe
Simplify calculating azimuth and elevation indices for HRTF
2019-03-14 22:26:19 -07:00
Chris Robinson
9f5a7a7a50
Fix wrapping for the upper HRIR index
2019-03-14 13:17:07 -07:00
Chris Robinson
3a19b94503
Mirror a couple HRIR elevations from the top for the bottom
...
Because the ears are offset from center, linear interpolation from the lowest
defined elevation to the -90 degree bottom misses this slight deviation.
Mirroring one or two more elevations from the top helps catch it, and bilinear
interpolation is used to transition back to the lowest known measurements.
2019-03-13 12:27:44 -07:00