Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use a bitset instead of a plain uint for flags | Chris Robinson | 2021-12-23 | 2 | -24/+29 |
| | |||||
* | 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. | ||||
* | Move some more context functions to the proper source | Chris Robinson | 2021-12-17 | 2 | -1/+80 |
| | |||||
* | Move the effects base and effectslot to core | Chris Robinson | 2021-12-17 | 3 | -0/+318 |
| | |||||
* | Move some ContextBase function definitions to the right place | Chris Robinson | 2021-12-17 | 1 | -0/+70 |
| | |||||
* | Remove an unnecessary parameter | Chris Robinson | 2021-12-17 | 1 | -1/+1 |
| | |||||
* | Allocate voice properties in clusters | Chris Robinson | 2021-12-17 | 2 | -1/+5 |
| | |||||
* | Rename Voice::mNumChannels for clarity | Chris Robinson | 2021-12-15 | 2 | -6/+6 |
| | |||||
* | Add source properties for Super Stereo | Chris Robinson | 2021-12-15 | 3 | -7/+22 |
| | | | | | When playing a stereo format, enabling Super Stereo causes the source to behave as a B-Format source, with a variable width control. | ||||
* | Minor UHJ coefficient scaling precision improvement | Chris Robinson | 2021-12-13 | 1 | -3/+3 |
| | |||||
* | Make an inline function to check for 2D ambisonic formats | Chris Robinson | 2021-12-12 | 2 | -3/+7 |
| | |||||
* | Avoid initializing the NFC filter for every voice channel | Chris Robinson | 2021-12-11 | 3 | -72/+56 |
| | | | | | | 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 | 5 | -12/+49 |
| | | | | | | | 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. | ||||
* | Use a vector in BFormatDec instead of FlexArray | Chris Robinson | 2021-12-10 | 2 | -5/+11 |
| | | | | | | FlexArray would be better since it's not likely to use much memory for the array, but the std::unique_ptr makes BFormatDec a non-standard layout, causing GCC and Clang to complain. | ||||
* | Remove unnecessary lines | Chris Robinson | 2021-12-10 | 1 | -3/+0 |
| | |||||
* | Improve the 2-channel UHJ response | Chris Robinson | 2021-12-09 | 4 | -4/+73 |
| | | | | | | 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. | ||||
* | Add a function for Super Stereo conversions | Chris Robinson | 2021-12-09 | 2 | -0/+97 |
| | | | | | | | a.k.a. Stereo Enhance. A common feature of UHJ decoders to take a plain stereo signal and generate a B-Format signal with variable width control, widening (or narrowing) the soundfield while maintaining a sharp central image. | ||||
* | Slight update to the UHJ coefficients | Chris Robinson | 2021-11-28 | 1 | -12/+12 |
| | | | | | | | The extended precision of the encoder's 0.6512*X term was guesswork, with no real basis for it. Switch back to the original value until something better actually comes up. Also updates the decoder to account for the change in the encoder. | ||||
* | Avoid passing spans unnecessarily | Chris Robinson | 2021-11-25 | 2 | -6/+6 |
| | |||||
* | Don't assume the UhjDecoder::decode offset is 16-byte aligned | Chris Robinson | 2021-11-25 | 1 | -6/+6 |
| | | | | It's not, it's MaxResamplerEdge which is currently 24. | ||||
* | Use a base for the UhjEncoder/Decoder common properties | Chris Robinson | 2021-11-25 | 2 | -18/+16 |
| | |||||
* | Slightly improve logging on Windows | Chris Robinson | 2021-11-21 | 1 | -2/+2 |
| | | | | | The characters won't display properly if the system codepage isn't UTF-8, but at least it shouldn't cut the line off prematurely. | ||||
* | Downgrade some ERRs to WARNs | Chris Robinson | 2021-11-21 | 1 | -1/+1 |
| | |||||
* | Make the backend pointer part of ALCdevice instead of DeviceBase | Chris Robinson | 2021-11-19 | 2 | -8/+16 |
| | |||||
* | Use a tri-state optional for the stereo output mode | Chris Robinson | 2021-10-24 | 1 | -0/+6 |
| | |||||
* | Use a flag to indicate headphone-like output | Chris Robinson | 2021-10-23 | 1 | -1/+4 |
| | |||||
* | Avoid manually prefixing EventType_ enums | Chris Robinson | 2021-10-10 | 2 | -15/+15 |
| | | | | 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 | 4 | -20/+20 |
| | |||||
* | Fix inverted macro check | Chris Robinson | 2021-10-04 | 1 | -1/+1 |
| | |||||
* | Don't call OutputDebugStringW in Release builds | Chris Robinson | 2021-10-03 | 1 | -0/+6 |
| | |||||
* | Silence some static analysis warnings | Chris Robinson | 2021-10-03 | 1 | -6/+6 |
| | |||||
* | Avoid 5.1Rear as its own channel configuration | Chris Robinson | 2021-07-30 | 2 | -5/+0 |
| | | | | | | It messes with 5.1 sources using direct channels, and the surround channels are supposed to map to the side labels. Individual backends can deal with the channel order/label differences, as they already do to a degree. | ||||
* | Use the 2D channel orders for 2- and 3-channel UHJ | Chris Robinson | 2021-07-13 | 1 | -1/+2 |
| | |||||
* | Add a UHJ-specific coefficient scaling array | Chris Robinson | 2021-07-13 | 4 | -15/+23 |
| | |||||
* | Handle spaces in the ambdec description | Chris Robinson | 2021-06-24 | 1 | -1/+1 |
| | |||||
* | Convert AmbDecConf to DecoderConfig for loading | Chris Robinson | 2021-06-23 | 2 | -83/+12 |
| | | | | | This keeps AmbDecConf uses confined to multi-channel panning initialization, and avoids spreading conversions and maps all over. | ||||
* | Don't allocate full buffer lines in each voice | Chris Robinson | 2021-06-21 | 3 | -26/+45 |
| | | | | | | 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 | 2 | -18/+19 |
| | |||||
* | 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 |
| | |||||
* | Reorder some channel label indices | Chris Robinson | 2021-06-13 | 1 | -1/+1 |
| | |||||
* | Add an option to mix directly in the JACK callback | Chris Robinson | 2021-06-08 | 1 | -0/+4 |
| | |||||
* | Handle the listener position separate from the rotation matrix | Chris Robinson | 2021-05-25 | 1 | -0/+1 |
| | | | | | | It's too unstable with larger vectors. Even when the source and listener positions are the same, floating point precision can cause noticeable rounding errors. | ||||
* | Merge pull request #559 from tatokis/split-sse-sse2 | kcat | 2021-05-13 | 1 | -3/+2 |
|\ | | | | | Allow enabling SSE without SSE2 | ||||
| * | Allow enabling SSE without SSE2 | Tasos Sahanidis | 2021-04-30 | 1 | -3/+2 |
| | | |||||
* | | Avoid shadowing a variable name | Chris Robinson | 2021-05-13 | 1 | -2/+2 |
| | | |||||
* | | Update include headers | Chris Robinson | 2021-04-27 | 1 | -2/+3 |
| | | | | | | | | Don't add alc/ to the include paths. | ||||
* | | Move BufferStorage and Voice to core | Chris Robinson | 2021-04-27 | 4 | -0/+1235 |
| | | |||||
* | | Move ContextBase and VoiceChange to core | Chris Robinson | 2021-04-27 | 3 | -0/+207 |
| | |