aboutsummaryrefslogtreecommitdiffstats
path: root/al/source.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add AL_EXT_debug functions to set/get object namesChris Robinson2023-08-111-0/+14
|
* Declare functions closer to where they're neededChris Robinson2023-07-261-40/+39
| | | | | This provides better code locality when calling implicit context functions that call their direct context variants.
* Fix some typos (#872)Dirk Stolle2023-07-041-3/+3
|
* Use cinttypes instead of inttypes.h in C++Chris Robinson2023-06-011-1/+1
|
* Rename threads.cpp/h to alsem.cpp/hChris Robinson2023-06-011-1/+0
|
* Make the API functions noexceptChris Robinson2023-05-221-15/+3
| | | | | | | | | | | 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-37/+37
|
* Don't check for a null context in direct functionsChris Robinson2023-05-141-115/+15
|
* Implement direct functions for sourcesChris Robinson2023-05-141-277/+272
|
* Avoid using al::vector unnecessarilyChris Robinson2023-05-121-6/+7
|
* Only check isfinite for floating point valuesChris Robinson2023-05-061-19/+28
|
* Improve accuracy for the source offset and length queriesChris Robinson2023-05-061-39/+63
|
* Combine multiple functions into reusable templatesChris Robinson2023-05-061-1139/+814
|
* Clean up some temporary variable namesChris Robinson2023-05-051-10/+3
|
* Use some more standard functionsChris Robinson2023-05-051-4/+4
|
* Replace al::optional with std::optionalChris Robinson2023-05-041-15/+15
|
* Don't try to access null pointersChris Robinson2023-04-281-0/+3
|
* Use std::transform to cast doubles to floatsChris Robinson2023-04-271-2/+4
|
* Make sure extension functions are properly aligned on 32-bitChris Robinson2023-04-121-2/+3
|
* Allow using a negative offset with callback buffersChris Robinson2023-03-281-1/+4
|
* Log the buffer format when queueing mismatched buffersChris Robinson2023-03-221-2/+6
|
* Remove the separate UserFmt typesChris Robinson2023-03-191-16/+3
| | | | | All caller-usable formats are available as core formats now, so there's no reason to distinguish between them.
* Simplify some samples-to-bytes conversionsChris Robinson2023-03-191-40/+8
|
* Add a compat option to restore AL_SOFT_buffer_sub_dataChris Robinson2023-03-171-10/+134
|
* Rename some member functions and variables for consistencyChris Robinson2023-03-161-102/+102
|
* Commit deferred EAX properties in alcProcessContextChris Robinson2023-03-161-15/+0
|
* Fix the format check for queueing buffersChris Robinson2023-03-151-1/+1
|
* Set a default version for EAX source propertiesChris Robinson2023-03-141-14/+15
|
* Don't allow queueing a buffer with no formatChris Robinson2023-03-121-10/+18
|
* Don't commit EAX updates in applyAllUpdatesChris Robinson2023-03-111-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 pointersChris Robinson2023-03-061-56/+193
|
* Don't get the front element of an empty queueChris Robinson2023-03-051-1/+4
|
* Report the current buffer ID of a streaming sourceChris Robinson2023-03-051-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 attributesChris Robinson2023-03-011-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 offsetsChris Robinson2023-02-181-2/+4
|
* Track the callback buffer base separatelyChris Robinson2023-02-181-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 formatChris Robinson2023-02-141-12/+15
|
* Don't set an EAX version by default for sourcesChris Robinson2023-02-051-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 replacedChris Robinson2023-01-201-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_optionalChris Robinson2023-01-131-15/+15
|
* Avoid some explicit casts and referencesChris Robinson2023-01-011-3/+3
|
* 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-241-34/+32
|
* Avoid some macros for checking property sizes and valuesChris Robinson2022-12-241-169/+228
|
* Avoid using a macro to wrap standard attributesChris Robinson2022-12-061-135/+135
|
* Avoid LIKELY/UNLIKELY macrosChris Robinson2022-12-051-119/+119
|
* Use standard likely/unlikely attributes when availableChris Robinson2022-12-051-18/+18
|
* 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
|