aboutsummaryrefslogtreecommitdiffstats
path: root/core/device.h
Commit message (Collapse)AuthorAgeFilesLines
* Clean up some more includesChris Robinson2023-05-121-3/+1
|
* Use more appropriate types for some enumsChris Robinson2023-05-061-3/+4
|
* Use macros for the likely/unlikely attributesChris Robinson2023-03-011-1/+1
| | | | | The syntax parser for GCC 8 (and earlier?) fails when these attributes are in certain places.
* Separate decoding and mixing from resamplingChris Robinson2023-02-121-3/+2
|
* Transpose the ambisonic voice mixing matrixChris Robinson2023-01-251-0/+1
| | | | | To more efficiently prepare the panning coefficients. Also avoid making a stack copy of the matrix to reuse as the target.
* Change a couple macros to constexpr variablesChris Robinson2023-01-161-6/+6
|
* Update a commentChris Robinson2023-01-081-1/+1
|
* Simplify handling effect output for spatial effectsChris Robinson2023-01-041-3/+33
| | | | | | | | | | | | Effects are given a 3D ambisonic buffer of the same order as the device, for processing surround sound. Effects that pass input channels to matching output channels as it processes them don't need to mix each input channel to all output channels. At most, an input channel may mix to a different output channel, if the target buffer uses a different channel layout, and need a gain adjustment, if it uses a different scaling. With a 2D output buffer, a number of channels can be skipped altogether.
* Avoid using a macro to wrap standard attributesChris Robinson2022-12-061-1/+1
|
* Avoid some uses of the LIKELY/UNLIKELY macrosChris Robinson2022-12-051-1/+1
|
* Rename some variables to more clearly indicate their meaningChris Robinson2022-10-281-1/+1
|
* Track if doing 2D mixing onlyChris Robinson2022-09-041-0/+2
| | | | And use it to select the proper HF scales
* Allow the remix tables to be variable lengthChris Robinson2022-08-281-1/+1
|
* Use the right array size for the mixing parametersChris Robinson2022-08-141-1/+1
|
* Parameterize the UHJ filter lengthChris Robinson2022-08-071-2/+2
|
* Avoid putting a 1KB array on the stackChris Robinson2022-08-021-1/+4
|
* Change an inline function to a class methodChris Robinson2022-08-021-7/+7
|
* Use 48khz by default for playbackChris Robinson2022-07-051-2/+2
|
* Remove the reversed all-pass trick in MixDirectHrtfBaseChris Robinson2022-03-301-1/+1
| | | | 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
|
* Pass a span of pointers to the UHJ/SuperStereo decoderChris Robinson2022-01-011-1/+2
|
* Avoid initializing the NFC filter for every voice channelChris Robinson2021-12-111-2/+7
| | | | | | 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.
* Make the backend pointer part of ALCdevice instead of DeviceBaseChris Robinson2021-11-191-8/+0
|
* 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
|
* Don't allocate full buffer lines in each voiceChris Robinson2021-06-211-0/+7
| | | | | | 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.
* Add an option to mix directly in the JACK callbackChris Robinson2021-06-081-0/+4
|
* Move GetChannelIdxByName and clean up some more includesChris Robinson2021-04-261-0/+16
|
* Move the DeviceBase declaraction to coreChris Robinson2021-04-241-0/+274