Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Update some in-progress format enums | Chris Robinson | 2023-11-25 | 1 | -15/+15 |
| | |||||
* | 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 | 13 | -18/+129 |
| | | | | | | | | | | | | | | | | | | | * 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. | ||||
* | Start a 32-bit sample format extension | Chris Robinson | 2023-11-18 | 3 | -42/+89 |
| | | | | | 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 | 1 | -0/+1 |
| | |||||
* | Remove some explicit template parameters | Chris Robinson | 2023-11-10 | 1 | -8/+7 |
| | |||||
* | Use PFFFT for the pitch shifter | Chris Robinson | 2023-10-25 | 1 | -13/+36 |
| | |||||
* | Use a byte for the channel index | Chris Robinson | 2023-10-22 | 3 | -12/+12 |
| | |||||
* | 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 log failed config option lookups | Chris Robinson | 2023-10-19 | 1 | -5/+2 |
| | |||||
* | Avoid some unique and wrapper types | Chris Robinson | 2023-10-15 | 1 | -58/+33 |
| | |||||
* | Use the same stereo angles in convolution as normal mixing | Chris Robinson | 2023-10-15 | 1 | -19/+15 |
| | |||||
* | Use a span for a known array length instead of a raw pointer | Chris Robinson | 2023-10-15 | 9 | -30/+30 |
| | |||||
* | Ensure some variables are the same | Chris Robinson | 2023-10-15 | 1 | -21/+21 |
| | | | | And clean up some comments | ||||
* | Avoid an extra copy to calculate the convolution FFT | Chris Robinson | 2023-10-14 | 1 | -6/+5 |
| | |||||
* | Read the correct half-frequency bin | Chris Robinson | 2023-10-14 | 1 | -1/+1 |
| | |||||
* | Rename the convolution reverb effect to just convolution | Chris Robinson | 2023-10-12 | 3 | -6/+6 |
| | | | | | While the common use case, convolution can do more than just reverb, and it nicely shortens the name. | ||||
* | Add an orientation property for convolution reverb | Chris Robinson | 2023-10-12 | 1 | -1/+2 |
| | | | | Only affects ambisonic (B-Format and UHJ) formats | ||||
* | Add convolution effect properties to rotate ambisonic responses | Chris Robinson | 2023-10-12 | 1 | -3/+23 |
| | |||||
* | Attenuate the convolution filter instead of the filter result | Chris Robinson | 2023-10-11 | 1 | -9/+8 |
| | |||||
* | Make and use a separate zconvolve method without scaling | Chris Robinson | 2023-10-11 | 1 | -8/+7 |
| | | | | | | When you're doing hundreds or thousands of separate zconvolve calls into the same buffer, it's more efficient to do the multiply once at the end instead of in each call. | ||||
* | Use PFFFT for the convolution effect | Chris Robinson | 2023-10-06 | 1 | -40/+92 |
| | |||||
* | Improve ambisonic rotator coefficient accuracy | Chris Robinson | 2023-10-02 | 1 | -17/+38 |
| | |||||
* | Declare a missing variable | Chris Robinson | 2023-10-01 | 1 | -1/+1 |
| | |||||
* | Get the default WASAPI device on UWP | Chris Robinson | 2023-10-01 | 1 | -25/+14 |
| | |||||
* | Add a wrapper for COM initialization | Chris Robinson | 2023-09-29 | 2 | -34/+24 |
| | | | | | This helps ensure COM is initialized and deinitialized in order relative to other objects (e.g. ComPtr). | ||||
* | Ensure the WASAPI resample buffer is cleared when mixing starts | Chris Robinson | 2023-09-29 | 1 | -9/+6 |
| | | | | | Otherwise, stopping and restarting without resetting could leave it with invalid pointers. | ||||
* | Set the appropriate padding size | Chris Robinson | 2023-09-26 | 1 | -1/+1 |
| | | | | It's based on the original/stream size, not the ALCdevice's. | ||||
* | Constify some pointers to indicate they won't change | Chris Robinson | 2023-09-25 | 1 | -1/+1 |
| | |||||
* | Honor the wasapi allow-resampler option with spatial sound output | Chris Robinson | 2023-09-24 | 1 | -0/+4 |
| | |||||
* | Match the output sample rate if not requesting one | Chris Robinson | 2023-09-24 | 1 | -0/+4 |
| | |||||
* | Support resampling with WASAPI spatial audio output | Chris Robinson | 2023-09-24 | 1 | -14/+67 |
| | |||||
* | Fix cppwinrt exception type capture (#918) | Deal | 2023-09-23 | 1 | -1/+1 |
| | |||||
* | Avoid casting an integer literal | Chris Robinson | 2023-09-22 | 4 | -8/+8 |
| | |||||
* | UWP: migrate C++/CX to C++/WinRT (#916) | Deal | 2023-09-22 | 2 | -67/+66 |
| | |||||
* | Try to get the device period for spatial audio streams | Chris Robinson | 2023-09-21 | 1 | -30/+52 |
| | |||||
* | Don't assume the size of AudioObjectType | Chris Robinson | 2023-09-21 | 1 | -1/+1 |
| | |||||
* | Again try to fix handling an enum type | Chris Robinson | 2023-09-20 | 1 | -1/+2 |
| | |||||
* | Don't assume an enum's underlying type | Chris Robinson | 2023-09-20 | 1 | -1/+1 |
| | |||||
* | Fix MSVC compilation | Chris Robinson | 2023-09-20 | 1 | -0/+2 |
| | | | | MinGW's headers don't seem to define operator| for AudioObjectType. | ||||
* | Preliminary implementation of WASAPI spatial audio playback | Chris Robinson | 2023-09-20 | 1 | -161/+538 |
| | |||||
* | Replace some more unnecessary angles with vectors | Chris Robinson | 2023-09-18 | 1 | -47/+77 |
| | |||||
* | Store channel positions as vectors instead of angles | Chris Robinson | 2023-09-14 | 6 | -128/+173 |
| | | | | To avoid extraneous conversions between angles and vectors | ||||
* | Use a span instead of an auto&& to array | Chris Robinson | 2023-09-13 | 1 | -7/+7 |
| |