Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Make sure extension functions are properly aligned on 32-bit | Chris Robinson | 2023-04-12 | 2 | -4/+5 |
| | |||||
* | Release 1.23.1 | Chris Robinson | 2023-04-11 | 3 | -2/+33 |
| | |||||
* | Add a version script for non-Windows/macOS systems | Chris Robinson | 2023-04-10 | 2 | -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 consistency | Chris Robinson | 2023-04-08 | 2 | -19/+16 |
| | |||||
* | Remove an unused variable | Chris Robinson | 2023-04-07 | 1 | -5/+0 |
| | |||||
* | Scale B-Format panning coefficients only when needed | Chris Robinson | 2023-04-06 | 1 | -7/+7 |
| | |||||
* | Simplify effect state buffer handling some | Chris Robinson | 2023-04-04 | 17 | -71/+52 |
| | |||||
* | Remove a duplicate function | Chris Robinson | 2023-04-03 | 1 | -19/+3 |
| | |||||
* | Support the AL_EXT_STATIC_BUFFER extension | Chris Robinson | 2023-04-03 | 4 | -20/+149 |
| | |||||
* | Hold the buffer sample pointer separate from the vector | Chris Robinson | 2023-04-03 | 3 | -7/+12 |
| | |||||
* | Finalize AL_SOFT_source_start_delay | Chris Robinson | 2023-03-31 | 3 | -11/+11 |
| | |||||
* | Don't check for backend packages that aren't wanted | Chris Robinson | 2023-03-30 | 1 | -202/+192 |
| | |||||
* | Make sure delayed-start voices are properly stopped | Chris Robinson | 2023-03-29 | 1 | -1/+10 |
| | |||||
* | Allow using a negative offset with callback buffers | Chris Robinson | 2023-03-28 | 1 | -1/+4 |
| | |||||
* | Log the buffer format when queueing mismatched buffers | Chris Robinson | 2023-03-22 | 3 | -2/+46 |
| | |||||
* | Remove the separate UserFmt types | Chris Robinson | 2023-03-19 | 3 | -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 conversions | Chris Robinson | 2023-03-19 | 1 | -40/+8 |
| | |||||
* | Add a compat option to restore AL_SOFT_buffer_sub_data | Chris Robinson | 2023-03-17 | 7 | -28/+188 |
| | |||||
* | Rename some member functions and variables for consistency | Chris Robinson | 2023-03-16 | 5 | -240/+237 |
| | |||||
* | Commit deferred EAX properties in alcProcessContext | Chris Robinson | 2023-03-16 | 5 | -45/+17 |
| | |||||
* | Recognize I24 and I32 formats from Oboe | Chris Robinson | 2023-03-15 | 1 | -1/+15 |
| | |||||
* | Allow Oboe to resample when requesting a sample rate | Chris Robinson | 2023-03-15 | 1 | -0/+3 |
| | |||||
* | Fix the format check for queueing buffers | Chris Robinson | 2023-03-15 | 1 | -1/+1 |
| | |||||
* | Set a default version for EAX source properties | Chris Robinson | 2023-03-14 | 2 | -15/+15 |
| | |||||
* | Don't allow queueing a buffer with no format | Chris Robinson | 2023-03-12 | 1 | -10/+18 |
| | |||||
* | Don't change the context's EAX version on every set/get call | Chris Robinson | 2023-03-11 | 2 | -44/+9 |
| | |||||
* | Rename some class members for styling consistency | Chris Robinson | 2023-03-11 | 2 | -101/+84 |
| | |||||
* | Check the correct ID value for clearing the deferred flag | Chris Robinson | 2023-03-11 | 1 | -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 slots | Chris Robinson | 2023-03-11 | 1 | -1/+0 |
| | |||||
* | Update the EAX version after setting fx slot properties | Chris Robinson | 2023-03-11 | 1 | -7/+10 |
| | |||||
* | Avoid copying to a temporary | Chris Robinson | 2023-03-11 | 11 | -120/+116 |
| | |||||
* | Remove some more unnecessary clamps | Chris Robinson | 2023-03-11 | 1 | -46/+20 |
| | |||||
* | Remove an unused function | Chris Robinson | 2023-03-11 | 1 | -8/+0 |
| | |||||
* | Rename some struct members for clarity | Chris Robinson | 2023-03-11 | 13 | -151/+153 |
| | |||||
* | Convert the remaining EAX effects | Chris Robinson | 2023-03-11 | 5 | -649/+410 |
| | |||||
* | Simplify committing EAX effect properties | Chris Robinson | 2023-03-11 | 5 | -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 effect | Chris Robinson | 2023-03-11 | 2 | -152/+107 |
| | |||||
* | Don't commit EAX updates in applyAllUpdates | Chris Robinson | 2023-03-11 | 3 | -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 effects | Chris Robinson | 2023-03-11 | 4 | -521/+389 |
| | |||||
* | Convert the EAX Autowah and Compressor effects | Chris Robinson | 2023-03-11 | 4 | -356/+278 |
| | |||||
* | Convert the EAX Compressor effect | Chris Robinson | 2023-03-10 | 4 | -130/+93 |
| | | | | And combine some type checks. | ||||
* | Convert EAX chorus and flanger effects | Chris Robinson | 2023-03-10 | 4 | -195/+207 |
| | |||||
* | Use a macro for when __has_cpp_attribute is unsupported | Chris Robinson | 2023-03-10 | 1 | -4/+10 |
| | | | | And the standard macro is __has_cpp_attribute, not __has_attribute. | ||||
* | Rework EAX effect handling | Chris Robinson | 2023-03-10 | 7 | -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 property | Chris Robinson | 2023-03-09 | 1 | -5/+4 |
| | |||||
* | Have the null effect inherit from EaxEffect4 | Chris Robinson | 2023-03-09 | 1 | -14/+35 |
| | |||||
* | Add a type indicator to EaxEffectProps | Chris Robinson | 2023-03-09 | 12 | -55/+84 |
| | |||||
* | Store the per-version EAX effect state in the base class | Chris Robinson | 2023-03-09 | 14 | -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 UHJ | Chris Robinson | 2023-03-07 | 1 | -1/+4 |
| | |||||
* | Don't use "hardware" for automatic buffer storage | Chris Robinson | 2023-03-07 | 2 | -14/+37 |
| |