Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use the IIR all-pass filter by default | Chris Robinson | 2022-10-26 | 2 | -6/+7 |
| | |||||
* | Fix up a comment | Chris Robinson | 2022-10-26 | 1 | -2/+2 |
| | |||||
* | Add a comment about the filter delay | Chris Robinson | 2022-10-25 | 1 | -0/+3 |
| | |||||
* | Fix some value ordering | Chris Robinson | 2022-10-25 | 1 | -2/+2 |
| | |||||
* | Avoid nesting lambdas | Chris Robinson | 2022-10-24 | 1 | -42/+27 |
| | |||||
* | Update upload-artifact to remove warning (#778) | 3DJ | 2022-10-23 | 1 | -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 header | Chris Robinson | 2022-10-22 | 1 | -0/+1 |
| | |||||
* | Avoid a duplicate all-pass function that accumulates | Chris Robinson | 2022-10-22 | 4 | -225/+143 |
| | |||||
* | Add a warning when using the old UHJ filter option | Chris Robinson | 2022-10-21 | 1 | -2/+8 |
| | |||||
* | Rename some variables to be less ambiguous | Chris Robinson | 2022-10-21 | 4 | -22/+22 |
| | |||||
* | Rename a couple functions to clarify their use | Chris Robinson | 2022-10-21 | 1 | -13/+13 |
| | |||||
* | Add separate filter options for UHJ encoding and decoding | Chris Robinson | 2022-10-21 | 6 | -18/+49 |
| | |||||
* | Add an IIR filter option for UHJ encoding/decoding | Chris Robinson | 2022-10-21 | 5 | -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 loop | Chris Robinson | 2022-10-18 | 1 | -10/+42 |
| | |||||
* | Increase sub-sample precision to 16 bits | Chris Robinson | 2022-10-16 | 1 | -1/+1 |
| | |||||
* | Don't pass null to fprintf | Chris Robinson | 2022-10-10 | 1 | -2/+2 |
| | |||||
* | Handle the delays specified in SOFA files | Chris Robinson | 2022-10-10 | 1 | -44/+55 |
| | |||||
* | Fix an ambisonic layout check in alffplay | Chris Robinson | 2022-09-24 | 1 | -1/+1 |
| | |||||
* | Move some comments to a more appropriate place | Chris Robinson | 2022-09-23 | 1 | -32/+32 |
| | |||||
* | Avoid another potential overflow | Chris Robinson | 2022-09-23 | 1 | -1/+1 |
| | |||||
* | Fixed bug and possible overflow type (#771) | Herman Semenov | 2022-09-23 | 2 | -2/+2 |
| | |||||
* | Remove unnecessary includes and forward declarations | Chris Robinson | 2022-09-23 | 1 | -7/+0 |
| | |||||
* | Remove an unnecessary include | Chris Robinson | 2022-09-22 | 1 | -1/+0 |
| | |||||
* | Use PulseAudio's threaded mainloop instead of a custom one | Chris Robinson | 2022-09-22 | 1 | -141/+160 |
| | |||||
* | Remove an unused variable | Chris Robinson | 2022-09-20 | 1 | -10/+9 |
| | |||||
* | Clear the buffer loop element when out of the loop range | Chris Robinson | 2022-09-18 | 1 | -2/+3 |
| | |||||
* | Correctly check if a multi-channel decoder is set | Chris Robinson | 2022-09-16 | 1 | -1/+1 |
| | |||||
* | Update the built-in quad and 7.1 decoders | Chris Robinson | 2022-09-16 | 1 | -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 description | Chris Robinson | 2022-09-15 | 1 | -0/+2 |
| | |||||
* | Use the correct va_list for the second vsnprintf | Chris Robinson | 2022-09-14 | 1 | -1/+1 |
| | |||||
* | Add vcpkg installation instructions (#768) | JonLiu1993 | 2022-09-14 | 1 | -0/+13 |
| | |||||
* | Use ifstream's wchar_t constructors on Windows | Chris Robinson | 2022-09-12 | 3 | -173/+20 |
| | | | | MinGW seems to have added them a while ago, so that greatly simplifies things. | ||||
* | Don't pack ambdec coefficients | Chris Robinson | 2022-09-12 | 2 | -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 loading | Chris Robinson | 2022-09-12 | 1 | -236/+156 |
| | |||||
* | Ensure coeff_scale is set for ambdec files | Chris Robinson | 2022-09-11 | 3 | -6/+13 |
| | |||||
* | Reject ambdec files with higher than third order and FuMa scaling | Chris Robinson | 2022-09-11 | 1 | -13/+15 |
| | |||||
* | Recognize void(pthread_t,const char*) | Chris Robinson | 2022-09-09 | 1 | -1/+6 |
| | |||||
* | tvos support (#762) | Paulo Coutinho | 2022-09-04 | 1 | -1/+1 |
| | |||||
* | Track if doing 2D mixing only | Chris Robinson | 2022-09-04 | 6 | -8/+20 |
| | | | | And use it to select the proper HF scales | ||||
* | Allow different HF scales for 2D mixing/output | Chris Robinson | 2022-09-04 | 5 | -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 ambisonics | Chris Robinson | 2022-09-03 | 5 | -34/+32 |
| | |||||
* | Update the second-order upsampler HF scale | Chris Robinson | 2022-09-02 | 1 | -1/+1 |
| | |||||
* | Revert "Don't apply the HF scaling for "upsampling" ambisonics" | Chris Robinson | 2022-09-02 | 5 | -16/+119 |
| | | | | This reverts commit bf3f63fb4c5faa45784d7433d68b7013e29ee2c1. | ||||
* | Use an icosahedron for 3D second-order | Chris Robinson | 2022-09-01 | 4 | -66/+62 |
| | |||||
* | Don't apply the HF scaling for "upsampling" ambisonics | Chris Robinson | 2022-08-31 | 5 | -119/+16 |
| | | | | | | | | | | | | Not sure if this is best, but it fixes the issue of upsampling lower orders to higher orders multiple times (mixing lower order to higher order, cutting back to lower order by dropping the extra channels, then upsampling again, applying the HF scale multiple times and messing up the high frequencies/energy vector), as well as having too-strong high frequencies of upsampled content in general. As it is, with the new upsampling method, the lower order signal contributes to some higher order channels, which helps offset the high frequency scaling difference (except first- to second-order, which adds nothing). | ||||
* | Use a more precise 3D7.1 decoder | Chris Robinson | 2022-08-30 | 2 | -26/+26 |
| | |||||
* | Use predefined variables to handle 1/sqrt(3) | Chris Robinson | 2022-08-30 | 1 | -44/+45 |
| | |||||
* | Do a simplified update for reverb when not fading | Chris Robinson | 2022-08-29 | 1 | -49/+48 |
| | |||||
* | Always fade the main early and late delay taps | Chris Robinson | 2022-08-29 | 1 | -8/+33 |
| | | | | | | | | | These were actually missing from the current check for fading. But the EFX documentation suggests these (along with the early/late gain and panning) can be adjusted often without invoking a full change, as dynamically modeling an environment would continually change these properties as the listener moves around (changing the direction and distance to the reflective surfaces). So ensuring they're kept up-to-date would be the way to go. | ||||
* | Update reverb processing | Chris Robinson | 2022-08-29 | 1 | -285/+290 |
| | | | | | | | | | | | | | Separate the core delay line into early and late input delay lines. This will be necessary to allow a second late reverb processing loop to decay after a change. Also ensure the early reflection delay line is long enough to write in MAX_UPDATE_SAMPLES first without interfering with the subsequent read. And ensure the modulation delay doesn't cause an underflow on the feedback offset. Finally, move the loop inside the processing functions to minimize loop iterations. |