aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't scale the early reflection outputUPSTREAMChris Robinson2024-01-041-1/+1
| | | | | The secondary reflections are spatially reflected and scaled by time already, so an average of the primary and secondary doesn't make sense.
* Avoid a union for storing a temporary valueChris Robinson2024-01-031-33/+37
|
* Avoid redundant definitionsChris Robinson2024-01-034-16/+19
|
* Avoid some const_castsChris Robinson2024-01-037-21/+19
|
* Avoid using bit_cast for pointer typesChris Robinson2024-01-0311-61/+42
|
* Add a missing returnChris Robinson2024-01-031-1/+1
|
* Allocate context property updates in clustersChris Robinson2024-01-033-22/+37
|
* Allocate effect slot property updates in clustersChris Robinson2024-01-035-31/+55
|
* Update a comment about FlexArrayChris Robinson2024-01-021-2/+3
|
* Avoid some indexed loopsChris Robinson2024-01-021-16/+20
|
* Avoid assigning to selfChris Robinson2024-01-021-1/+2
|
* Properly handle the atomic unique_ptr type deleterChris Robinson2024-01-021-13/+16
|
* Use an atomic exchange to destruct the atomic unique_ptrChris Robinson2024-01-021-1/+5
| | | | | | | | | | A relaxed load isn't required to synchronize with other threads. A thread could exchange the held pointer, and a subsequent load is allowed to get either the pre- or post-swap value (it's only required the value be "complete", not junk or some mix of the old and new value). An exchange, however, is guaranteed to synchronize with itself. If an atomic variable has the value 0, for example, with one thread swapping in the value 1 and another the value 2, the two threads are guaranteed to not both get 0 from the swap.
* Use an atomic unique_ptr for the device's context arrayChris Robinson2024-01-014-37/+13
|
* Make the flexarray storage span constChris Robinson2024-01-011-1/+1
|
* Make and use a (simple) atomic unique_ptrChris Robinson2024-01-013-3/+69
|
* Remove an unnecessary member variableChris Robinson2024-01-011-27/+23
|
* Use an allocator to allocate uninitilized sublistsChris Robinson2024-01-018-104/+86
|
* Use standard operator new[] and delete[] for aligned allocationsChris Robinson2024-01-019-64/+9
|
* Avoid using al_calloc/al_free in the routerChris Robinson2024-01-011-4/+3
|
* Properly align the output limiter delay bufferChris Robinson2023-12-311-1/+1
|
* Use the proper allocator for EffectSlotArrayChris Robinson2023-12-311-1/+2
|
* Ensure HrtfStore alignment is large enoughChris Robinson2023-12-311-0/+4
|
* Avoid al_calloc/al_free for HrtfStoreChris Robinson2023-12-313-11/+12
|
* Avoid placement new for FlexArrayChris Robinson2023-12-311-17/+16
|
* Avoid placement new for the output limiterChris Robinson2023-12-313-88/+72
|
* Implement our own cache for MYSOFA_EASY objectsChris Robinson2023-12-311-14/+39
| | | | | | | This is to both fix the potential issue of libmysofa calling free() on memory we allocated with calloc (which can be an issue if it linked to a different C runtime), and work around the code checker thinking the MYSOFA_EASY object leaks when mysofa_close and mysofa_cache_store are taking ownership of it.
* Use a vector for the winmm wave buffer storageChris Robinson2023-12-301-11/+8
|
* Clean up some ugly pointer manipulation in the limiterChris Robinson2023-12-302-47/+51
|
* Don't apply the T60 filter on the initial late reverb inputChris Robinson2023-12-301-37/+46
|
* Replace some macrosChris Robinson2023-12-295-62/+70
|
* Move struct definitions to more appropriate headersChris Robinson2023-12-298-77/+95
|
* Clean up some potential allocation alignment mismatchesChris Robinson2023-12-292-23/+19
|
* Handle pointer ownership a bit betterChris Robinson2023-12-2914-91/+115
|
* Improve ownership handing with PFFFTChris Robinson2023-12-272-58/+36
|
* Try to start being a bit more pointer-owner consciousChris Robinson2023-12-2612-108/+115
|
* Clean up some gotos and non-optimal castsChris Robinson2023-12-2616-194/+190
|
* Avoid another assignment in an if statementChris Robinson2023-12-251-1/+2
|
* Use standard methods for roundingChris Robinson2023-12-254-10/+11
|
* Rework effect property handlingChris Robinson2023-12-2432-1310/+1136
| | | | To nake EffectProps a variant instead of a union, and avoid manual vtables.
* Use separate structs for the dedicated dialog/lfe effectsChris Robinson2023-12-237-56/+143
|
* Use a separate struct and union member for flanger propertiesChris Robinson2023-12-233-80/+101
|
* Avoid assignments in if conditionsChris Robinson2023-12-238-44/+62
|
* Fix implicit widening after multiplicationChris Robinson2023-12-2317-88/+90
|
* Pass the effect props directly to the eax committer functionsChris Robinson2023-12-2313-418/+236
| | | | Rather than the variant that was already checked for what it's holding.
* Avoid some template hackery for EAX effect type functionsChris Robinson2023-12-2212-215/+169
|
* Avoid a function-like macro for calling to EAX effectsChris Robinson2023-12-221-20/+35
|
* Replace a series of if statements with a switchChris Robinson2023-12-221-24/+16
|
* Use std::visit instead of manually checking the set typeChris Robinson2023-12-221-25/+15
|
* Remove an unnecessary std::maxChris Robinson2023-12-211-3/+2
|