Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Revert "Use std::exchange instead of two swaps" | Chris Robinson | 2022-02-22 | 1 | -1/+2 |
| | | | | This reverts commit aa19223c65d8693dbaa8d8c9fa0c129d77eed4de. | ||||
* | Implement EAX v1.0 (#664) | Boris I. Bendovsky | 2022-02-21 | 1 | -0/+75 |
| | |||||
* | Avoid a variable limit on EAX filters | Chris Robinson | 2022-02-18 | 1 | -8/+4 |
| | | | | | | I'll assume for now that the limits for the EAX properties will keep the filter gain from getting out of hand. The filter's gainhf is relative to the gain and is limited to 0dB max. | ||||
* | Use std::exchange instead of two swaps | Chris Robinson | 2022-02-15 | 1 | -2/+1 |
| | |||||
* | Add missing closing brace | Chris Robinson | 2022-02-14 | 1 | -1/+1 |
| | |||||
* | Don't access a playing voice's mFlags outside of the mixer thread | Chris Robinson | 2022-02-14 | 1 | -8/+2 |
| | | | | | It's updated asynchronously, and it's non-atomic, so it's unsafe to even read since the mixer thread may be modifying it. | ||||
* | Access the proper FX slot index | Chris Robinson | 2022-02-14 | 1 | -1/+1 |
| | |||||
* | Avoid some messy type-punning | Chris Robinson | 2022-02-14 | 1 | -29/+11 |
| | |||||
* | Derive EaxFxSlotIndex from an optional | Chris Robinson | 2022-02-14 | 1 | -2/+2 |
| | |||||
* | Avoid an unnecessary check | Chris Robinson | 2022-02-13 | 1 | -9/+6 |
| | |||||
* | Avoid more unnecessary atomics | Chris Robinson | 2022-02-13 | 1 | -2/+2 |
| | |||||
* | Fix error messages for AL_STEREO_MODE_SOFT | Chris Robinson | 2022-02-13 | 1 | -2/+4 |
| | |||||
* | Remove unnecessary IsPlayingOrPaused calls | Chris Robinson | 2022-02-13 | 1 | -42/+28 |
| | | | | | When followed by GetSourceVoice, a voice can only be returned if the source is playing or paused, making it redundant. | ||||
* | Remove an unused return type | Chris Robinson | 2022-02-13 | 1 | -54/+61 |
| | |||||
* | Don't make mPropsDirty atomic | Chris Robinson | 2022-02-13 | 1 | -16/+27 |
| | | | | It's only ever used under the ALCcontext::mPropLock mutex. | ||||
* | Commit source EAX properties when not deferring | Chris Robinson | 2022-02-13 | 1 | -61/+78 |
| | | | | And make sure they get committed when resuming processing. | ||||
* | Fix an exported symbol | Chris Robinson | 2022-02-12 | 1 | -1/+1 |
| | | | | | | The symbol only exists for compatibility due to it having been erroneously exported in previous versions (even though it shouldn't have been used directly, some apps could have). | ||||
* | Handle AirAbsorptionGainHF as a native context property | Chris Robinson | 2022-02-08 | 1 | -10/+1 |
| | |||||
* | Ensure sources update together from EAX commits | Chris Robinson | 2022-02-08 | 1 | -0/+9 |
| | | | | ... when a listener property change forces a commit. | ||||
* | Commit deferred EAX settings earlier when playing | Chris Robinson | 2022-02-08 | 1 | -10/+3 |
| | | | | Before the property update is supplied to the voice in InitVoice. | ||||
* | Be less agressive with source updates on EAX changes | Chris Robinson | 2022-02-08 | 1 | -31/+10 |
| | |||||
* | EAX various fixes (#657) | Boris I. Bendovsky | 2022-02-08 | 1 | -1/+49 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [EAX] Fix effect GUID validation Only NULL and REVERB was valid. * [EAX] Fix default FX slot flags EAX4 and EAX5 both sets to ENVIRONMENT. * [EAX] Set default values for legacy FX slots in the initialization * [EAX] Fix FX slot locking policy Fail on attempt to load an effect or change a lock for EAX4 "set" call. Unlock legacy FX slots on any EAX5 call. * [EAX] Allow DEFER flag for "get" calls. * [EAX] Make speaker configuration read-only * [EAX] Initialize speaker configuration * [EAX] Commit EAX source on a 3D source parameter call Reference: EAX 4.0 Programmer's Guide * [EAX] Commit EAX source on a 3D listener parameter call Reference: EAX 4.0 Programmer's Guide * [EAX] Commit source when it begins to play Reference: EAX 4.0 Programmer's Guide | ||||
* | Avoid a proxy ALfilter object for EAX source properties | Chris Robinson | 2022-02-07 | 1 | -125/+68 |
| | |||||
* | Avoid eax_al_source_i/f wrappers | Chris Robinson | 2022-02-07 | 1 | -53/+22 |
| | |||||
* | Move ALSOFT_EAX definition to config.h | Chris Robinson | 2022-01-30 | 1 | -8/+7 |
| | | | | 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/+2488 |
| | | | | | | | | | | | | | | | * 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 | ||||
* | Get rid of MathDefs | Chris Robinson | 2022-01-27 | 1 | -1/+0 |
| | |||||
* | Use a bitset instead of a plain uint for flags | Chris Robinson | 2021-12-23 | 1 | -8/+8 |
| | |||||
* | Set the voice's ambisonic order for playing super stereo | Chris Robinson | 2021-12-17 | 1 | -1/+1 |
| | |||||
* | Remove an unnecessary parameter | Chris Robinson | 2021-12-17 | 1 | -1/+1 |
| | |||||
* | Allocate voice properties in clusters | Chris Robinson | 2021-12-17 | 1 | -7/+7 |
| | |||||
* | Rename Voice::mNumChannels for clarity | Chris Robinson | 2021-12-15 | 1 | -1/+1 |
| | |||||
* | Add source properties for Super Stereo | Chris Robinson | 2021-12-15 | 1 | -23/+74 |
| | | | | | When playing a stereo format, enabling Super Stereo causes the source to behave as a B-Format source, with a variable width control. | ||||
* | Add an internal Super Stereo format | Chris Robinson | 2021-12-11 | 1 | -6/+3 |
| | | | | | | | It's not available as an AL buffer format (yet) since I'm not sure how to expose it. Internally it seems fine as a separate channel configuration, but because OpenAL combines the channel configuration and sample type, a flag may work better there. | ||||
* | Make the backend pointer part of ALCdevice instead of DeviceBase | Chris Robinson | 2021-11-19 | 1 | -2/+2 |
| | |||||
* | Make a construct_at method amd use it | Chris Robinson | 2021-10-08 | 1 | -1/+1 |
| | |||||
* | Silence some static analysis warnings | Chris Robinson | 2021-10-03 | 1 | -2/+4 |
| | |||||
* | Read the channel format from the correct object | Chris Robinson | 2021-07-13 | 1 | -2/+2 |
| | |||||
* | Add a UHJ-specific coefficient scaling array | Chris Robinson | 2021-07-13 | 1 | -1/+1 |
| | |||||
* | Don't allocate full buffer lines in each voice | Chris Robinson | 2021-06-21 | 1 | -4/+10 |
| | | | | | | There's now effectively a 16-channel limit for buffers (as determined by the number of elements in DeviceBase::mSampleData). Any more than that are ignored when mixing. | ||||
* | Avoid mixing extraneous channels | Chris Robinson | 2021-06-21 | 1 | -2/+7 |
| | |||||
* | Add back some more missing includes | Chris Robinson | 2021-04-27 | 1 | -0/+1 |
| | |||||
* | Rename alcontext.h and move some functions to context.cpp | Chris Robinson | 2021-04-27 | 1 | -1/+1 |
| | |||||
* | Rename alcmain.h to device.h | Chris Robinson | 2021-04-27 | 1 | -1/+1 |
| | |||||
* | Update include headers | Chris Robinson | 2021-04-27 | 1 | -5/+5 |
| | | | | Don't add alc/ to the include paths. | ||||
* | 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 | -14/+24 |
| | | | | | | | | 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 | -1/+1 |
| | |||||
* | Create a base the ALCdevice and ALCcontext structs | Chris Robinson | 2021-04-24 | 1 | -11/+11 |
| | | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data. | ||||
* | Fix dirty flag check | Chris Robinson | 2021-04-18 | 1 | -1/+1 |
| |