aboutsummaryrefslogtreecommitdiffstats
path: root/al
Commit message (Collapse)AuthorAgeFilesLines
* clang-tidy cleanups (#800)Rosen Penev2023-01-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * clang-tidy: use bool literals Found with modernize-use-bool-literals Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: replace std::bind with lambdas Found with modernize-avoid-bind Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: use data() instead of pointer stuff Found with readability-container-data-pointe Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: use empty() Found with readability-container-size-empty Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: remove static in anon namespace Found with readability-static-definition-in-anonymous-namespace Signed-off-by: Rosen Penev <[email protected]> * clang-tidy: remove const return Found with readability-const-return-type Signed-off-by: Rosen Penev <[email protected]> Signed-off-by: Rosen Penev <[email protected]>
* Avoid unnecessary uses of make_optionalChris Robinson2023-01-137-57/+57
|
* Avoid some explicit casts and referencesChris Robinson2023-01-012-4/+4
|
* Avoid a manual loop to find a buffer queue entryChris Robinson2022-12-241-6/+3
|
* Constify some parametersChris Robinson2022-12-241-16/+16
|
* Avoid using a macro to set a context error and returnChris Robinson2022-12-246-84/+89
|
* Avoid some macros for checking property sizes and valuesChris Robinson2022-12-241-169/+228
|
* Use a bitset for the enabled event flagsChris Robinson2022-12-161-14/+9
|
* Avoid inlining certain exception functionsChris Robinson2022-12-165-27/+24
|
* Implement an al::unreachable wrapper/helperChris Robinson2022-12-131-2/+2
|
* Rename a potentially confusing member functionChris Robinson2022-12-081-1/+1
|
* Avoid using a macro to wrap standard attributesChris Robinson2022-12-0610-415/+415
|
* Avoid LIKELY/UNLIKELY macrosChris Robinson2022-12-052-142/+142
|
* Avoid some uses of the LIKELY/UNLIKELY macrosChris Robinson2022-12-054-195/+198
|
* Use standard likely/unlikely attributes when availableChris Robinson2022-12-056-83/+83
|
* Add functions to start sources at a particular device timeChris Robinson2022-11-031-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 timeChris Robinson2022-11-031-0/+2
|
* int64_t max can't fit into a double without narrowingChris Robinson2022-11-021-6/+0
|
* Handle negative voice positionsChris Robinson2022-11-021-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.
* Fixed bug and possible overflow type (#771)Herman Semenov2022-09-231-1/+1
|
* Clear the buffer from X-RAM before updating its sizeChris Robinson2022-08-051-0/+3
|
* AllocEffectSlot can't failChris Robinson2022-07-291-17/+3
|
* Use an intrusive_ptr to hold on to the EffectStateChris Robinson2022-07-291-5/+3
|
* Mark the EffectSlot in use after getting oneChris Robinson2022-07-261-0/+1
|
* Remove a redundant checkChris Robinson2022-07-171-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 signednessChris Robinson2022-07-172-2/+2
|
* Fix possible C2084 compiler error (#735)Edoardo Lolletti2022-07-171-0/+3
| | | | | | | * Fix possible C2084 compiler error Guiddef.h uses a separate header guard to define the GUID operators, in the current codebase this won't cause any issue, but i got such error while fiddling a bit with the program and including something that ended up including all the various windows headers, that ended up including Guiddef.h, causing the error as by not finding the macro declared, it ended up declaring the inline operators as well. * Update api.h
* [EAX_SOURCE] Fix source's occlusion and exclusion contributionBoris I. Bendovsky2022-07-173-19/+62
| | | | 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_FX_SLOT] Fix setting EAX5 flagsBoris I. Bendovsky2022-07-171-1/+1
|
* [EAX_FX_SLOT] Fix defaults for current propertiesBoris I. Bendovsky2022-07-172-18/+45
|
* [EAX_SOURCE] Skip occlusion calculation if occlusion property is zeroBoris I. Bendovsky2022-07-171-3/+7
|
* [EAX_SOURCE] Fix Room and RoomHF contributionBoris I. Bendovsky2022-07-171-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 IDsBoris I. Bendovsky2022-07-172-2/+12
|
* [EAX_FX_SLOT] Fix slot's occlusion contributionBoris I. Bendovsky2022-07-171-1/+3
|
* [EAX_CALL] Clear defer flag for immediate-only propertiesBoris I. Bendovsky2022-07-171-1/+22
| | | | EAX allow to set "defer" flag on immediate-only properties. If we don't clear our flag then "applyAllUpdates" in EAX context won't be called.
* [EAX_FX_SLOT] Mark sources as changed instead of commiting them to catch up ↵Boris I. Bendovsky2022-07-171-0/+1
| | | | with changes in FX slot
* [EAX_FX_SLOT] Fix EAXGet for EAX5Boris I. Bendovsky2022-07-171-1/+1
|
* Don't pass an EaxCall to initialize_fx_slotsChris Robinson2022-07-154-29/+11
|
* Allocate EffectSlots in clustersChris Robinson2022-07-152-5/+5
|
* Dynamically allocate EffectSlot objectsChris Robinson2022-07-153-12/+15
|
* Make a member function staticChris Robinson2022-07-131-1/+1
|
* Don't track dirty flags per EAX versionChris Robinson2022-07-132-47/+35
| | | | | Only the current version's flags are used, and they're all reset when changing versions, making it unnecessary to track non-current version flags.
* [EAX] Add separate context state for each version (#731)Boris I. Bendovsky2022-07-132-15/+15
|
* [EAX] Use separate FX slot state for each version (#730)Boris I. Bendovsky2022-07-1221-737/+676
| | | | | | | * [EAX] Use separate FX slot state for each version [EAX] Don't defer FX slot properties * [EAX_FXSLOT] Use mPropsDirty to defer update [EAX_CONTEXT] Commit all updates on first initialization
* Don't always activate the EAX primary effect slot for sourcesChris Robinson2022-07-061-14/+22
| | | | | The context's primary effect slot should only be considered when the source's active slot IDs include the primary effect slot.
* Remove an unused structChris Robinson2022-07-052-3/+2
| | | | And minor formatting cleanup
* Avoid separate lines for logging exceptionsChris Robinson2022-07-051-14/+5
|
* Don't change the EAX version when getting a reverb propertyChris Robinson2022-06-191-11/+7
|
* Combine multiple individual flagsChris Robinson2022-06-193-105/+67
|
* Track EAX1 source changesChris Robinson2022-06-193-13/+7
| | | | | | 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.