aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Move some inline functions from alMain.h to alnumeric.hChris Robinson2019-03-182-239/+235
|
* Use SSE intrinsics in a few more placesChris Robinson2019-03-182-8/+22
|
* Don't bother trying _controlfp or __control87_2Chris Robinson2019-03-184-36/+0
|
* Use SSE intrinsics to set FTZ and DAZChris Robinson2019-03-182-3/+18
|
* Check compile-time support for SSE intrinsicsChris Robinson2019-03-182-8/+26
|
* Don't bother checking for SSE1 aloneChris Robinson2019-03-181-65/+32
| | | | | | 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.
* Don't bother checking for C99 inline semanticsChris Robinson2019-03-181-35/+0
| | | | Should be unneeded with C++
* Fix indexing for basic B-Format decodingChris Robinson2019-03-171-2/+3
|
* Always reset all voices on disconnectChris Robinson2019-03-161-28/+1
|
* Include std::placeholders once in an anonymouse namespaceChris Robinson2019-03-161-3/+2
|
* Simplify calculating azimuth and elevation indices for HRTFChris Robinson2019-03-142-18/+8
|
* Fix wrapping for the upper HRIR indexChris Robinson2019-03-141-13/+14
|
* Mirror a couple HRIR elevations from the top for the bottomChris Robinson2019-03-131-16/+92
| | | | | | | 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.
* Set the correct target gain after a fade-out HRTF mixChris Robinson2019-03-121-1/+1
|
* Check a value where its usedChris Robinson2019-03-121-3/+4
|
* Fix not looping when the source offset is beyond the loop endChris Robinson2019-03-111-1/+1
|
* Remove a couple redundant local variablesChris Robinson2019-03-111-17/+14
|
* Pass the voice state as a parameter instead of reloading itChris Robinson2019-03-113-9/+8
|
* Update comment for SynthesizeOnsetsChris Robinson2019-03-111-2/+2
|
* Process minimum phase reconstruction in parallelChris Robinson2019-03-111-34/+93
|
* Mirror the +90 degree elevation delays for -90 degreesChris Robinson2019-03-101-12/+19
|
* Rename ALvoice fields for consistencyChris Robinson2019-03-105-289/+285
|
* Improve handling of voice's AmbiScales for upsamplingChris Robinson2019-03-103-10/+25
|
* Use the correct value for MAX_AMBI2D_CHANNELSChris Robinson2019-03-101-1/+1
|
* Don't copy old coeffs in MixHrtfBlendBaseChris Robinson2019-03-101-2/+2
|
* Avoid an extra level of indentationChris Robinson2019-03-101-38/+50
|
* Don't directly use a buffer for updating source parametersChris Robinson2019-03-104-29/+20
|
* Avoid excessive transformations of the source positionChris Robinson2019-03-101-44/+60
|
* Add a method to apply an HF scale without band-splittingChris Robinson2019-03-104-25/+52
|
* Fix for MSVC decaying arrays to pointers with ?:Chris Robinson2019-03-091-5/+5
|
* Fade out voices that end normallyChris Robinson2019-03-091-140/+180
| | | | | | 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.
* Play dummy samples and force a fade out on stopping voicesChris Robinson2019-03-093-26/+45
|
* Add a Stopping state for voicesChris Robinson2019-03-095-39/+104
| | | | | | 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.
* Increment the active voice count ahead of playing the sourcesChris Robinson2019-03-091-7/+27
|
* Clear the voice's buffer when detaching from sourceChris Robinson2019-03-092-0/+10
|
* Exclude far-ear IRs for the synthesized -90 degree elevationChris Robinson2019-03-091-5/+35
|
* Avoid some explicit loopsChris Robinson2019-03-051-107/+118
|
* Normalize HRIRs using their maximum RMSChris Robinson2019-03-041-2/+23
|
* Pass a reference to function for a template parameterChris Robinson2019-03-031-3/+3
|
* Use more specific names for temp buffer storageChris Robinson2019-03-022-19/+13
|
* Use a proper flag to indicate audio is prepared in alffplayChris Robinson2019-03-011-14/+9
|
* Reverse the HRTF field arrayChris Robinson2019-02-273-15/+24
| | | | | | Most often a sound's distance will be beyond the farthest field measurement, so It's more efficient to have the farthest field first and avoid looping through the whole field array for them.
* Combine the reverb output mixes into a single callChris Robinson2019-02-251-28/+38
|
* Unlock the audio decoder mutex before disabling events in alffplayChris Robinson2019-02-251-2/+3
| | | | | The callback may be waiting on the mutex, but disabling the callback needs any current invocation to finish first.
* Make sure the reverb fading completesChris Robinson2019-02-251-1/+1
| | | | | The processing loop doesn't depend on being aligned anymore, so it won't get stuck when only less than 4 samples can be done in a non-final update.
* Convert the device frequency to float just onceChris Robinson2019-02-241-9/+7
|
* Make sure the voice's direct buffer is always setChris Robinson2019-02-241-7/+5
|
* Remove a duplicate index arrayChris Robinson2019-02-241-2/+2
|
* Reduce BUFFERSIZE to match the default period sizeChris Robinson2019-02-243-16/+18
| | | | | Also adds a bit more space to the temp source data buffer, to avoid needing to loop on matching sample rates.
* Rework reverb A/B-Format conversion mixingChris Robinson2019-02-241-99/+77
| | | | | This should help improve performance using the optimized mixers, and fewer passes on the transforms, though at the cost of more memory.