aboutsummaryrefslogtreecommitdiffstats
path: root/alc/alu.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Make a construct_at method amd use itChris Robinson2021-10-081-3/+5
|
* Ensure unused output channels are cleared when renderingChris Robinson2021-07-241-1/+12
|
* Add a UHJ-specific coefficient scaling arrayChris Robinson2021-07-131-2/+7
|
* Don't attenuate spatialized multichannel sourcesChris Robinson2021-06-241-34/+9
| | | | | | | | It's inconsistent behavior with spatialized B-Format sources, and causes a very apparent gain disparity between such a source on the listener compared to just barely off-origin. It's also not something an app can easy correct for if it doesn't want that behavior, since the source gain clamps to 1 by default. In contrast, an app can attenuate sources as they want with little issue.
* Add an option to mix directly in the JACK callbackChris Robinson2021-06-081-38/+64
|
* Handle the listener position separate from the rotation matrixChris Robinson2021-05-251-12/+9
| | | | | | 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.
* Move BufferStorage and Voice to coreChris Robinson2021-04-271-2/+2
|
* Move ContextBase and VoiceChange to coreChris Robinson2021-04-271-2/+2
|
* Partially implement an extension to hold sources on disconnectChris Robinson2021-04-261-0/+6
| | | | | | | | Rather than stopping voices/sources when the device becomes disconnected, the context can be set to leave them alone. As a consequence, their state will remain as playing and they'll keep their last known sample offset indefinately. For applications mindful of this behavior, it will allow resetting or reopening the device to reconnect and automatically resume where it left off.
* Move GetChannelIdxByName and clean up some more includesChris Robinson2021-04-261-11/+11
|
* Move bformatdec to coreChris Robinson2021-04-251-2/+2
|
* Move async_event.h to coreChris Robinson2021-04-251-2/+19
|
* Move some functions to coreChris Robinson2021-04-251-0/+1
| | | | And clean up more includes
* Create a base the ALCdevice and ALCcontext structsChris Robinson2021-04-241-23/+23
| | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data.
* Move hrtf.cpp/h to coreChris Robinson2021-04-221-1/+1
|
* Rename Uhj2Encoder to UhjEncoderChris Robinson2021-04-011-1/+1
|
* Add support for 4-channel UHJChris Robinson2021-03-311-2/+5
| | | | Also add the SOFT moniker to the new macros
* Handle 3-channel UHJ audio buffersChris Robinson2021-03-311-3/+5
|
* Decode UHJ buffers to B-Format for mixingChris Robinson2021-03-311-10/+7
| | | | | This should also have an adjustment for the shelf filter. Although it's not clear what the appropriate adjustments should be.
* Start an interface for providing UHJ audioChris Robinson2021-03-311-0/+7
| | | | Currently only 2-channel UHJ, which gets treated as stereo.
* Avoid making BSincPointsMax publicChris Robinson2021-03-011-1/+0
|
* Avoiding cutting all bsinc resampler output at scale 0Chris Robinson2021-02-241-2/+2
| | | | | | | | | | | | This is mostly for the SampleConverter, used by some capture backends. When recording at really low rates, like 5512hz, with a device capturing at a higher rate like 44100hz or 48000hz, it hits the filter's downscaling limit and produces pure silence. In such cases, it's better to just accept some aliasing noise so that the app will still get some recognizable audio. The alternative would be to scale the desired rate by 2x, 3x, etc until it's above the bsinc limit, then take every 2nd, 3rd, etc sample of the result as if by an extra simpler resampler pass.
* Use spans instead of references to arraysChris Robinson2021-02-061-3/+3
|
* Add a panning "deadzone" for spatialized sourcesChris Robinson2021-01-281-1/+1
| | | | It is now the greater of 'epsilon' (1 / 2**23) or ref_distance/1024.
* Avoid global constexpr arraysChris Robinson2021-01-211-12/+12
|
* Move cpu_caps and fpu_ctrl to coreChris Robinson2020-12-311-2/+2
|
* Use a unique_ptr to hold DistanceComp dataChris Robinson2020-12-271-2/+3
|
* Use a uint for a bitfieldChris Robinson2020-12-271-2/+2
|
* Avoid AL enums for the EffectSlot typeChris Robinson2020-12-261-3/+3
|
* Rename From2D to FromACN2DChris Robinson2020-12-251-1/+1
|
* Move AsyncEvent to a separate headerChris Robinson2020-12-161-1/+1
|
* Send stop events when stopping paused voicesChris Robinson2020-12-161-5/+8
|
* Use a separate enum for the VoiceChange stateChris Robinson2020-12-161-6/+6
|
* Move VoiceChange to a separate headerChris Robinson2020-12-161-0/+1
|
* Avoid a generic event structChris Robinson2020-12-151-6/+3
|
* Avoid some AL typesChris Robinson2020-12-151-51/+51
|
* Use a separate structure for the context/listener paramsChris Robinson2020-12-151-50/+42
|
* Move the mixer functions to coreChris Robinson2020-12-121-1/+1
|
* Avoid passing DirectHrtfState to MixDirectHrtfChris Robinson2020-12-121-3/+3
|
* Move ambidefs.h to coreChris Robinson2020-12-121-1/+1
|
* Use an alias for the DevFmtType typeChris Robinson2020-12-051-5/+3
|
* Change some macros into constexpr variablesChris Robinson2020-12-041-12/+12
|
* Move a couple more things to coreChris Robinson2020-12-041-2/+2
|
* Move the filters to coreChris Robinson2020-12-041-3/+3
|
* Move the bsinc tables to coreChris Robinson2020-12-041-2/+1
|
* Move mastering.cpp/h to coreChris Robinson2020-12-041-1/+1
|
* Avoid a global MAX_PITCH macroChris Robinson2020-12-041-4/+10
|
* Change a couple macros into constexpr variablesChris Robinson2020-11-281-3/+3
|
* Move some sources to a separate directoryChris Robinson2020-11-271-1/+1
| | | | To begin separating the ALC interfaces from internal ones.
* Use doubles to calculate the listener matrix translationChris Robinson2020-11-131-42/+17
| | | | | To help stablize sources near the listener, when away from origin. Also clean up some related methods and move them to more appropriate places.