Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Avoid using a macro to wrap standard attributes | Chris Robinson | 2022-12-06 | 1 | -135/+135 |
| | |||||
* | Avoid LIKELY/UNLIKELY macros | Chris Robinson | 2022-12-05 | 1 | -119/+119 |
| | |||||
* | Use standard likely/unlikely attributes when available | Chris Robinson | 2022-12-05 | 1 | -18/+18 |
| | |||||
* | Add functions to start sources at a particular device time | Chris Robinson | 2022-11-03 | 1 | -161/+234 |
| | | | | | | | | 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. | ||||
* | Add the ability to start a voice at a particular time | Chris Robinson | 2022-11-03 | 1 | -0/+2 |
| | |||||
* | int64_t max can't fit into a double without narrowing | Chris Robinson | 2022-11-02 | 1 | -6/+0 |
| | |||||
* | Handle negative voice positions | Chris Robinson | 2022-11-02 | 1 | -36/+66 |
| | | | | | | This allows a voice/source to start with a delay, more accurately than simply waiting to call alSourcePlay. The delay is affected by pitch and velocity, making it useful to simulate distant sounds that take time to be heard. | ||||
* | Remove a redundant check | Chris Robinson | 2022-07-17 | 1 | -3/+0 |
| | | | | | | If src_occlusion_mb is 0, it'll be multiplied with whatever the ratio ends up being, which will result in 0 anyway. A number of uses also already check the occlusion value before calling the method. | ||||
* | Fix parameter signedness | Chris Robinson | 2022-07-17 | 1 | -1/+1 |
| | |||||
* | [EAX_SOURCE] Fix source's occlusion and exclusion contribution | Boris I. Bendovsky | 2022-07-17 | 1 | -17/+44 |
| | | | | Source's oclussion and exclusion properties should be taken into account only for listener's environment (see p. 16, p. 56, pp. 62-63 and p. 64 of "EAX® 4.0 Programmer’s Guide"). | ||||
* | [EAX_SOURCE] Skip occlusion calculation if occlusion property is zero | Boris I. Bendovsky | 2022-07-17 | 1 | -3/+7 |
| | |||||
* | [EAX_SOURCE] Fix Room and RoomHF contribution | Boris I. Bendovsky | 2022-07-17 | 1 | -2/+3 |
| | | | | Those properties should be taken into account only for environmental effect slot (see pp. 60-61 of "EAX® 4.0 Programmer’s Guide"). | ||||
* | [EAX_SOURCE] Fix getting active FX slot IDs | Boris I. Bendovsky | 2022-07-17 | 1 | -2/+11 |
| | |||||
* | [EAX_FX_SLOT] Fix slot's occlusion contribution | Boris I. Bendovsky | 2022-07-17 | 1 | -1/+3 |
| | |||||
* | Dynamically allocate EffectSlot objects | Chris Robinson | 2022-07-15 | 1 | -2/+2 |
| | |||||
* | Don't always activate the EAX primary effect slot for sources | Chris Robinson | 2022-07-06 | 1 | -14/+22 |
| | | | | | The context's primary effect slot should only be considered when the source's active slot IDs include the primary effect slot. | ||||
* | Combine multiple individual flags | Chris Robinson | 2022-06-19 | 1 | -48/+32 |
| | |||||
* | Track EAX1 source changes | Chris Robinson | 2022-06-19 | 1 | -9/+6 |
| | | | | | | Even though it's only a single value, this allows for not having to explicitly track version changes, since the version being changed to will always have a property change, implicitly marking an EAX update/commit for the source. | ||||
* | Avoid changing the EAX version on failure | Chris Robinson | 2022-06-18 | 1 | -3/+2 |
| | |||||
* | Fix inverted checks | Chris Robinson | 2022-06-18 | 1 | -4/+4 |
| | |||||
* | Don't mark the EAX version changed when getting properties | Chris Robinson | 2022-06-18 | 1 | -4/+5 |
| | |||||
* | Avoid a full struct compare to check for changes | Chris Robinson | 2022-06-18 | 1 | -10/+15 |
| | |||||
* | Fix checking if the primary effect slot changed | Chris Robinson | 2022-06-18 | 1 | -6/+1 |
| | |||||
* | [EAX] Add separate source state for each version (#720) | Boris I. Bendovsky | 2022-06-18 | 1 | -1959/+823 |
| | |||||
* | [EAX] Add separate effect state for each version (#705) | Boris I. Bendovsky | 2022-05-24 | 1 | -166/+197 |
| | | | | | * [EAX] Add separate effect state for each version * [EAX] Don't use EAX call as data member | ||||
* | Move EAX files to their own sub-directory | Chris Robinson | 2022-05-16 | 1 | -1/+1 |
| | |||||
* | Avoid some explicit extern "C"s on function definitions | Chris Robinson | 2022-03-31 | 1 | -1/+1 |
| | |||||
* | Replace a few asserts with actual checks or ASSUME() | Chris Robinson | 2022-03-30 | 1 | -6/+6 |
| | |||||
* | Inline a couple dispatch calls | Chris Robinson | 2022-03-26 | 1 | -13/+0 |
| | |||||
* | Make sure FX slots that aren't made active are disabled | Chris Robinson | 2022-03-13 | 1 | -9/+6 |
| | |||||
* | Fix EAXSOURCE_ROLLOFFFACTOR | Chris Robinson | 2022-03-05 | 1 | -2/+6 |
| | | | | 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 | 1 | -6/+0 |
| | | | | | | 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. | ||||
* | 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). |