Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Rework reverb fading to toggle between pipelines | Chris Robinson | 2022-12-17 | 1 | -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 flags | Chris Robinson | 2022-12-16 | 6 | -33/+35 | |
| | ||||||
* | Avoid inlining certain exception functions | Chris Robinson | 2022-12-16 | 9 | -38/+42 | |
| | ||||||
* | Avoid extraneous temporaries when filling vectors | Chris Robinson | 2022-12-15 | 5 | -9/+29 | |
| | ||||||
* | Fix paths for creating the archive | Chris Robinson | 2022-12-15 | 1 | -2/+2 | |
| | ||||||
* | Build with PipeWire in GitHub CI | Chris Robinson | 2022-12-15 | 1 | -1/+3 | |
| | ||||||
* | Include the router in the github actions archive | Chris Robinson | 2022-12-15 | 1 | -1/+11 | |
| | ||||||
* | Define a destructor as default instead of empty | Chris Robinson | 2022-12-15 | 1 | -1/+1 | |
| | ||||||
* | Better handle span sources from iterators | Chris Robinson | 2022-12-14 | 5 | -28/+75 | |
| | ||||||
* | Avoid manually specifying FFT template parameters | Chris Robinson | 2022-12-14 | 6 | -26/+47 | |
| | ||||||
* | Implement an al::unreachable wrapper/helper | Chris Robinson | 2022-12-13 | 3 | -11/+22 | |
| | ||||||
* | Rename a potentially confusing member function | Chris Robinson | 2022-12-08 | 5 | -11/+11 | |
| | ||||||
* | Limit voice update fading length to 64 samples | Chris Robinson | 2022-12-08 | 1 | -13/+7 | |
| | ||||||
* | Avoid setting PipeWire stream properties with separate calls | Chris Robinson | 2022-12-06 | 1 | -12/+11 | |
| | ||||||
* | Avoid using a macro to wrap standard attributes | Chris Robinson | 2022-12-06 | 34 | -502/+494 | |
| | ||||||
* | Don't warn for attributes being in a later standard | Chris Robinson | 2022-12-05 | 1 | -0/+5 | |
| | | | | | | | | | | C++ specifies that unknown attributes should be ignored and aren't an error. Clang issues a warning when encountering a known attribute from newer standard version than the target version. GCC recognizes attributes from newer standard versions it's aware of, allowing improved compilation capabilities. Hopefully Clang (and MSVC) will take advantage since it recognizes them, even if they weren't standardized for the target version, but there's no need to warn about known attributes in either case. | |||||
* | Avoid LIKELY/UNLIKELY macros | Chris Robinson | 2022-12-05 | 8 | -171/+169 | |
| | ||||||
* | Avoid some uses of the LIKELY/UNLIKELY macros | Chris Robinson | 2022-12-05 | 15 | -214/+217 | |
| | ||||||
* | Use standard likely/unlikely attributes when available | Chris Robinson | 2022-12-05 | 19 | -155/+141 | |
| | ||||||
* | Use the correct variable for reading the WASAPI playback rate | Chris Robinson | 2022-12-05 | 1 | -2/+2 | |
| | ||||||
* | Fix building with PipeWire 0.3.49 and earlier | Chris Robinson | 2022-12-02 | 1 | -0/+19 | |
| | ||||||
* | Add more formats for displaying in examples | Chris Robinson | 2022-11-29 | 1 | -0/+35 | |
| | ||||||
* | Add missing device_clock/source_latency enums for querying | Chris Robinson | 2022-11-29 | 1 | -0/+9 | |
| | ||||||
* | Use the existing common FFT functions in makemhr | Chris Robinson | 2022-11-27 | 2 | -84/+16 | |
| | ||||||
* | Use complex floats for convolution reverb FFTs | Chris Robinson | 2022-11-24 | 5 | -37/+49 | |
| | ||||||
* | Avoid returning an array for constexpr tables | Chris Robinson | 2022-11-24 | 1 | -38/+35 | |
| | ||||||
* | Avoid overriding main with SDL | Chris Robinson | 2022-11-23 | 3 | -2/+12 | |
| | ||||||
* | Don't prematurely change ALCdevice::BufferSize | Chris Robinson | 2022-11-22 | 1 | -7/+11 | |
| | ||||||
* | Fix WASAPI capture handling the background COM thread | Chris Robinson | 2022-11-19 | 1 | -18/+30 | |
| | ||||||
* | Update alsoft-config for new options | Chris Robinson | 2022-11-17 | 2 | -51/+89 | |
| | ||||||
* | Remove unnecessary use of SDL2_INCLUDE_DIR | Chris Robinson | 2022-11-16 | 1 | -2/+0 | |
| | ||||||
* | Add GitHub actions workflow to build utils/makemhr on update (#783) | 3DJ | 2022-11-16 | 1 | -0/+76 | |
| | | | | | | | | * Build utils/makemhr on update This workflow builds makemhr.exe including dependencies (libmysofa, zlib, etc) whenever anything under utils/makemhr or the workflow is updated. It also uploads artifacts and [(pre)releases it with its own tag](https://github.com/ThreeDeeJay/openal-soft/releases/tag/makemhr) for a [permanent, up-to-date download link](https://github.com/ThreeDeeJay/openal-soft/releases/download/makemhr/makemhr.zip). * Clone latest libmysofa release tag without history | |||||
* | Fix router not loading on Creative's hardware OpenAL (#773) | Felipe | 2022-11-16 | 1 | -12/+22 | |
| | | | | | | | | | | | | | | | According to the programming guide and the specification, those functions may be used by extensions. However, Creative's hardware OpenAL chose to not implement stub functions for those that they do not use. Currently they use only alBufferi for X-RAM related functions. Other implementations, such as OpenAL Soft and wrap_oal implement stub functions for those methods therefore they work. This commit turns those functions optional, just like they were in the old FOSS router. Consumers of the router will receive a nullptr as expected for not implemented methods if they load them using alGetProcAddress, which I believe is the correct way to do so. That is, the context must be current before loading al* functions. | |||||
* | Avoid a use-after-free in the ALSA backend | Chris Robinson | 2022-11-16 | 1 | -12/+12 | |
| | ||||||
* | Use SDL2's sdl2-config.cmake | Chris Robinson | 2022-11-16 | 2 | -199/+11 | |
| | | | | Instead of our own custom FindSDL2.cmake | |||||
* | Avoid unnecessary duplicate CMake variables | Chris Robinson | 2022-11-16 | 2 | -11/+2 | |
| | | | | | This should make FindPulseAudio.cmake more compatible with PulseAudio's own PulseAudioConfig.cmake. | |||||
* | Use the correct frame size for WASAPI resampling | Chris Robinson | 2022-11-13 | 1 | -2/+2 | |
| | ||||||
* | Avoid a potential unsigned underflow | Chris Robinson | 2022-11-13 | 1 | -1/+1 | |
| | ||||||
* | Change a function to a static method | Chris Robinson | 2022-11-13 | 4 | -9/+9 | |
| | ||||||
* | Avoid duplicate checks and calculations | Chris Robinson | 2022-11-13 | 1 | -12/+8 | |
| | ||||||
* | Add a config option to prevent WASAPI from using a resampler | Chris Robinson | 2022-11-12 | 2 | -1/+13 | |
| | ||||||
* | Add a resampler to WASAPI output | Chris Robinson | 2022-11-12 | 1 | -10/+75 | |
| | | | | | | | This allows mixing at various samples rates that WASAPI doesn't otherwise support. This is mostly helpful for users that have unnecessarily high device rates (96 or 192khz), and lets the ALC_FREQUENCY attribute or frequency config option set a lower mixing rate for more efficient processing. | |||||
* | Fix SampleConverter source read count | Chris Robinson | 2022-11-12 | 2 | -47/+23 | |
| | ||||||
* | Add a method for the input sample delay for the SampleConverter | Chris Robinson | 2022-11-12 | 2 | -1/+14 | |
| | ||||||
* | Dynamically start/stop the WASAPI message thread | Chris Robinson | 2022-11-12 | 1 | -86/+117 | |
| | ||||||
* | Try to detect the update and buffer size from PipeWire | Chris Robinson | 2022-11-08 | 1 | -4/+45 | |
| | ||||||
* | Make sure sio_write and sio_read return valid values | Chris Robinson | 2022-11-07 | 1 | -5/+12 | |
| | ||||||
* | Support different input channel orders in uhjencoder | Chris Robinson | 2022-11-04 | 1 | -12/+39 | |
| | ||||||
* | Add preliminary support for 7.1.4 output modes | Chris Robinson | 2022-11-03 | 19 | -6/+201 | |
| | | | | | | | | I don't know how different sound APIs handle 7.1.4 ("Atmos" or "Auro3D") output, but currently it simply specifies the additional channels with the height channel labels. This isn't likely how it works for a virtualized channel bed, for playing over other with-height configurations (7.1.2, 5.1.4, etc), but this should be an okay start. | |||||
* | Add functions to start sources at a particular device time | Chris Robinson | 2022-11-03 | 4 | -161/+247 | |
| | | | | | | | | This starts a source at a particular device clock time, rounded to the nearest sample (really, 4th sample for SIMD reasons), allowing to start a sound at a particular point in the output instead of the next update. Unlike using negative offsets, this is not affected by pitch/velocity. |