Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Revert "Don't apply the HF scaling for "upsampling" ambisonics" | Chris Robinson | 2022-09-02 | 1 | -12/+44 | |
| | | | | This reverts commit bf3f63fb4c5faa45784d7433d68b7013e29ee2c1. | |||||
* | Don't apply the HF scaling for "upsampling" ambisonics | Chris Robinson | 2022-08-31 | 1 | -44/+12 | |
| | | | | | | | | | | | | 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). | |||||
* | Create and use 2D upsampling matrices | Chris Robinson | 2022-08-25 | 1 | -4/+6 | |
| | ||||||
* | Inline a function and remove an unnecessary parameter | Chris Robinson | 2022-08-16 | 1 | -1/+1 | |
| | ||||||
* | Add an option for higher quality UHJ filters | Chris Robinson | 2022-08-08 | 1 | -4/+20 | |
| | ||||||
* | Parameterize the UHJ filter length | Chris Robinson | 2022-08-07 | 1 | -10/+10 | |
| | ||||||
* | Use a proper literal type | Chris Robinson | 2022-06-07 | 1 | -1/+1 | |
| | ||||||
* | Use a member variable to specify the decoder padding | Chris Robinson | 2022-05-17 | 1 | -2/+10 | |
| | ||||||
* | Avoid magic numbers | Chris Robinson | 2022-05-16 | 1 | -6/+6 | |
| | ||||||
* | Use virtual functions for the decoder | Chris Robinson | 2022-05-14 | 1 | -10/+5 | |
| | ||||||
* | Rename lerp to avoid conflicts with C++20's std::lerp | Chris Robinson | 2022-04-06 | 1 | -2/+2 | |
| | ||||||
* | Remove the reversed all-pass trick in MixDirectHrtfBase | Chris Robinson | 2022-03-30 | 1 | -4/+1 | |
| | | | | Given the minimum phase HRTF, it's not going to stay linear phase anyway. | |||||
* | Slightly improve handling of stopping voices | Chris Robinson | 2022-01-08 | 1 | -19/+27 | |
| | ||||||
* | Don't mix higher orders of B-Format than the device is doing | Chris Robinson | 2022-01-02 | 1 | -2/+2 | |
| | ||||||
* | Use an span of pointers instead of arrays for mixing | Chris Robinson | 2022-01-01 | 1 | -93/+94 | |
| | ||||||
* | Pass a span of pointers to the UHJ/SuperStereo decoder | Chris Robinson | 2022-01-01 | 1 | -1/+6 | |
| | ||||||
* | Use a bitset instead of a plain uint for flags | Chris Robinson | 2021-12-23 | 1 | -16/+16 | |
| | ||||||
* | Don't swallow up buffer callback samples when pausing | Chris Robinson | 2021-12-18 | 1 | -11/+17 | |
| | ||||||
* | Don't update voice sample histories when stopping/pausing | Chris Robinson | 2021-12-18 | 1 | -24/+25 | |
| | | | | | Since a voice pausing is on a fade-out, and will replay the same samples again when restarting and fading in. | |||||
* | Rename Voice::mNumChannels for clarity | Chris Robinson | 2021-12-15 | 1 | -4/+4 | |
| | ||||||
* | Add source properties for Super Stereo | Chris Robinson | 2021-12-15 | 1 | -0/+21 | |
| | | | | | When playing a stereo format, enabling Super Stereo causes the source to behave as a B-Format source, with a variable width control. | |||||
* | Make an inline function to check for 2D ambisonic formats | Chris Robinson | 2021-12-12 | 1 | -3/+1 | |
| | ||||||
* | Avoid initializing the NFC filter for every voice channel | Chris Robinson | 2021-12-11 | 1 | -8/+3 | |
| | | | | | | It can be initialized once with the device's speaker distance since it won't change in between resets, then copied into the voice where it can be adjusted as needed. | |||||
* | Add an internal Super Stereo format | Chris Robinson | 2021-12-11 | 1 | -10/+18 | |
| | | | | | | | It's not available as an AL buffer format (yet) since I'm not sure how to expose it. Internally it seems fine as a separate channel configuration, but because OpenAL combines the channel configuration and sample type, a flag may work better there. | |||||
* | Improve the 2-channel UHJ response | Chris Robinson | 2021-12-09 | 1 | -3/+41 | |
| | | | | | | This attempts to correct for the differences needed for 2-channel UHJ's shelf filters given the output shelf filters. It's far from ideal, but better than nothing. | |||||
* | Avoid manually prefixing EventType_ enums | Chris Robinson | 2021-10-10 | 1 | -4/+4 | |
| | | | | And use a better fitting type that matches how it's used | |||||
* | Make a construct_at method amd use it | Chris Robinson | 2021-10-08 | 1 | -2/+4 | |
| | ||||||
* | Use the 2D channel orders for 2- and 3-channel UHJ | Chris Robinson | 2021-07-13 | 1 | -1/+2 | |
| | ||||||
* | Don't allocate full buffer lines in each voice | Chris Robinson | 2021-06-21 | 1 | -22/+36 | |
| | | | | | | There's now effectively a 16-channel limit for buffers (as determined by the number of elements in DeviceBase::mSampleData). Any more than that are ignored when mixing. | |||||
* | Avoid mixing extraneous channels | Chris Robinson | 2021-06-21 | 1 | -18/+18 | |
| | ||||||
* | Avoid altering SrcBufferSize in each channel | Chris Robinson | 2021-06-14 | 1 | -1/+1 | |
| | ||||||
* | Combine some checks | Chris Robinson | 2021-06-14 | 1 | -22/+23 | |
| | ||||||
* | Move BufferStorage and Voice to core | Chris Robinson | 2021-04-27 | 1 | -0/+849 | |