Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use RAII to handle writing under the mixer seqlock | Chris Robinson | 2023-12-04 | 6 | -32/+42 |
| | |||||
* | Remove some unnecessary atomic wrappers | Chris Robinson | 2023-12-03 | 14 | -33/+34 |
| | |||||
* | Replace a global function with a member function | Chris Robinson | 2023-12-03 | 9 | -18/+12 |
| | |||||
* | Make the device clock members atomic | Chris Robinson | 2023-12-03 | 5 | -25/+55 |
| | | | | | | Even though they're protected by a SeqLock of sorts, it's still UB to read and write non-atomic vars from different threads. It's fine to do relaxed reads and writes given the lock though, to help alleviate the cost. | ||||
* | fix printf format for MinGW (#942) | Rosen Penev | 2023-12-03 | 7 | -14/+14 |
| | | | | | | With gcc, mingw uses gnu_printf. With clang, printf is used as it does not support gnu_printf. Use the internal header to match this properly. Signed-off-by: Rosen Penev <[email protected]> | ||||
* | Adjust the secondary early reflections | Chris Robinson | 2023-12-02 | 1 | -6/+7 |
| | | | | | | | | | | | | | | This reduces the delay to provide a direct (no delay) line from the early reflections to the late reverb delay buffer. This also reduces the early reflection output gain by half. The reasoning here is that EFX seems to expect only one set of initial reflections, while we use two. And being close enough in time, nearly doubles the amount of output energy. This does seem to improve the "harshness" of certain reverbs, smoothing the difference between reverbs, and makes it more like other implementations (still some work to do on late reverb, though). | ||||
* | Avoid extra multiplies | Chris Robinson | 2023-12-01 | 1 | -3/+3 |
| | |||||
* | Rename the extension for 32-bit buffer formats | Chris Robinson | 2023-12-01 | 1 | -15/+15 |
| | |||||
* | feat(openal-info): Add values related to sources inside openal-info.c (#940) | MathiusD | 2023-12-02 | 1 | -0/+11 |
| | | | | | | | * feat(openal-info): Add values related to sources inside openal-info.c * fix(openal-info): Update display of nb of sources CF following comment : https://github.com/kcat/openal-soft/pull/940#discussion_r1409659608 | ||||
* | Update some in-progress format enums | Chris Robinson | 2023-11-25 | 1 | -15/+15 |
| | |||||
* | Cleanup the event support reporting | Chris Robinson | 2023-11-25 | 1 | -15/+9 |
| | |||||
* | Fix some unused parameter and unhandled enum warnings | Chris Robinson | 2023-11-25 | 6 | -59/+62 |
| | |||||
* | Fix some comments | Chris Robinson | 2023-11-25 | 1 | -3/+2 |
| | |||||
* | Add query fonction in ALC_SOFT_system_events unreleased extension (#938) | MathiusD | 2023-11-26 | 15 | -18/+184 |
| | | | | | | | | | | | | | | | | | | | * feat(ALC_SOFT_system_events): Add alcEventIsSupportedSOFT method in ALC_SOFT_system_events unreleased extension The purpose of this addition (to my collection) are allow to retrieve which events are supported and if events are fully supported or if some case isn't managed for some reason For exemple only some backends provide system events: * pipewire -> Full support of extension * wasapi -> Full support of extension * pulseaudio -> Support of add and remove devices events only * coreaudio -> Support of default device change only * feat(ALC_SOFT_system_events): Fix typo in alext.h Cf following review : https://github.com/kcat/openal-soft/pull/938#discussion_r1404509828 * feat(ALC_SOFT_system_events): Remove ALC_EVENT_NOT_SUPPORTED_SOFT token Cf following discussions between this comment : https://github.com/kcat/openal-soft/pull/938#issuecomment-1825876452 to this comment : https://github.com/kcat/openal-soft/pull/938#issuecomment-1826419406 | ||||
* | Do proper spatial reflection in reverb | Chris Robinson | 2023-11-22 | 1 | -16/+55 |
| | | | | | | Instead of "bouncing" the lines by indexing backwards for a not-quite-spatial- opposite, do a proper mix that moves each line response to its true spatial opposite position. | ||||
* | Compensate the late delay tap by the early delay buffer | Chris Robinson | 2023-11-22 | 1 | -1/+5 |
| | |||||
* | Don't combine both early reflection taps for the late reverb | Chris Robinson | 2023-11-21 | 1 | -2/+3 |
| | | | | | | | | | | | | | | | | | | | It doesn't make much sense to include both early reflections to feed the late reverb, since it increases the total energy in the reverb decay. This better fits with the design described in papers for this type of reverb, and seems to better match volume levels of hardware EAX/EFX reverb (though there are still some apparent differences). Note that this adds a bit more delay to the late reverb, specifically EARLY_LINE_LENGTHS[0] * density_mult. This can be compensated for somewhat by reducing the late reverb delay by that amount (clamping to a minimum of 0). Alternatively, adjust the delay lines for the second early tap to have a zero- delay pass-through line with 3 delay lines (as opposed to the current 4 delay lines), as suggested by the paper "ADAPTING ARTIFICIAL REVERBERATION ARCHITECTURES FOR B-FORMAT SIGNAL PROCESSING". Although doing so may require additional adjustments to the delay lengths and gains to avoid the 0-length lines accumulating unattenuated copies of the signal for the early reflection output. | ||||
* | Handle systems that don't support std::cyl_bessel_i | Chris Robinson | 2023-11-18 | 2 | -4/+89 |
| | |||||
* | Fix definition types | Chris Robinson | 2023-11-18 | 1 | -7/+7 |
| | |||||
* | Start a 32-bit sample format extension | Chris Robinson | 2023-11-18 | 4 | -119/+181 |
| | | | | | This ultimately is to properly distinguish and clarify formats being 32-bit integer and 32-bit float. | ||||
* | Support 32-bit int sample storage | Chris Robinson | 2023-11-15 | 6 | -0/+14 |
| | |||||
* | Make a couple global values/variables inline | Chris Robinson | 2023-11-11 | 2 | -8/+6 |
| | |||||
* | Remove some explicit template parameters | Chris Robinson | 2023-11-10 | 2 | -125/+124 |
| | |||||
* | Use the C++ standard's regular modified Bessel function | Chris Robinson | 2023-11-08 | 2 | -62/+6 |
| | |||||
* | Precompute a value used multiple times | Chris Robinson | 2023-11-07 | 1 | -19/+9 |
| | |||||
* | Remove an unnecessary struct member | Chris Robinson | 2023-11-04 | 2 | -5/+7 |
| | |||||
* | Don't apply the UHJ all-pass's first segment in the time domain | Chris Robinson | 2023-10-28 | 2 | -57/+33 |
| | | | | | Increases the delay by 128 samples, but replaces a time-domain convolution with a frequency-domain one. | ||||
* | Remove unnecessary extra macros | Chris Robinson | 2023-10-26 | 1 | -55/+37 |
| | |||||
* | Slightly simplify calculating the minimum phase output | Chris Robinson | 2023-10-26 | 1 | -4/+1 |
| | |||||
* | Don't make a float version of complex_fft | Chris Robinson | 2023-10-25 | 2 | -26/+19 |
| | |||||
* | Use PFFFT for the pitch shifter | Chris Robinson | 2023-10-25 | 1 | -13/+36 |
| | |||||
* | Print the HRTF used in openal-info | Chris Robinson | 2023-10-23 | 1 | -2/+17 |
| | |||||
* | Don't inline a destructor | Chris Robinson | 2023-10-22 | 2 | -0/+6 |
| | |||||
* | Use a byte for the channel index | Chris Robinson | 2023-10-22 | 4 | -21/+21 |
| | |||||
* | Update the downmix tables | Chris Robinson | 2023-10-21 | 1 | -66/+53 |
| | |||||
* | Use a dynamically resizing spa_pod_builder | Chris Robinson | 2023-10-21 | 1 | -14/+47 |
| | | | | Rather than relying on a fixed-size buffer | ||||
* | Remove an outdated comment | Chris Robinson | 2023-10-20 | 1 | -3/+0 |
| | |||||
* | Don't keep setting and reloading a struct member in a loop | Chris Robinson | 2023-10-20 | 1 | -2/+3 |
| | |||||
* | Don't log failed config option lookups | Chris Robinson | 2023-10-19 | 1 | -5/+2 |
| | |||||
* | Use a more appropriate type trait to remove a pointer | Chris Robinson | 2023-10-19 | 1 | -1/+1 |
| | |||||
* | Remove the output delay on the UHJ and SuperStereo IIR decoders | Chris Robinson | 2023-10-18 | 2 | -38/+53 |
| | |||||
* | Remove an unnecessary getter | Chris Robinson | 2023-10-17 | 1 | -11/+3 |
| | |||||
* | Combine some more VADD(VMUL(... into VMADD(... | Chris Robinson | 2023-10-17 | 1 | -48/+44 |
| | |||||
* | Mark some output buffer pointers as RESTRICT | Chris Robinson | 2023-10-16 | 1 | -15/+17 |
| | |||||
* | Fix WFX channel matching in uhjencoder | Chris Robinson | 2023-10-16 | 1 | -1/+1 |
| | |||||
* | Replace some function-like macros with real functions | Chris Robinson | 2023-10-16 | 1 | -117/+136 |
| | |||||
* | Avoid some macros that use inputs multiple times | Chris Robinson | 2023-10-16 | 1 | -25/+57 |
| | |||||
* | Constify some parameters | Chris Robinson | 2023-10-16 | 2 | -19/+24 |
| | |||||
* | Remove an unnecessary c_str() call | Chris Robinson | 2023-10-16 | 1 | -1/+1 |
| | |||||
* | Properly align a buffer given to PFFFT | Chris Robinson | 2023-10-15 | 1 | -4/+5 |
| |