aboutsummaryrefslogtreecommitdiffstats
path: root/alc/alc.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Define FORCE_ALIGN in config.hChris Robinson2023-06-011-3/+9
|
* Move the function and enum list to a separate fileChris Robinson2023-05-301-864/+1
|
* Add a callback to report system device changesChris Robinson2023-05-301-24/+30
| | | | | Devices being added or removed, or the default device changing. Not all backends report this (none do currently), but it'll be supported where it can.
* Use a string_view for handling debug messagesChris Robinson2023-05-231-2/+2
|
* Make the API functions noexceptChris Robinson2023-05-221-93/+31
| | | | | | | | | | | 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.
* Add extension strings for the in-progress direct APIChris Robinson2023-05-141-0/+2
|
* Implement direct functions for EFXChris Robinson2023-05-141-0/+34
|
* Implement direct functions for the debug APIChris Robinson2023-05-141-0/+7
|
* Implement direct functions for the listener and eventsChris Robinson2023-05-141-0/+15
|
* Add more direct functions to the function tableChris Robinson2023-05-141-0/+66
|
* Implement direct functions for extension queries and EAXChris Robinson2023-05-141-0/+10
|
* Implement direct functions for context stateChris Robinson2023-05-141-0/+22
|
* Avoid using al::vector unnecessarilyChris Robinson2023-05-121-6/+6
|
* Remove custom stuff for standardChris Robinson2023-05-041-1/+1
|
* Use std::byte instead of a custom al::byteChris Robinson2023-05-041-2/+2
|
* Make and use a bit_cast functionChris Robinson2023-05-041-1/+1
| | | | Instead of reinterpret_casting between incompatible types
* Replace al::optional with std::optionalChris Robinson2023-05-041-22/+22
|
* Implement a context debug flagChris Robinson2023-05-031-11/+30
| | | | | 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-35/+35
|
* Implement pushing/popping debug groupsChris Robinson2023-05-011-0/+7
|
* Put the debug filters into a groupChris Robinson2023-05-011-0/+1
|
* Avoid assigning to existing optional<string>Chris Robinson2023-05-011-8/+2
| | | | | | Reduces the amount inlining the compiler has to do, though the uhj/filter config option is no longer recognized (it has been deprecated, amd I don't think it was in an actual release).
* Implement debug log storageChris Robinson2023-04-301-0/+5
|
* Implement non-ID based debug message filteringChris Robinson2023-04-301-0/+21
|
* Provide some more debug messagesChris Robinson2023-04-291-8/+22
|
* Start a debug API extensionChris Robinson2023-04-291-0/+4
|
* Simplify effect state buffer handling someChris Robinson2023-04-041-7/+2
|
* Support the AL_EXT_STATIC_BUFFER extensionChris Robinson2023-04-031-0/+2
|
* Add a compat option to restore AL_SOFT_buffer_sub_dataChris Robinson2023-03-171-0/+3
|
* Use macros for the likely/unlikely attributesChris Robinson2023-03-011-3/+3
| | | | | The syntax parser for GCC 8 (and earlier?) fails when these attributes are in certain places.
* Add aLaw formats to AL_SOFT_UHJ_exChris Robinson2023-02-271-0/+3
|
* Add AL_SOFT_UHJ_ex to the extension listChris Robinson2023-02-261-0/+6
|
* Use explicit arrays for the remix table target mixesChris Robinson2023-01-241-16/+53
| | | | Seems inline initializer lists become garbage when stored in a span.
* Change a couple macros to constexpr variablesChris Robinson2023-01-161-1/+1
|
* 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 <rosenp@gmail.com> * clang-tidy: replace std::bind with lambdas Found with modernize-avoid-bind Signed-off-by: Rosen Penev <rosenp@gmail.com> * clang-tidy: use data() instead of pointer stuff Found with readability-container-data-pointe Signed-off-by: Rosen Penev <rosenp@gmail.com> * clang-tidy: use empty() Found with readability-container-size-empty Signed-off-by: Rosen Penev <rosenp@gmail.com> * clang-tidy: remove static in anon namespace Found with readability-static-definition-in-anonymous-namespace Signed-off-by: Rosen Penev <rosenp@gmail.com> * clang-tidy: remove const return Found with readability-const-return-type Signed-off-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Rosen Penev <rosenp@gmail.com>
* Avoid a dead storeChris Robinson2023-01-131-1/+0
|
* Avoid unnecessary uses of make_optionalChris Robinson2023-01-131-20/+20
|
* Handle the stereo-encoding option for loopback devices tooChris Robinson2023-01-091-12/+12
|
* Fix handling the ALC_HRTF_SOFT attributeChris Robinson2023-01-091-1/+20
|
* Better handle negative sample rate valuesChris Robinson2023-01-081-5/+5
|
* Update some config commentsChris Robinson2023-01-081-1/+1
|
* Get device config options earlier in a device updateChris Robinson2023-01-071-310/+275
|
* Avoid using a reversed all-pass for the front stablizerChris Robinson2023-01-061-5/+0
| | | | | | While a neat trick, it's been shown to be too volatile and add noise as the signal gets louder. It's better to just accept the phase shift and ensure everything stays aligned.
* Use a simple spinlock to protect the current global contextChris Robinson2022-12-301-7/+17
| | | | | This will be much for efficient than a recursive mutex, given the amount of contention will be very low.
* Avoid using a macro to wrap standard attributesChris Robinson2022-12-061-2/+2
|
* Avoid LIKELY/UNLIKELY macrosChris Robinson2022-12-051-2/+2
|
* Add missing device_clock/source_latency enums for queryingChris Robinson2022-11-291-0/+9
|
* Add preliminary support for 7.1.4 output modesChris Robinson2022-11-031-0/+3
| | | | | | | | I don't know how different sound APIs handle 7.1.4 ("Atmos" or "Auro3D") output, but currently it simply specifies the additional channels with the height channel labels. This isn't likely how it works for a virtualized channel bed, for playing over other with-height configurations (7.1.2, 5.1.4, etc), but this should be an okay start.
* Add functions to start sources at a particular device timeChris Robinson2022-11-031-0/+3
| | | | | | | | 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 a warning when using the old UHJ filter optionChris Robinson2022-10-211-2/+8
|