aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Make sure extension functions are properly aligned on 32-bitChris Robinson2023-04-122-4/+5
|
* Release 1.23.1Chris Robinson2023-04-113-2/+33
|
* Add a version script for non-Windows/macOS systemsChris Robinson2023-04-102-4/+204
| | | | | | | | | | | | | | | To more aggressively control library exports. Despite the -fvisibility=hidden flag that should hide everything by default, GNU's libstdc++ forces default visibility for generated std namespace symbols (from template functions that don't inline, for example), adding some standard C++ symbols to the exported symbol list. This can cause ABI problems if an app links to OpenAL and uses one of those symbols, as a future internal change can cause the function to not be generated and make the symbol no longer available. There seems to be no way to prevent this, aside from this version script. This has the added advantage of ensuring future extension functions don't accidentally get exported due to the ALC_API or AL_API macros making them visible.
* Reorder some struct fields for consistencyChris Robinson2023-04-082-19/+16
|
* Remove an unused variableChris Robinson2023-04-071-5/+0
|
* Scale B-Format panning coefficients only when neededChris Robinson2023-04-061-7/+7
|
* Simplify effect state buffer handling someChris Robinson2023-04-0417-71/+52
|
* Remove a duplicate functionChris Robinson2023-04-031-19/+3
|
* Support the AL_EXT_STATIC_BUFFER extensionChris Robinson2023-04-034-20/+149
|
* Hold the buffer sample pointer separate from the vectorChris Robinson2023-04-033-7/+12
|
* Finalize AL_SOFT_source_start_delayChris Robinson2023-03-313-11/+11
|
* Don't check for backend packages that aren't wantedChris Robinson2023-03-301-202/+192
|
* Make sure delayed-start voices are properly stoppedChris Robinson2023-03-291-1/+10
|
* Allow using a negative offset with callback buffersChris Robinson2023-03-281-1/+4
|
* Log the buffer format when queueing mismatched buffersChris Robinson2023-03-223-2/+46
|
* Remove the separate UserFmt typesChris Robinson2023-03-193-273/+131
| | | | | 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-177-28/+188
|
* Rename some member functions and variables for consistencyChris Robinson2023-03-165-240/+237
|
* Commit deferred EAX properties in alcProcessContextChris Robinson2023-03-165-45/+17
|
* Recognize I24 and I32 formats from OboeChris Robinson2023-03-151-1/+15
|
* Allow Oboe to resample when requesting a sample rateChris Robinson2023-03-151-0/+3
|
* Fix the format check for queueing buffersChris Robinson2023-03-151-1/+1
|
* Set a default version for EAX source propertiesChris Robinson2023-03-142-15/+15
|
* Don't allow queueing a buffer with no formatChris Robinson2023-03-121-10/+18
|
* Don't change the context's EAX version on every set/get callChris Robinson2023-03-112-44/+9
|
* Rename some class members for styling consistencyChris Robinson2023-03-112-101/+84
|
* Check the correct ID value for clearing the deferred flagChris Robinson2023-03-111-1/+1
| | | | | | property_id is the original value with the deferred flag in the msb. If the call is deferred, that flag is set, preventing it from matching any of the enums. The property_id_ member has the ID without the flag.
* Don't set a default EAX version for fx slotsChris Robinson2023-03-111-1/+0
|
* Update the EAX version after setting fx slot propertiesChris Robinson2023-03-111-7/+10
|
* Avoid copying to a temporaryChris Robinson2023-03-1111-120/+116
|
* Remove some more unnecessary clampsChris Robinson2023-03-111-46/+20
|
* Remove an unused functionChris Robinson2023-03-111-8/+0
|
* Rename some struct members for clarityChris Robinson2023-03-1113-151/+153
|
* Convert the remaining EAX effectsChris Robinson2023-03-115-649/+410
|
* Simplify committing EAX effect propertiesChris Robinson2023-03-115-242/+78
| | | | | | | | | | There's no need to explicitly clamp to EFX limits when they're the same as or more lenient than EAX, which were already validated when set, or when it's within tolerance of the effect implementation. Also it's generally better to check once all properties for changes and apply them all if one is different, rather than checking and setting each member individually.
* Convert the EAX Frequency Shifter effectChris Robinson2023-03-112-152/+107
|
* Don't commit EAX updates in applyAllUpdatesChris Robinson2023-03-113-44/+17
| | | | | | | | | | 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).
* Convert the EAX Echo and Equalizer effectsChris Robinson2023-03-114-521/+389
|
* Convert the EAX Autowah and Compressor effectsChris Robinson2023-03-114-356/+278
|
* Convert the EAX Compressor effectChris Robinson2023-03-104-130/+93
| | | | And combine some type checks.
* Convert EAX chorus and flanger effectsChris Robinson2023-03-104-195/+207
|
* Use a macro for when __has_cpp_attribute is unsupportedChris Robinson2023-03-101-4/+10
| | | | And the standard macro is __has_cpp_attribute, not __has_attribute.
* Rework EAX effect handlingChris Robinson2023-03-107-1406/+1078
| | | | | | | Allocate a base EaxEffect object once for all effect types, instead of reallocating different derived types on effect changes. The reverb and null effects have been converted to the new interface, the others are currently broken/unsupported, but will be restored shortly.
* Update the effect EAX version only after setting a propertyChris Robinson2023-03-091-5/+4
|
* Have the null effect inherit from EaxEffect4Chris Robinson2023-03-091-14/+35
|
* Add a type indicator to EaxEffectPropsChris Robinson2023-03-0912-55/+84
|
* Store the per-version EAX effect state in the base classChris Robinson2023-03-0914-471/+491
| | | | | | | | | | | | | | | | This is the start of the refactoring for holding separable per-version EAX effects. Currently the effect state is stored in the effect object, which is instantiated per-type. This makes it impossible for different effects to be assigned on different EAX versions for a given effect slot (e.g. if the app sets a Chorus effect on EAX4 Slot0, it would fail to get or set the EAX1/2/3 reverb properties since it's a Chorus effect object). Seperate per-version effects will allow for switching the OpenAL effect by switching versions. This will provide an extra benefit in being able to delay OpenAL effect initialization until some EAX version has been set, avoiding an extraneous reverb and/or chorus processor for apps that only query some EAX properties but don't set anything (or which only use Slot0, leaving Slot1 with a defaulted Chorus effect running).
* Support aLaw samples for UHJChris Robinson2023-03-071-1/+4
|
* Don't use "hardware" for automatic buffer storageChris Robinson2023-03-072-14/+37
|