aboutsummaryrefslogtreecommitdiffstats
path: root/core
Commit message (Collapse)AuthorAgeFilesLines
* Invert a check to put the first taken path firstChris Robinson2022-03-311-11/+11
|
* Make and use a processHfScale function with a separate outputChris Robinson2022-03-313-6/+44
|
* Replace a few asserts with actual checks or ASSUME()Chris Robinson2022-03-301-1/+2
|
* Remove the reversed all-pass trick in MixDirectHrtfBaseChris Robinson2022-03-305-48/+11
| | | | Given the minimum phase HRTF, it's not going to stay linear phase anyway.
* Make and use a Default enum for StereoEncodingChris Robinson2022-03-291-2/+4
|
* Fix for some missing macrosChris Robinson2022-03-101-0/+5
|
* Use proper macros instead of magic numbersChris Robinson2022-03-091-3/+3
|
* Avoid a divide-by-zero in UhjDecoder::decodeStereoChris Robinson2022-03-071-4/+4
|
* Fix an unused parameter warningChris Robinson2022-02-231-1/+6
| | | | ... when either pthread_setschedparam or RTKit aren't available.
* Explicitly define AmbDecConf's destructorChris Robinson2022-02-222-0/+5
| | | | | | GCC complains it can't inline the destructor because it's "unlikely" to be called and would bloat code size, despite being implicitly defined. Technically accurate, but rather annoying since it's not explicitly called or defined.
* Avoid using an if_constexpr macroChris Robinson2022-02-221-19/+34
| | | | | It doesn't actually use if constexpr, and compilers are smart enough to optimize. Some functions can use templates instead.
* Handle AirAbsorptionGainHF as a native context propertyChris Robinson2022-02-081-1/+5
|
* Combine listener and context updatesChris Robinson2022-02-082-31/+7
|
* Remove extra ';' after member function definition (#652)Jan Niklas Hasse2022-01-311-1/+1
| | | Found using -Wextra-semi warning.
* Get rid of MathDefsChris Robinson2022-01-277-30/+31
|
* Start and use a standard-like numbers headerChris Robinson2022-01-271-5/+5
|
* Handle _gettid on FreeBSDChris Robinson2022-01-185-82/+77
| | | | And simplify handling D-Bus/RTKit interfaces
* Set niceness as a fallback only on LinuxChris Robinson2022-01-181-0/+9
| | | | | | | If pthread_setschedparam and rtkit_make_realtime both fail, lowering niceness can also work to boost priority. However, this only works on Linux and other OSs that implement a per-thread niceness (POSIX standard has it per-process, which isn't desirable behavior here).
* Avoid passing a function pointer to std::call_onceChris Robinson2022-01-181-1/+1
|
* Handle the rt-prio config options as the priority levelChris Robinson2022-01-181-82/+111
|
* Explicitly default the band splitter's copy assignmentChris Robinson2022-01-111-0/+1
|
* Slightly improve handling of stopping voicesChris Robinson2022-01-081-19/+27
|
* Remove extra ';' after member function definition (#634)Jan Niklas Hasse2022-01-041-1/+1
| | | Found using -Wextra-semi warning.
* Don't mix higher orders of B-Format than the device is doingChris Robinson2022-01-021-2/+2
|
* 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
|