aboutsummaryrefslogtreecommitdiffstats
path: root/core
Commit message (Collapse)AuthorAgeFilesLines
...
* Use an span of pointers instead of arrays for mixingChris Robinson2022-01-011-93/+94
|
* Pass a span of pointers to the UHJ/SuperStereo decoderChris Robinson2022-01-014-23/+29
|
* Use a bitset instead of a plain uint for flagsChris Robinson2021-12-232-24/+29
|
* Don't swallow up buffer callback samples when pausingChris Robinson2021-12-181-11/+17
|
* Don't update voice sample histories when stopping/pausingChris Robinson2021-12-181-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 sourceChris Robinson2021-12-172-1/+80
|
* Move the effects base and effectslot to coreChris Robinson2021-12-173-0/+318
|
* Move some ContextBase function definitions to the right placeChris Robinson2021-12-171-0/+70
|
* Remove an unnecessary parameterChris Robinson2021-12-171-1/+1
|
* Allocate voice properties in clustersChris Robinson2021-12-172-1/+5
|
* Rename Voice::mNumChannels for clarityChris Robinson2021-12-152-6/+6
|
* Add source properties for Super StereoChris Robinson2021-12-153-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 improvementChris Robinson2021-12-131-3/+3
|
* Make an inline function to check for 2D ambisonic formatsChris Robinson2021-12-122-3/+7
|
* Avoid initializing the NFC filter for every voice channelChris Robinson2021-12-113-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 formatChris Robinson2021-12-115-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 FlexArrayChris Robinson2021-12-102-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 linesChris Robinson2021-12-101-3/+0
|
* Improve the 2-channel UHJ responseChris Robinson2021-12-094-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 conversionsChris Robinson2021-12-092-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 coefficientsChris Robinson2021-11-281-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 unnecessarilyChris Robinson2021-11-252-6/+6
|
* Don't assume the UhjDecoder::decode offset is 16-byte alignedChris Robinson2021-11-251-6/+6
| | | | It's not, it's MaxResamplerEdge which is currently 24.
* Use a base for the UhjEncoder/Decoder common propertiesChris Robinson2021-11-252-18/+16
|
* Slightly improve logging on WindowsChris Robinson2021-11-211-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 WARNsChris Robinson2021-11-211-1/+1
|
* Make the backend pointer part of ALCdevice instead of DeviceBaseChris Robinson2021-11-192-8/+16
|
* Use a tri-state optional for the stereo output modeChris Robinson2021-10-241-0/+6
|
* Use a flag to indicate headphone-like outputChris Robinson2021-10-231-1/+4
|
* Avoid manually prefixing EventType_ enumsChris Robinson2021-10-102-15/+15
| | | | And use a better fitting type that matches how it's used
* Make a construct_at method amd use itChris Robinson2021-10-084-20/+20
|
* Fix inverted macro checkChris Robinson2021-10-041-1/+1
|
* Don't call OutputDebugStringW in Release buildsChris Robinson2021-10-031-0/+6
|
* Silence some static analysis warningsChris Robinson2021-10-031-6/+6
|
* Avoid 5.1Rear as its own channel configurationChris Robinson2021-07-302-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 UHJChris Robinson2021-07-131-1/+2
|
* Add a UHJ-specific coefficient scaling arrayChris Robinson2021-07-134-15/+23
|
* Handle spaces in the ambdec descriptionChris Robinson2021-06-241-1/+1
|
* Convert AmbDecConf to DecoderConfig for loadingChris Robinson2021-06-232-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 voiceChris Robinson2021-06-213-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 channelsChris Robinson2021-06-212-18/+19
|
* Avoid altering SrcBufferSize in each channelChris Robinson2021-06-141-1/+1
|
* Combine some checksChris Robinson2021-06-141-22/+23
|
* Reorder some channel label indicesChris Robinson2021-06-131-1/+1
|
* Add an option to mix directly in the JACK callbackChris Robinson2021-06-081-0/+4
|
* Handle the listener position separate from the rotation matrixChris Robinson2021-05-251-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-sse2kcat2021-05-131-3/+2
|\ | | | | Allow enabling SSE without SSE2
| * Allow enabling SSE without SSE2Tasos Sahanidis2021-04-301-3/+2
| |
* | Avoid shadowing a variable nameChris Robinson2021-05-131-2/+2
| |
* | Update include headersChris Robinson2021-04-271-2/+3
| | | | | | | | Don't add alc/ to the include paths.