Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Don't allow queueing a buffer with no format | Chris Robinson | 2023-03-12 | 1 | -10/+18 | |
| | ||||||
* | Don't commit EAX updates in applyAllUpdates | Chris Robinson | 2023-03-11 | 1 | -32/+9 | |
| | | | | | | | | | | To avoid alcProcessContext causing deferred EAX properties to be committed. This simplifies updates when EAX has been initialized, but never or rarely used. Committing now always occurs in EAXSet when the property is non-deferred, updating the OpenAL object(s) with it (with OpenAL's updates then being applied based on the context's defer state). | |||||
* | Don't assume the max property size unchecked for user pointers | Chris Robinson | 2023-03-06 | 1 | -56/+193 | |
| | ||||||
* | Don't get the front element of an empty queue | Chris Robinson | 2023-03-05 | 1 | -1/+4 | |
| | ||||||
* | Report the current buffer ID of a streaming source | Chris Robinson | 2023-03-05 | 1 | -2/+13 | |
| | | | | | | The AL_BUFFER query should only return the buffer that was set on a static source, but some apps used it to detect when a current buffer of a streaming source changed instead of AL_BUFFERS_PROCESSED. | |||||
* | Use macros for the likely/unlikely attributes | Chris Robinson | 2023-03-01 | 1 | -136/+136 | |
| | | | | | The syntax parser for GCC 8 (and earlier?) fails when these attributes are in certain places. | |||||
* | Don't start with fading for negative offsets | Chris Robinson | 2023-02-18 | 1 | -2/+4 | |
| | ||||||
* | Track the callback buffer base separately | Chris Robinson | 2023-02-18 | 1 | -0/+1 | |
| | | | | | Instead of recalculating it all the time, even for sources that don't use callback buffers. | |||||
* | Support IMA4 ADPCM as a mixing voice format | Chris Robinson | 2023-02-14 | 1 | -12/+15 | |
| | ||||||
* | Don't set an EAX version by default for sources | Chris Robinson | 2023-02-05 | 1 | -26/+8 | |
| | | | | | | | | | Presuming sources start in a neutral state for EAX effects, that is they're not affected by EAX by default, there's no need to set an active EAX state for one until the app sets an EAX property on it. Since the deferred and immediate properties are stored independently per-version, they can always be set to defaults, and simply not have a particular version committed as active until the app sets an EAX property, which will inherently set the active version. | |||||
* | Don't force an update if there is no aux slot being replaced | Chris Robinson | 2023-01-20 | 1 | -4/+7 | |
| | | | | | A null effect slot can't be deleted, so we don't need to make sure it's set to change before returning. | |||||
* | Avoid unnecessary uses of make_optional | Chris Robinson | 2023-01-13 | 1 | -15/+15 | |
| | ||||||
* | Avoid some explicit casts and references | Chris Robinson | 2023-01-01 | 1 | -3/+3 | |
| | ||||||
* | Avoid a manual loop to find a buffer queue entry | Chris Robinson | 2022-12-24 | 1 | -6/+3 | |
| | ||||||
* | Constify some parameters | Chris Robinson | 2022-12-24 | 1 | -16/+16 | |
| | ||||||
* | Avoid using a macro to set a context error and return | Chris Robinson | 2022-12-24 | 1 | -34/+32 | |
| | ||||||
* | Avoid some macros for checking property sizes and values | Chris Robinson | 2022-12-24 | 1 | -169/+228 | |
| | ||||||
* | 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. |