Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | Add an extension to request stereo UHJ output | Chris Robinson | 2021-11-08 | 1 | -8/+32 |
| | |||||
* | Use a tri-state optional for the stereo output mode | Chris Robinson | 2021-10-24 | 1 | -15/+26 |
| | |||||
* | Pass a parameter to aluInitRenderer to specify UHJ output | Chris Robinson | 2021-10-23 | 1 | -1/+13 |
| | |||||
* | Use a flag to indicate headphone-like output | Chris Robinson | 2021-10-23 | 1 | -0/+14 |
| | |||||
* | Reduce the JACK and ALSA backend priority | Chris Robinson | 2021-08-14 | 1 | -6/+6 |
| | | | | | | | | | | | | | With the increased use of PipeWire, which offers JACK compatibility, the JACK backend has a higher potential to be auto-selected for users. However, due to the backend's inability to auto-configure output to the device format, this creates a less optimal out-of-the-box experience. Unfortunately this also means the JACK backend won't be used automatically when a real JACK server is running along with PulseAudio. While not ideal, this is probably the better of the two options, to have the user explicitly configure the library to use JACK when they really want to use it, instead of unwantingly selecting JACK because of PipeWire. | ||||
* | Implement PipeWire playback | Chris Robinson | 2021-08-06 | 1 | -1/+1 |
| | | | | | Not yet an auto-selected backend. This doesn't yet support enumeration, or matching the AL device format to the output. | ||||
* | Start a PipeWire backend | Chris Robinson | 2021-08-02 | 1 | -0/+6 |
| | | | | It's just a copy of the Null backend to start with | ||||
* | Use an optional bool instead of two tri-state enums | Chris Robinson | 2021-07-31 | 1 | -9/+9 |
| | |||||
* | Avoid 5.1Rear as its own channel configuration | Chris Robinson | 2021-07-30 | 1 | -9/+2 |
| | | | | | | It messes with 5.1 sources using direct channels, and the surround channels are supposed to map to the side labels. Individual backends can deal with the channel order/label differences, as they already do to a degree. | ||||
* | Add wrapper methods for getting device config values | Chris Robinson | 2021-06-23 | 1 | -23/+19 |
| | |||||
* | Allow querying ALC_ALL_DEVICES_SPECIFIER from loopback devices | Chris Robinson | 2021-06-22 | 1 | -1/+3 |
| | | | | | They only return the default/driver name, since loopback devices don't have a canonical name. | ||||
* | Rename alcontext.h and move some functions to context.cpp | Chris Robinson | 2021-04-27 | 1 | -431/+57 |
| | |||||
* | Move some functions to a more appropriate place | Chris Robinson | 2021-04-27 | 1 | -49/+0 |
| | |||||
* | Rename alcmain.h to device.h | Chris Robinson | 2021-04-27 | 1 | -1/+1 |
| | |||||
* | Move BufferStorage and Voice to core | Chris Robinson | 2021-04-27 | 1 | -1/+1 |
| | |||||
* | Move ContextBase and VoiceChange to core | Chris Robinson | 2021-04-27 | 1 | -1/+1 |
| | |||||
* | Partially implement an extension to hold sources on disconnect | Chris Robinson | 2021-04-26 | 1 | -0/+5 |
| | | | | | | | | Rather than stopping voices/sources when the device becomes disconnected, the context can be set to leave them alone. As a consequence, their state will remain as playing and they'll keep their last known sample offset indefinately. For applications mindful of this behavior, it will allow resetting or reopening the device to reconnect and automatically resume where it left off. | ||||
* | Move bformatdec to core | Chris Robinson | 2021-04-25 | 1 | -2/+2 |
| | |||||
* | Move async_event.h to core | Chris Robinson | 2021-04-25 | 1 | -1/+1 |
| | |||||
* | More include cleanup | Chris Robinson | 2021-04-24 | 1 | -1/+1 |
| | |||||
* | Don't bother with al string types | Chris Robinson | 2021-04-24 | 1 | -3/+3 |
| | |||||
* | Move the DeviceBase declaraction to core | Chris Robinson | 2021-04-24 | 1 | -11/+5 |
| | |||||
* | Create a base the ALCdevice and ALCcontext structs | Chris Robinson | 2021-04-24 | 1 | -43/+56 |
| | | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data. | ||||
* | Move hrtf.cpp/h to core | Chris Robinson | 2021-04-22 | 1 | -1/+1 |
| | |||||
* | Avoid using config methods in hrtf.cpp | Chris Robinson | 2021-04-22 | 1 | -9/+22 |
| | |||||
* | Move helpers.cpp to core | Chris Robinson | 2021-04-22 | 1 | -1/+1 |
| | |||||
* | Move declarations to a more appropriate header | Chris Robinson | 2021-04-22 | 1 | -6/+0 |
| | |||||
* | Print an error when starting the backend fails | Chris Robinson | 2021-04-20 | 1 | -0/+4 |
| |