aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Update a commentChris Robinson2023-01-081-1/+1
|
* Add an option to mix on PipeWire's non-RT threadChris Robinson2023-01-082-14/+20
|
* Simplify void_tChris Robinson2023-01-081-3/+1
|
* Better handle negative sample rate valuesChris Robinson2023-01-081-5/+5
|
* Update alsoft-configChris Robinson2023-01-082-72/+7
|
* Update some config commentsChris Robinson2023-01-082-24/+25
|
* Get device config options earlier in a device updateChris Robinson2023-01-071-310/+275
|
* Avoid using a reversed all-pass for the front stablizerChris Robinson2023-01-066-77/+43
| | | | | | While a neat trick, it's been shown to be too volatile and add noise as the signal gets louder. It's better to just accept the phase shift and ensure everything stays aligned.
* Disable MSVC warning C5051Chris Robinson2023-01-051-1/+1
| | | | | | | | | | "attribute 'attribute-name' requires at least 'standard-level'; ignored" This hides the fact that it's not optimizing [[likely]] and [[unlikely]], even though it could (GCC does, Clang gives a similar warning to MSVC, but is ambiguous about whether it's still doing the optimization). There's nothing I know to do to make MSVC do those optimizations it otherwise knows to do, so just hide the warnings instead of pessimizing the code.
* Rename some lambda parameters to avoid shadowing warningsChris Robinson2023-01-055-15/+15
|
* Combine some duplicate code to mix each channelChris Robinson2023-01-053-330/+186
|
* Add and use mixers that process one input and output channelChris Robinson2023-01-0511-8/+222
|
* Add a simple wrapper to call the mixer functionChris Robinson2023-01-043-5/+11
|
* Simplify handling effect output for spatial effectsChris Robinson2023-01-047-104/+173
| | | | | | | | | | | | 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.
* Handle negative offset starts for callback buffersChris Robinson2023-01-041-9/+11
|
* Combine multiple al_printf definitionsChris Robinson2023-01-022-58/+49
| | | | And separate the log level prefix from the message.
* Multiply by the inverse instead of divideChris Robinson2023-01-011-4/+4
|
* Fix a commentChris Robinson2023-01-011-2/+1
|
* Handle UHJ better with convolution reverbChris Robinson2023-01-012-44/+68
| | | | | | It's now decoded to B-Format while being FFT'd, and processed as B-Format. Again, not that UHJ should really ever be used for convolution, but it's a valid format someone may want to use despite the overhead from converting it.
* Swap the order of some checks to simplify voice setupChris Robinson2023-01-011-35/+25
|
* Avoid some explicit casts and referencesChris Robinson2023-01-015-19/+20
|
* Display the device sample rate in openal-infoChris Robinson2022-12-311-1/+7
|
* Simplify constructing the process path and executable nameChris Robinson2022-12-301-7/+5
|
* Use a simple spinlock to protect the current global contextChris Robinson2022-12-303-7/+26
| | | | | This will be much for efficient than a recursive mutex, given the amount of contention will be very low.
* Update some header commentsChris Robinson2022-12-302-106/+127
|
* Add macros to prevent declaring API functionsChris Robinson2022-12-303-40/+22
| | | | | Primarily for when a project wants to define its own wrappers with dynamic loading.
* Avoid a manual loop to find a buffer queue entryChris Robinson2022-12-241-6/+3
|
* Constify some parametersChris Robinson2022-12-241-16/+16
|
* Avoid using a macro to set a context error and returnChris Robinson2022-12-247-90/+89
|
* Avoid some macros for checking property sizes and valuesChris Robinson2022-12-241-169/+228
|
* Avoid duplicate code to update the reverb delay linesChris Robinson2022-12-221-14/+7
|
* Include the reverb delay times in the fade sample countChris Robinson2022-12-201-24/+15
|
* Make sure to update the input filters with partial updatesChris Robinson2022-12-201-1/+11
|
* Clean up some reverb mixing loopsChris Robinson2022-12-191-21/+18
|
* Turn a static member function into a lambda where it's usedChris Robinson2022-12-191-31/+29
| | | | And clean up some parameters
* Remove a redundant commentChris Robinson2022-12-181-4/+1
|
* Use a size_t for the reverb decay fade countChris Robinson2022-12-181-2/+2
|
* Avoid unreachable() in assume_alignedChris Robinson2022-12-181-4/+6
| | | | | Another test to attempt to workaround MSVC build problems. Also, don't assume bit-wise value alignment for pointers as a default fallback.
* Revert "Change the order of compiler checks in assume_aligned"Chris Robinson2022-12-181-7/+5
| | | | This reverts commit 14d7809a89ea51ca663a7ebf09e7bc135b904d5d.
* Change the order of compiler checks in assume_alignedChris Robinson2022-12-181-5/+7
| | | | Testing to see if this works around issues with MSVC builds
* Include the build type in the CI job namesChris Robinson2022-12-181-7/+7
|
* Create debug Windows builds with GitHub CIChris Robinson2022-12-171-1/+21
|
* Avoid inlining LoadedHrtf's destructorChris Robinson2022-12-171-0/+7
|
* Clear the old reverb pipeline buffer when it's doneChris Robinson2022-12-171-9/+46
|
* Rework reverb fading to toggle between pipelinesChris Robinson2022-12-171-475/+360
| | | | | | | | | | | | When non-simple properties are changed, the active reverb pipeline is switched and the new parameters set on that one. The main process function will then be set to fade out input on the old pipeline, fade in input on the new pipeline, then process and mix both pipelines. After some number of samples (calculated from its decay time), the old pipeline will stop processing. This should improve the transition from a highly reverberant environment by not harshly interpolating to the new environment, as well as better handle changes to the all-pass and T60 filters.
* Use a bitset for the enabled event flagsChris Robinson2022-12-166-33/+35
|
* Avoid inlining certain exception functionsChris Robinson2022-12-169-38/+42
|
* Avoid extraneous temporaries when filling vectorsChris Robinson2022-12-155-9/+29
|
* Fix paths for creating the archiveChris Robinson2022-12-151-2/+2
|
* Build with PipeWire in GitHub CIChris Robinson2022-12-151-1/+3
|