Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Don't null check the context in the direct EAX functions | Chris Robinson | 2023-08-13 | 1 | -41/+13 |
| | |||||
* | Make AL(C)_EXT_debug public | Chris Robinson | 2023-08-11 | 1 | -1/+1 |
| | |||||
* | Rename threads.cpp/h to alsem.cpp/h | Chris Robinson | 2023-06-01 | 1 | -1/+0 |
| | |||||
* | Add extension strings for the in-progress direct API | Chris Robinson | 2023-05-14 | 1 | -0/+1 |
| | |||||
* | Implement direct functions for extension queries and EAX | Chris Robinson | 2023-05-14 | 1 | -14/+11 |
| | |||||
* | Store extension strings individually | Chris Robinson | 2023-05-08 | 1 | -87/+79 |
| | | | | And dynamically build the full AL_EXTENSIONS string | ||||
* | Implement a context debug flag | Chris Robinson | 2023-05-03 | 1 | -3/+4 |
| | | | | | 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_DEBUG | Chris Robinson | 2023-05-03 | 1 | -1/+1 |
| | |||||
* | Implement pushing/popping debug groups | Chris Robinson | 2023-05-01 | 1 | -105/+0 |
| | |||||
* | Put the debug filters into a group | Chris Robinson | 2023-05-01 | 1 | -4/+6 |
| | |||||
* | Use a 64-bit value for tracking ID filters | Chris Robinson | 2023-05-01 | 1 | -14/+9 |
| | |||||
* | Fix some debug message length limit checks | Chris Robinson | 2023-05-01 | 1 | -4/+7 |
| | |||||
* | Implement debug message filtering for IDs | Chris Robinson | 2023-05-01 | 1 | -0/+11 |
| | |||||
* | Fix shadowing warnings and add another missing include | Chris Robinson | 2023-04-30 | 1 | -27/+28 |
| | |||||
* | Add an extension string for the in-progress debug extension | Chris Robinson | 2023-04-30 | 1 | -0/+1 |
| | |||||
* | Implement debug log storage | Chris Robinson | 2023-04-30 | 1 | -1/+28 |
| | |||||
* | Unlock the debug lock when calling the callback | Chris Robinson | 2023-04-30 | 1 | -3/+8 |
| | | | | | | There's no full guarantee about calling AL functions in a debug callback, due to a risk of deadlocks from an AL call that tries to take a lock that's already held at the time the callback is invoked, but this helps more work. | ||||
* | Improve some debug error handling | Chris Robinson | 2023-04-30 | 1 | -3/+6 |
| | |||||
* | Separate the internal debug enums from the API values | Chris Robinson | 2023-04-30 | 1 | -28/+39 |
| | |||||
* | Move debug functions to their own source | Chris Robinson | 2023-04-30 | 1 | -166/+0 |
| | |||||
* | Implement non-ID based debug message filtering | Chris Robinson | 2023-04-30 | 1 | -1/+146 |
| | |||||
* | Start a debug API extension | Chris Robinson | 2023-04-29 | 1 | -1/+77 |
| | |||||
* | Unset sLocalContext when releasing it | Chris Robinson | 2023-04-28 | 1 | -1/+1 |
| | |||||
* | Support the AL_EXT_STATIC_BUFFER extension | Chris Robinson | 2023-04-03 | 1 | -0/+1 |
| | |||||
* | Finalize AL_SOFT_source_start_delay | Chris Robinson | 2023-03-31 | 1 | -1/+1 |
| | |||||
* | Add a compat option to restore AL_SOFT_buffer_sub_data | Chris Robinson | 2023-03-17 | 1 | -16/+34 |
| | |||||
* | Rename some member functions and variables for consistency | Chris Robinson | 2023-03-16 | 1 | -86/+86 |
| | |||||
* | Commit deferred EAX properties in alcProcessContext | Chris Robinson | 2023-03-16 | 1 | -10/+7 |
| | |||||
* | Don't change the context's EAX version on every set/get call | Chris Robinson | 2023-03-11 | 1 | -40/+9 |
| | |||||
* | Don't commit EAX updates in applyAllUpdates | Chris Robinson | 2023-03-11 | 1 | -8/+8 |
| | | | | | | | | | | 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). | ||||
* | Add queries for the buffer byte/sample/sec length | Chris Robinson | 2023-03-07 | 1 | -0/+1 |
| | | | | | | | | | | | | | These used to exist with the now-defunct AL_SOFT_buffer_samples extension, this just restores those queries without extra baggage. The sample length query are necessary when handling ADPCM buffers, since the size/channels*8/bits calculation is incorrect with ADPCM. 'Bits' is usually reported as 4 since most samples in a block are stored as nibbles, but that's only approximate and doesn't account for the block header. The average number of bits per sample in an ADPCM block can't be represented as an integer, so the more blocks there are stored in the buffer, the more inaccurate the calculation becomes. | ||||
* | Add AL_SOFT_UHJ_ex to the extension list | Chris Robinson | 2023-02-26 | 1 | -1/+2 |
| | |||||
* | Avoid using auto for lambda parameters | Chris Robinson | 2023-02-06 | 1 | -1/+1 |
| | |||||
* | Don't set an EAX version by default for sources | Chris Robinson | 2023-02-05 | 1 | -9/+0 |
| | | | | | | | | | 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. | ||||
* | clang-tidy cleanups (#800) | Rosen Penev | 2023-01-15 | 1 | -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]> | ||||
* | Use a simple spinlock to protect the current global context | Chris Robinson | 2022-12-30 | 1 | -0/+8 |
| | | | | | This will be much for efficient than a recursive mutex, given the amount of contention will be very low. | ||||
* | Rename a potentially confusing member function | Chris Robinson | 2022-12-08 | 1 | -2/+2 |
| | |||||
* | Add preliminary support for 7.1.4 output modes | Chris Robinson | 2022-11-03 | 1 | -0/+4 |
| | | | | | | | | 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 time | Chris Robinson | 2022-11-03 | 1 | -0/+1 |
| | | | | | | | | 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. | ||||
* | [EAX_CONTEXT] Fix defaults for current properties | Boris I. Bendovsky | 2022-07-17 | 1 | -4/+36 |
| | |||||
* | [EAX_FX_SLOT] Mark sources as changed instead of commiting them to catch up ↵ | Boris I. Bendovsky | 2022-07-17 | 1 | -6/+1 |
| | | | | with changes in FX slot | ||||
* | Don't pass an EaxCall to initialize_fx_slots | Chris Robinson | 2022-07-15 | 1 | -7/+6 |
| | |||||
* | Don't store and manage wet buffers separately | Chris Robinson | 2022-07-15 | 1 | -5/+0 |
| | |||||
* | Allocate EffectSlots in clusters | Chris Robinson | 2022-07-15 | 1 | -1/+6 |
| | |||||
* | Dynamically allocate EffectSlot objects | Chris Robinson | 2022-07-15 | 1 | -2/+2 |
| | |||||
* | Don't track dirty flags per EAX version | Chris Robinson | 2022-07-13 | 1 | -22/+18 |
| | | | | | 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. | ||||
* | Don't commit EAX properties when not initialized | Chris Robinson | 2022-07-13 | 1 | -1/+2 |
| | |||||
* | [EAX] Add separate context state for each version (#731) | Boris I. Bendovsky | 2022-07-13 | 1 | -536/+365 |
| | |||||
* | [EAX] Use separate FX slot state for each version (#730) | Boris I. Bendovsky | 2022-07-12 | 1 | -13/+4 |
| | | | | | | | * [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 | ||||
* | Remove an unused lambda capture | Chris Robinson | 2022-06-18 | 1 | -1/+1 |
| |