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
Chris Robinson
3a39a2c790
Set the correct target gain after a fade-out HRTF mix
2019-03-12 16:45:34 -07:00
Chris Robinson
24ae12f58e
Check a value where its used
2019-03-12 09:56:02 -07:00
Chris Robinson
098c7ca6ea
Fix not looping when the source offset is beyond the loop end
2019-03-11 22:09:30 -07:00
Chris Robinson
24b43fe852
Remove a couple redundant local variables
2019-03-11 22:00:28 -07:00
Chris Robinson
30a7c6d86f
Pass the voice state as a parameter instead of reloading it
2019-03-11 20:00:14 -07:00
Chris Robinson
e0daad6a16
Update comment for SynthesizeOnsets
2019-03-11 14:28:13 -07:00
Chris Robinson
d2b4099024
Process minimum phase reconstruction in parallel
2019-03-11 13:41:26 -07:00
Chris Robinson
0689333da8
Mirror the +90 degree elevation delays for -90 degrees
2019-03-10 21:47:05 -07:00
Chris Robinson
2c67ab0d2c
Rename ALvoice fields for consistency
2019-03-10 16:29:06 -07:00
Chris Robinson
030b24a40d
Improve handling of voice's AmbiScales for upsampling
2019-03-10 15:46:46 -07:00
Chris Robinson
663a6ce4e7
Use the correct value for MAX_AMBI2D_CHANNELS
2019-03-10 15:39:31 -07:00
Chris Robinson
d99d2a400a
Don't copy old coeffs in MixHrtfBlendBase
2019-03-10 14:31:46 -07:00
Chris Robinson
80e55b87ed
Avoid an extra level of indentation
2019-03-10 12:50:38 -07:00
Chris Robinson
0d295cf811
Don't directly use a buffer for updating source parameters
2019-03-10 11:52:39 -07:00
Chris Robinson
e5651c15dd
Avoid excessive transformations of the source position
2019-03-10 11:33:08 -07:00
Chris Robinson
12721f94a7
Add a method to apply an HF scale without band-splitting
2019-03-10 10:30:33 -07:00
Chris Robinson
6a95189ef6
Fix for MSVC decaying arrays to pointers with ?:
2019-03-09 21:54:15 -08:00
Chris Robinson
106671d451
Fade out voices that end normally
...
Sometimes a sound may end with non-0 amplitude, particularly if a buffer queue
underruns. This helps avoid clicks and pops for sources that don't already end
in silence.
2019-03-09 21:32:14 -08:00
Chris Robinson
87479b4b32
Play dummy samples and force a fade out on stopping voices
2019-03-09 18:34:00 -08:00
Chris Robinson
ef0f335132
Add a Stopping state for voices
...
This currently doesn't do much, except have the mixer progress it to Stopped.
It's valid to have without a source or buffers, and in the future will allow
fading out when a source is paused or stopped.
2019-03-09 16:48:07 -08:00
Chris Robinson
cde4500e24
Increment the active voice count ahead of playing the sources
2019-03-09 15:04:51 -08:00
Chris Robinson
d39cfcc7bb
Clear the voice's buffer when detaching from source
2019-03-09 13:20:10 -08:00
Chris Robinson
972a5c0f1d
Exclude far-ear IRs for the synthesized -90 degree elevation
2019-03-09 13:00:08 -08:00
Chris Robinson
0e4402b2e1
Avoid some explicit loops
2019-03-05 06:21:09 -08:00
Chris Robinson
da9ec374d8
Normalize HRIRs using their maximum RMS
2019-03-04 08:00:04 -08:00