aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add the ability to start a voice at a particular timeChris Robinson2022-11-034-9/+49
|
* int64_t max can't fit into a double without narrowingChris Robinson2022-11-021-6/+0
|
* Handle negative voice positionsChris Robinson2022-11-023-64/+116
| | | | | | This allows a voice/source to start with a delay, more accurately than simply waiting to call alSourcePlay. The delay is affected by pitch and velocity, making it useful to simulate distant sounds that take time to be heard.
* Use the IIR filter for UHJ by defaultChris Robinson2022-10-302-3/+3
| | | | | | | Now that it doesn't cause the distortion like before, the IIR implementation provides a very wide pass-band with the lowest CPU requirements. If maintaining the original phase is important, fir256 and fir512 are still available, given whether lower CPU use or a wider pass-band is more important.
* Rename some variables to more clearly indicate their meaningChris Robinson2022-10-285-40/+40
|
* Rework the UHJ IIR filters to avoid applying an IIR in reverseChris Robinson2022-10-273-155/+130
|
* Switch back to the FIR256 filter by defaultChris Robinson2022-10-262-5/+5
| | | | | | There is a surprisingly noticeable amount of static caused by the IIR filter in particular circumstances. The 256-point filter is only slightly slower, but the frequency response should be good enough to use as a default for now.
* Use the correct input for the IIR UHJ encoderChris Robinson2022-10-262-9/+31
| | | | Also better detail the IIR implementation.
* Use the IIR all-pass filter by defaultChris Robinson2022-10-262-6/+7
|
* Fix up a commentChris Robinson2022-10-261-2/+2
|
* Add a comment about the filter delayChris Robinson2022-10-251-0/+3
|
* Fix some value orderingChris Robinson2022-10-251-2/+2
|
* Avoid nesting lambdasChris Robinson2022-10-241-42/+27
|
* Update upload-artifact to remove warning (#778)3DJ2022-10-231-1/+1
| | | | | | | > Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: actions/upload-artifact This should fix 2 of the 3 warnings here: https://github.com/kcat/openal-soft/actions/runs/3303596206 by updating to this https://github.com/actions/upload-artifact/releases/tag/v3.1.1 The third warning is more of a heads up of the macOS runner being updated so it should go away eventually
* Add missing headerChris Robinson2022-10-221-0/+1
|
* Avoid a duplicate all-pass function that accumulatesChris Robinson2022-10-224-225/+143
|
* Add a warning when using the old UHJ filter optionChris Robinson2022-10-211-2/+8
|
* Rename some variables to be less ambiguousChris Robinson2022-10-214-22/+22
|
* Rename a couple functions to clarify their useChris Robinson2022-10-211-13/+13
|
* Add separate filter options for UHJ encoding and decodingChris Robinson2022-10-216-18/+49
|
* Add an IIR filter option for UHJ encoding/decodingChris Robinson2022-10-215-33/+389
| | | | | | This uses the reversed-allpass trick to maintain linear phase. with a 256- sample look-ahead/delay to minimize distortion. This should better preserve low frequencies while maintaining a proper phase response.
* Avoid using a modulo in a loopChris Robinson2022-10-181-10/+42
|
* Increase sub-sample precision to 16 bitsChris Robinson2022-10-161-1/+1
|
* Don't pass null to fprintfChris Robinson2022-10-101-2/+2
|
* Handle the delays specified in SOFA filesChris Robinson2022-10-101-44/+55
|
* Fix an ambisonic layout check in alffplayChris Robinson2022-09-241-1/+1
|
* Move some comments to a more appropriate placeChris Robinson2022-09-231-32/+32
|
* Avoid another potential overflowChris Robinson2022-09-231-1/+1
|
* Fixed bug and possible overflow type (#771)Herman Semenov2022-09-232-2/+2
|
* Remove unnecessary includes and forward declarationsChris Robinson2022-09-231-7/+0
|
* Remove an unnecessary includeChris Robinson2022-09-221-1/+0
|
* Use PulseAudio's threaded mainloop instead of a custom oneChris Robinson2022-09-221-141/+160
|
* Remove an unused variableChris Robinson2022-09-201-10/+9
|
* Clear the buffer loop element when out of the loop rangeChris Robinson2022-09-181-2/+3
|
* Correctly check if a multi-channel decoder is setChris Robinson2022-09-161-1/+1
|
* Update the built-in quad and 7.1 decodersChris Robinson2022-09-161-26/+26
| | | | | Make them first- and second-order respectively. They don't have enough speakers to really be suitable for higher orders than that.
* Clear trailing whitespace from the loaded ambdec descriptionChris Robinson2022-09-151-0/+2
|
* Use the correct va_list for the second vsnprintfChris Robinson2022-09-141-1/+1
|
* Add vcpkg installation instructions (#768)JonLiu19932022-09-141-0/+13
|
* Use ifstream's wchar_t constructors on WindowsChris Robinson2022-09-123-173/+20
| | | | MinGW seems to have added them a while ago, so that greatly simplifies things.
* Don't pack ambdec coefficientsChris Robinson2022-09-122-68/+25
| | | | | | | | | Tne coefficients are placed as for full 3D ACN handling. The ChanMask just indicates which have potentially useful values. This could be a bit more agressive and clear ChanMask bits for channels that don't contribute to output, so that a decoder the specifies height-related channel bits, but leaves their coefficients all 0, can be handled as 2D. I don't expect many ambdec files to be like that, though.
* Simplify ambdec loadingChris Robinson2022-09-121-236/+156
|
* Ensure coeff_scale is set for ambdec filesChris Robinson2022-09-113-6/+13
|
* Reject ambdec files with higher than third order and FuMa scalingChris Robinson2022-09-111-13/+15
|
* Recognize void(pthread_t,const char*)Chris Robinson2022-09-091-1/+6
|
* tvos support (#762)Paulo Coutinho2022-09-041-1/+1
|
* Track if doing 2D mixing onlyChris Robinson2022-09-046-8/+20
| | | | And use it to select the proper HF scales
* Allow different HF scales for 2D mixing/outputChris Robinson2022-09-045-7/+27
| | | | | Not actually used yet, the device needs to track whether it's using 2D or 3D mixing.
* Use the difference in HF scale for upsampling ambisonicsChris Robinson2022-09-035-34/+32
|
* Update the second-order upsampler HF scaleChris Robinson2022-09-021-1/+1
|