aboutsummaryrefslogtreecommitdiffstats
path: root/al/state.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove void from empty parameter listsChris Robinson2023-12-121-3/+3
| | | | Also convert some functions to trailing return types and remove (void) casts.
* Much more clang-tidy cleanupChris Robinson2023-12-101-0/+2
|
* Avoid casting an integer literalChris Robinson2023-09-221-1/+1
|
* Add AL_EXT_debug functions to set/get object namesChris Robinson2023-08-111-0/+5
|
* Declare functions closer to where they're neededChris Robinson2023-07-261-16/+16
| | | | | This provides better code locality when calling implicit context functions that call their direct context variants.
* Use a string_view for handling debug messagesChris Robinson2023-05-231-2/+2
|
* Make the API functions noexceptChris Robinson2023-05-221-7/+5
| | | | | | | | | | | Only relevant for C++, but these functions can't throw as it's a C-based API. Letting the compiler know that helps improve code generation. Extension callbacks must also not let exceptions leave the callback, or else Bad Things can happen. The macro AL_DISABLE_NOEXCEPT may be defined before including the headers to not mark functions as noexcept, but this should only be done if the caller can't otherwise be fixed.
* Fix linkage definitionsChris Robinson2023-05-141-8/+4
|
* Don't check for a null context in direct functionsChris Robinson2023-05-141-48/+2
|
* Implement direct functions for context stateChris Robinson2023-05-141-160/+119
|
* Use an inline function instead of a macroChris Robinson2023-05-081-13/+15
|
* Store extension strings individuallyChris Robinson2023-05-081-1/+1
| | | | And dynamically build the full AL_EXTENSIONS string
* Make and use a bit_cast functionChris Robinson2023-05-041-2/+3
| | | | Instead of reinterpret_casting between incompatible types
* Replace al::optional with std::optionalChris Robinson2023-05-041-3/+3
|
* Implement a context debug flagChris Robinson2023-05-031-8/+15
| | | | | Setting the debug flag at context creation enables more debug messages for the created context, and enables debug messages by default.
* Rename AL_SOFT_debug to AL_EXT_DEBUGChris Robinson2023-05-031-17/+17
|
* Reduce code duplication for context queriesChris Robinson2023-05-011-420/+179
|
* Implement pushing/popping debug groupsChris Robinson2023-05-011-0/+23
|
* Implement debug log storageChris Robinson2023-04-301-1/+60
|
* Avoid duplicating queriesChris Robinson2023-04-301-209/+118
|
* Provide some more debug messagesChris Robinson2023-04-291-7/+24
|
* Add another missing headerChris Robinson2023-04-291-0/+1
|
* Start a debug API extensionChris Robinson2023-04-291-4/+34
|
* Use macros for the likely/unlikely attributesChris Robinson2023-03-011-23/+23
| | | | | The syntax parser for GCC 8 (and earlier?) fails when these attributes are in certain places.
* Avoid unnecessary uses of make_optionalChris Robinson2023-01-131-7/+7
|
* Avoid using a macro to wrap standard attributesChris Robinson2022-12-061-23/+23
|
* Avoid LIKELY/UNLIKELY macrosChris Robinson2022-12-051-23/+23
|
* Move EAX files to their own sub-directoryChris Robinson2022-05-161-2/+2
|
* Properly set the air absorption gain baseChris Robinson2022-05-101-0/+1
|
* Avoid some explicit extern "C"s on function definitionsChris Robinson2022-03-311-3/+3
|
* Fix X-RAM trackingChris Robinson2022-03-061-1/+1
|
* Avoid more unnecessary atomicsChris Robinson2022-02-131-7/+7
|
* Combine listener and context updatesChris Robinson2022-02-081-0/+8
|
* Hold mPropLock when deferring updatesChris Robinson2022-02-081-0/+2
|
* Move ALSOFT_EAX definition to config.hChris Robinson2022-01-301-2/+2
| | | | And disable it by default for non-Windows targets
* Add EAX extensions (EAX 2.0-5.0, X-RAM) (#632)Boris I. Bendovsky2022-01-301-0/+42
| | | | | | | | | | | | | | | * 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
* Rename alcontext.h and move some functions to context.cppChris Robinson2021-04-271-1/+1
|
* Rename alcmain.h to device.hChris Robinson2021-04-271-6/+6
|
* Update include headersChris Robinson2021-04-271-4/+4
| | | | Don't add alc/ to the include paths.
* Move BufferStorage and Voice to coreChris Robinson2021-04-271-1/+1
|
* Partially implement an extension to hold sources on disconnectChris Robinson2021-04-261-6/+23
| | | | | | | | 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.
* Make an inverted atomic flag type and use itChris Robinson2021-04-151-1/+1
| | | | | | | | The inverted atomic flag replaces test_and_set+clear with test_and_clear+set, essentially inverting the flag status. This makes more logical sense for flagging dirty state, which is less confusing than flagging clean state. The one caveat is ATOMIC_FLAG_INIT (or default construction in C++20) initializes the state to true rather than false.
* Avoid including voice.h in alcontext.hChris Robinson2020-12-271-0/+1
|
* Move alexcpt to coreChris Robinson2020-12-241-1/+1
|
* Don't link DistanceModel enums to AL valuesChris Robinson2020-12-161-11/+37
|
* Use a separate structure for the context/listener paramsChris Robinson2020-12-151-4/+4
|
* Replace some more macros with constexpr variablesChris Robinson2020-10-211-5/+5
|
* Remove deprecated, performance, and error event typesChris Robinson2020-09-201-14/+0
| | | | | These would be better served with a proper debug API, rather than a general audio event API.
* Fix up some more uses of [AL[C]]voidChris Robinson2020-04-281-14/+14
|
* Avoid AL[C]boolean for internal useChris Robinson2020-03-281-3/+3
|