Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Rename the UHJ filter config option | Chris Robinson | 2022-08-09 | 1 | -2/+2 |
| | |||||
* | Add an option for higher quality UHJ filters | Chris Robinson | 2022-08-08 | 1 | -14/+26 |
| | |||||
* | Parameterize the UHJ filter length | Chris Robinson | 2022-08-07 | 1 | -2/+2 |
| | |||||
* | Don't store and manage wet buffers separately | Chris Robinson | 2022-07-15 | 1 | -7/+13 |
| | |||||
* | Allocate EffectSlots in clusters | Chris Robinson | 2022-07-15 | 1 | -0/+14 |
| | |||||
* | Dynamically allocate EffectSlot objects | Chris Robinson | 2022-07-15 | 1 | -2/+2 |
| | |||||
* | Add a config compat option for NFC distance scaling | Chris Robinson | 2022-07-07 | 1 | -1/+1 |
| | | | | | | | | | | | | Currently there's no way for an application to specify the "real world" scale for in-game units. If the game doesn't use one unit to represent what should be perceived as one meter to the user, the NFC filter's effect will be too near or too far sounding. This allows adjusting the unit scale as applied to the NFC filters only, correcting the misalignment. This also removes the influence of EFX's MetersPerUnit from the NFC filters, since many games don't use it, and those that do won't know it also influences the perceived wave curvature along with the air absorption strength. | ||||
* | Use an inline function instead of a function-like macro | Chris Robinson | 2022-06-12 | 1 | -6/+7 |
| | |||||
* | Disable EAX if the Chorus effect is disabled | Chris Robinson | 2022-06-10 | 1 | -2/+7 |
| | |||||
* | Increase the priority of the ALSA backend | Chris Robinson | 2022-06-04 | 1 | -3/+3 |
| | | | | | | | | | So that it's tried before sndio. Many Linux systems seem to have libsndio installed as a hard dependency from SDL2, but not the server component to actually make it work. And because there's no way to test if it's usable without opening a device, the backend would get selected over ALSA and subsequently fail to work. As a result, Linux users that don't use PipeWire or PulseAudio would have to explicitly configure for ALSA. | ||||
* | Ensure enough default sends for EAX with the config option set | Chris Robinson | 2022-05-27 | 1 | -10/+24 |
| | |||||
* | Move EAX files to their own sub-directory | Chris Robinson | 2022-05-16 | 1 | -2/+2 |
| | |||||
* | Handle 3D7.1 as a separate channel configuration | Chris Robinson | 2022-04-26 | 1 | -0/+4 |
| | | | | | | | It's treated as 5.1 + 2 aux channels. This allows AL_DIRECT_CHANNELS_SOFT to behave better, not forwarding rear left/right channel inputs to lower front and upper rear, and allows reporting a more appropriate output mode to the app instead of 7.1. | ||||
* | Finalize ALC_SOFT_output_mode | Chris Robinson | 2022-04-17 | 1 | -1/+1 |
| | |||||
* | Use a bool type for boolean parameters | Chris Robinson | 2022-04-16 | 1 | -1/+1 |
| | |||||
* | Include ALC_OUTPUT_MODE_SOFT with ALC_ALL_ATTRIBUTES | Chris Robinson | 2022-04-16 | 1 | -4/+10 |
| | |||||
* | Update the ALC_SOFT_output_mode surround enums | Chris Robinson | 2022-04-15 | 1 | -0/+3 |
| | | | | | | The values are identical to the matching loopback channel configuration enums, so for example ALC_5POINT1_SOFT is interchangable with ALC_SURROUND_5_1_SOFT, this is simply providing a cleaner styling for potential future modes. | ||||
* | Fix ALC_SOFT_reopen_device for the null device extension list | Chris Robinson | 2022-04-01 | 1 | -1/+1 |
| | |||||
* | Finalize ALC_SOFT_reopen_device | Chris Robinson | 2022-04-01 | 1 | -1/+1 |
| | |||||
* | Remove the reversed all-pass trick in MixDirectHrtfBase | Chris Robinson | 2022-03-30 | 1 | -2/+0 |
| | | | | Given the minimum phase HRTF, it's not going to stay linear phase anyway. | ||||
* | Make and use a Default enum for StereoEncoding | Chris Robinson | 2022-03-29 | 1 | -6/+6 |
| | |||||
* | Rename ALC_STEREO_PLAIN_SOFT and don't duplicate ALC_HRTF_SOFT | Chris Robinson | 2022-03-29 | 1 | -3/+3 |
| | |||||
* | Handle more modes with the ALC_OUTPUT_MODE_SOFT attribute | Chris Robinson | 2022-03-23 | 1 | -180/+207 |
| | |||||
* | Better ensure attributes are properly traced | Chris Robinson | 2022-03-17 | 1 | -28/+15 |
| | |||||
* | Fix tracing the ALC_OUTPUT_MODE_SOFT attribute | Chris Robinson | 2022-03-17 | 1 | -1/+1 |
| | |||||
* | Add options to reverse local X and Y coordinates | Chris Robinson | 2022-03-10 | 1 | -7/+13 |
| | | | | | To go along with reverse-z on the other axii. This is only for games that have position/orientation errors causing top-bottom (or left-right) inversion. | ||||
* | Add a config option for reverse-z | Chris Robinson | 2022-03-10 | 1 | -1/+11 |
| | | | | | | The same as the __ALSOFT_REVERSE_Z env var, but in the config file. Should only be used for per-game config files (either along side the executable, or setting the ALSOFT_CONF env var when launching the app). | ||||
* | Make some local constexpr variables static | Chris Robinson | 2022-02-23 | 1 | -24/+18 |
| | |||||
* | Avoid more unnecessary atomics | Chris Robinson | 2022-02-13 | 1 | -1/+1 |
| | |||||
* | Don't make mPropsDirty atomic | Chris Robinson | 2022-02-13 | 1 | -1/+1 |
| | | | | It's only ever used under the ALCcontext::mPropLock mutex. | ||||
* | Don't hide EAX functions behind a context | Chris Robinson | 2022-02-10 | 1 | -4/+28 |
| | | | | | | | The standard says a function being returned doesn't necessarily mean it's usable, and calling them will return failure if called when not usable. The config option still prevents it from being returned, to better hide it when disabled globally. | ||||
* | Combine listener and context updates | Chris Robinson | 2022-02-08 | 1 | -3/+0 |
| | |||||
* | Hold mPropLock when deferring updates | Chris Robinson | 2022-02-08 | 1 | -0/+6 |
| | |||||
* | DisabledEffects won't change so EAX can just check it once | Chris Robinson | 2022-02-08 | 1 | -0/+5 |
| | |||||
* | Don't pass an ALeffect to ALeffectslot::initEffect | Chris Robinson | 2022-02-07 | 1 | -1/+3 |
| | |||||
* | Move ALSOFT_EAX definition to config.h | Chris Robinson | 2022-01-30 | 1 | -4/+4 |
| | | | | And disable it by default for non-Windows targets | ||||
* | Add EAX extensions (EAX 2.0-5.0, X-RAM) (#632) | Boris I. Bendovsky | 2022-01-30 | 1 | -0/+44 |
| | | | | | | | | | | | | | | | * Add EAX extensions (EAX 2.0-5.0, X-RAM) * Comment out C++17 leftovers * Remove everything related to patching * Update alsoftrc.sample * Rewrite integration * Fix GCC compilation under Linux * Always reset EAX effect properties when loading it into FX slot | ||||
* | Add an ambi-format option for ACN ordering and FuMa scaling | Chris Robinson | 2022-01-12 | 1 | -0/+15 |
| | |||||
* | Trace the device format after starting playback | Chris Robinson | 2021-12-27 | 1 | -0/+7 |
| | | | | | Some devices can change it when starting, so it's useful to know what the device configuration is when that happens. | ||||
* | Increase the priority of the PipeWire backend | Chris Robinson | 2021-12-25 | 1 | -6/+6 |
| | |||||
* | Don't do direct channels with UHJ output | Chris Robinson | 2021-12-21 | 1 | -20/+14 |
| | | | | | | | | | | Directly mixing a non-UHJ stereo signal into a UHJ stereo signal results in a non-UHJ stereo signal. Such a mix can't be properly decoded anymore. An option can probably be added for users that intend to listen to UHJ output undecoded and let a stereo sound come through as-is on their speakers, but it probably shouldn't be the default for cases where the output may be decoded back. | ||||
* | Work around a MinGW thread_local bug | Chris Robinson | 2021-12-20 | 1 | -7/+7 |
| | | | | | | | | | | MinGW-w64 generates bad code when accessing extern thread_local objects. Wrapper functions are used to ensure it only accesses them from the same place they're defined. This unfortunately adds a bit of overhead for what should be a relatively simple thing. These functions are inlined for non-MinGW targets, avoiding the overhead on non-affected targets. | ||||
* | Move the effects base and effectslot to core | Chris Robinson | 2021-12-17 | 1 | -2/+2 |
| | |||||
* | Allocate voice properties in clusters | Chris Robinson | 2021-12-17 | 1 | -13/+8 |
| | |||||
* | Add source properties for Super Stereo | Chris Robinson | 2021-12-15 | 1 | -0/+4 |
| | | | | | When playing a stereo format, enabling Super Stereo causes the source to behave as a B-Format source, with a variable width control. | ||||
* | Avoid initializing the NFC filter for every voice channel | Chris Robinson | 2021-12-11 | 1 | -0/+1 |
| | | | | | | It can be initialized once with the device's speaker distance since it won't change in between resets, then copied into the voice where it can be adjusted as needed. | ||||
* | Return true from alcReopenDeviceSOFT if the new device opened | Chris Robinson | 2021-11-21 | 1 | -4/+29 |
| | |||||
* | Make the backend pointer part of ALCdevice instead of DeviceBase | Chris Robinson | 2021-11-19 | 1 | -3/+3 |
| | |||||
* | Consolidate some variable state | Chris Robinson | 2021-11-17 | 1 | -50/+47 |
| | |||||
* | Always lock the device state when querying device attributes | Chris Robinson | 2021-11-16 | 1 | -32/+10 |
| |