Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Set the proper reverb effect defaults for EAX | Chris Robinson | 2022-03-23 | 1 | -0/+25 | |
| | ||||||
* | Ensure the EAX functions are suitably aligned on 32-bit | Chris Robinson | 2022-03-16 | 1 | -2/+2 | |
| | ||||||
* | Make sure FX slots that aren't made active are disabled | Chris Robinson | 2022-03-13 | 1 | -9/+6 | |
| | ||||||
* | Fix X-RAM tracking | Chris Robinson | 2022-03-06 | 3 | -184/+116 | |
| | ||||||
* | Avoid a stateful unique_ptr deleter | Chris Robinson | 2022-03-05 | 2 | -28/+10 | |
| | ||||||
* | Fix EAXSOURCE_ROLLOFFFACTOR | Chris Robinson | 2022-03-05 | 2 | -2/+11 | |
| | | | | It should be added to AL_ROLLOFF_FACTOR. | |||||
* | Set the MacroFXFactor default | Chris Robinson | 2022-03-05 | 1 | -0/+1 | |
| | ||||||
* | Simplify committing EAX properties | Chris Robinson | 2022-03-05 | 17 | -1054/+323 | |
| | | | | | | Based on DirectSound's EAX behavior, committing any EAX property commits *all* deferred property changes, not just the object being changed. So applying EAX changes can be handled in one place. | |||||
* | Handle deferring for EAX 1 reverb | Chris Robinson | 2022-03-04 | 1 | -351/+212 | |
| | | | | | I don't know if EAX 1 actually handles deferring updates, but it will simplify future changes. | |||||
* | Ensure deferred EAX effect properties are committed | Chris Robinson | 2022-03-04 | 16 | -57/+84 | |
| | ||||||
* | Remove AL_SOFTX_filter_gain_ex | Chris Robinson | 2022-02-28 | 1 | -5/+3 | |
| | | | | | | It was only added to try to help DSOAL, and it's not clear if it's even necessary. But with native EAX API support, it certainly isn't necessary anymore. | |||||
* | Make some local constexpr variables static | Chris Robinson | 2022-02-23 | 3 | -4/+4 | |
| | ||||||
* | Revert "Use std::exchange instead of two swaps" | Chris Robinson | 2022-02-22 | 1 | -1/+2 | |
| | | | | This reverts commit aa19223c65d8693dbaa8d8c9fa0c129d77eed4de. | |||||
* | Remove unused dirty flags | Chris Robinson | 2022-02-21 | 1 | -13/+0 | |
| | ||||||
* | Remove a couple extraneous externs | Chris Robinson | 2022-02-21 | 1 | -2/+2 | |
| | ||||||
* | Implement EAX v1.0 (#664) | Boris I. Bendovsky | 2022-02-21 | 8 | -59/+566 | |
| | ||||||
* | Inline a couple more equality operators | Chris Robinson | 2022-02-20 | 4 | -48/+15 | |
| | ||||||
* | 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 | |
| | ||||||
* | Remove some unnecessary includes | Chris Robinson | 2022-02-14 | 1 | -2/+0 | |
| | ||||||
* | Move some declarations to where the definitions will see | Chris Robinson | 2022-02-14 | 2 | -15/+13 | |
| | ||||||
* | Simplify EaxEaxCall::EaxEaxCall | Chris Robinson | 2022-02-14 | 2 | -48/+33 | |
| | ||||||
* | Avoid some const_casts | Chris Robinson | 2022-02-14 | 1 | -9/+6 | |
| | ||||||
* | Derive EaxFxSlotIndex from an optional | Chris Robinson | 2022-02-14 | 5 | -142/+35 | |
| | ||||||
* | Use memcmp to compare GUIDs | Chris Robinson | 2022-02-13 | 1 | -19/+5 | |
| | | | | | | Clang at least optimizes the old version horribly, doing each individual check (with short-circuiting) as written. In comparison, this memcmp gets inlined using only a few SIMD instructions (on capable targets). | |||||
* | Avoid an unnecessary check | Chris Robinson | 2022-02-13 | 1 | -9/+6 | |
| | ||||||
* | Avoid more unnecessary atomics | Chris Robinson | 2022-02-13 | 6 | -29/+29 | |
| | ||||||
* | 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 | 2 | -17/+28 | |
| | | | | It's only ever used under the ALCcontext::mPropLock mutex. | |||||
* | Commit source EAX properties when not deferring | Chris Robinson | 2022-02-13 | 2 | -64/+81 | |
| | | | | 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). | |||||
* | Don't hide EAX functions behind a context | Chris Robinson | 2022-02-10 | 1 | -118/+0 | |
| | | | | | | | 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. | |||||
* | Avoid some unnecessary extern "C" | Chris Robinson | 2022-02-10 | 1 | -31/+31 | |
| | ||||||
* | Handle AirAbsorptionGainHF as a native context property | Chris Robinson | 2022-02-08 | 1 | -10/+1 | |
| | ||||||
* | Combine listener and context updates | Chris Robinson | 2022-02-08 | 3 | -55/+21 | |
| | ||||||
* | Apply updates for EAX context properties | Chris Robinson | 2022-02-08 | 2 | -27/+0 | |
| | ||||||
* | Ensure sources update together from EAX commits | Chris Robinson | 2022-02-08 | 3 | -12/+40 | |
| | | | | ... 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 | |
| | ||||||
* | Fix sign of ALeffectslot::eax_get_eax_default_lock's return type | Chris Robinson | 2022-02-08 | 2 | -2/+2 | |
| | ||||||
* | Hold mPropLock when deferring updates | Chris Robinson | 2022-02-08 | 1 | -0/+2 | |
| | ||||||
* | EAX various fixes (#657) | Boris I. Bendovsky | 2022-02-08 | 8 | -67/+133 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [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 | 4 | -284/+78 | |
| | ||||||
* | Avoid eax_al_source_i/f wrappers | Chris Robinson | 2022-02-07 | 2 | -63/+22 | |
| |