aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add a alcGetProcAddress2 functionChris Robinson2023-09-123-0/+8
| | | | | | | | | | | | | | | | This is essentially just a copy of alcGetProcAddress. It's purpose is to bypass Creative's router's alcGetProcAddress implementation, which returns its own functions even if given a device handle. When combined with it also wrapping the drivers' device and context handles, that prevents any extention function that needs a recognizable device or context handle from working, like the *Direct functions, as there's no way for the app to get a device or context handle the driver can know about). An alternate function to get function pointers allows a driver to return its own implementation for standard and extension functions, which an application can use to "bootstrap" audio to use a particular driver directly, enabling use of extensions that the router gets in the way of (and also avoid the overhead of the router, however small that may be).
* Make some global and static member variables inlineChris Robinson2023-09-115-42/+6
| | | | | This also seems to work around the problematic MinGW code generation, so the indirection to access it can be removed.
* Approximate sin for the reverb modulator LFOChris Robinson2023-09-111-2/+7
| | | | | | | Reverb needs to prioritize efficiency since it's expected that an app may use multiple reverb effects simultaneously, and each individual effect may process twice during a pipeline transition. Approximating sin helps by replacing a per- sample libc call that we don't need to be perfectly accurate.
* Combine multiple divisions into oneChris Robinson2023-09-101-8/+11
|
* Improve the FFT bit reversal computationChris Robinson2023-09-092-34/+43
| | | | | This also allows to include 11-bit indices in the fast lookup table path, without exceeding GCC's internal limit of compile-time calculations.
* Rename a couple internal cmake target namesChris Robinson2023-09-091-29/+29
| | | | To avoid clashes when used as a sub-project
* Optimize FFT calculations for lengths of 1024 or lessChris Robinson2023-09-091-23/+64
| | | | | This replaces sin/cos calls with an array of 10 complex values for lookup tables, and separates the first loop iteration with a constant x1 multiplier.
* Include the early and late reverb gain for the decay fade timerChris Robinson2023-09-051-3/+30
|
* Precalculate some square factorsChris Robinson2023-09-041-7/+2
|
* Fix CMake deprecation warning in OpenAL config. (#909)Nick2023-09-041-1/+1
|
* Don't use a custom config for the pipewire event loopChris Robinson2023-09-031-1/+1
|
* Use a variant instead of a union+flagChris Robinson2023-09-032-39/+47
|
* Avoid putting strings in fixed arrays of char arraysChris Robinson2023-09-021-21/+22
|
* Handle a null string in DeviceHelper::OnDefaultDeviceChangedChris Robinson2023-08-311-6/+6
|
* Combine separate loops into oneChris Robinson2023-08-301-5/+6
|
* Mention surround714 in alsoftrc.sampleChris Robinson2023-08-301-4/+9
|
* Don't set VISIBILITY_PRESETs without visibility attributesChris Robinson2023-08-291-23/+20
|
* Use a more accurate ring modulator waveform generatorChris Robinson2023-08-291-37/+76
| | | | | | This restricts available frequencies to fit an integer number of samples per cycle, but ensures no unintended harmonics from misaligned samples w.r.t. sawtooth and square waveforms.
* Avoid some large stack buffersChris Robinson2023-08-281-27/+18
|
* Fix waveforms generated by altonegenChris Robinson2023-08-281-32/+41
|
* Slightly improve some all-pass filter coefficientsChris Robinson2023-08-281-6/+6
|
* Replace another C string with string_viewChris Robinson2023-08-261-5/+4
|
* Simplify building a string messageChris Robinson2023-08-261-11/+3
|
* Use string_view in a couple more placesChris Robinson2023-08-254-38/+20
|
* Use a bit_cast instead of a union for type-punningChris Robinson2023-08-251-31/+16
|
* Allow querying AL_EFFECTSLOT_EFFECTChris Robinson2023-08-253-6/+14
| | | | | | | This doesn't make much sense since the effect associated with the ID may be modified and not represent the effect being played, or was even deleted and isn't a valid effect ID, but Generic Software allows querying it so it should be queryable for compatibility if nothing else.
* Fix ALC_CONTEXT_FLAGS_EXT valueChris Robinson2023-08-231-1/+1
|
* Clear errno prior to the call that may set itChris Robinson2023-08-211-0/+1
|
* Fix conversion and maybe-unused warnings with my_fopenChris Robinson2023-08-181-3/+10
|
* Use a string instead of a c_str for a string_viewChris Robinson2023-08-181-1/+1
|
* Make ALC_SOFT_system_events publicChris Robinson2023-08-184-19/+25
|
* Remove an unnecessary source fileChris Robinson2023-08-183-35/+11
|
* Use an array of bytes instead of ints for small valuesChris Robinson2023-08-151-4/+4
|
* Don't null check the context in the direct EAX functionsChris Robinson2023-08-132-57/+15
|
* Make AL(C)_EXT_debug publicChris Robinson2023-08-114-68/+68
|
* Add missing includesChris Robinson2023-08-112-0/+3
|
* Track the current/active format for pipewire nodesChris Robinson2023-08-111-55/+85
|
* Add AL_EXT_debug functions to set/get object namesChris Robinson2023-08-1117-14/+228
|
* Use a string_view for the backend open methodChris Robinson2023-08-0622-200/+249
|
* More properly print string_viewsChris Robinson2023-08-061-19/+7
|
* Don't use pipewire user data storage for native proxy objectsChris Robinson2023-08-041-110/+83
|
* Move some direct context function declarations to the extensionChris Robinson2023-08-031-15/+17
|
* Update the specified minimum CMake version requiredChris Robinson2023-07-301-1/+1
|
* Fix if-comparison (#890)Johan Mattsson2023-07-301-1/+1
|
* Use target_link_options to add linker flagsChris Robinson2023-07-281-4/+3
|
* Declare functions closer to where they're neededChris Robinson2023-07-267-131/+125
| | | | | This provides better code locality when calling implicit context functions that call their direct context variants.
* disable unavailable functionality on xbox (#887)Max Bachmann2023-07-263-1/+7
| | | | | * disable unavailable functionality on xbox * use not std version of getenv on xbox
* Catch exceptions from constructing ALCcontextsChris Robinson2023-07-241-1/+15
|
* Don't hold the property lock when setting the event callbackChris Robinson2023-07-201-5/+3
|
* Use a lambda to forward a C callbackChris Robinson2023-07-201-6/+6
|