Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add a alcGetProcAddress2 function | Chris Robinson | 2023-09-12 | 3 | -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 inline | Chris Robinson | 2023-09-11 | 5 | -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 LFO | Chris Robinson | 2023-09-11 | 1 | -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 one | Chris Robinson | 2023-09-10 | 1 | -8/+11 |
| | |||||
* | Improve the FFT bit reversal computation | Chris Robinson | 2023-09-09 | 2 | -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 names | Chris Robinson | 2023-09-09 | 1 | -29/+29 |
| | | | | To avoid clashes when used as a sub-project | ||||
* | Optimize FFT calculations for lengths of 1024 or less | Chris Robinson | 2023-09-09 | 1 | -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 timer | Chris Robinson | 2023-09-05 | 1 | -3/+30 |
| | |||||
* | Precalculate some square factors | Chris Robinson | 2023-09-04 | 1 | -7/+2 |
| | |||||
* | Fix CMake deprecation warning in OpenAL config. (#909) | Nick | 2023-09-04 | 1 | -1/+1 |
| | |||||
* | Don't use a custom config for the pipewire event loop | Chris Robinson | 2023-09-03 | 1 | -1/+1 |
| | |||||
* | Use a variant instead of a union+flag | Chris Robinson | 2023-09-03 | 2 | -39/+47 |
| | |||||
* | Avoid putting strings in fixed arrays of char arrays | Chris Robinson | 2023-09-02 | 1 | -21/+22 |
| | |||||
* | Handle a null string in DeviceHelper::OnDefaultDeviceChanged | Chris Robinson | 2023-08-31 | 1 | -6/+6 |
| | |||||
* | Combine separate loops into one | Chris Robinson | 2023-08-30 | 1 | -5/+6 |
| | |||||
* | Mention surround714 in alsoftrc.sample | Chris Robinson | 2023-08-30 | 1 | -4/+9 |
| | |||||
* | Don't set VISIBILITY_PRESETs without visibility attributes | Chris Robinson | 2023-08-29 | 1 | -23/+20 |
| | |||||
* | Use a more accurate ring modulator waveform generator | Chris Robinson | 2023-08-29 | 1 | -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 buffers | Chris Robinson | 2023-08-28 | 1 | -27/+18 |
| | |||||
* | Fix waveforms generated by altonegen | Chris Robinson | 2023-08-28 | 1 | -32/+41 |
| | |||||
* | Slightly improve some all-pass filter coefficients | Chris Robinson | 2023-08-28 | 1 | -6/+6 |
| | |||||
* | Replace another C string with string_view | Chris Robinson | 2023-08-26 | 1 | -5/+4 |
| | |||||
* | Simplify building a string message | Chris Robinson | 2023-08-26 | 1 | -11/+3 |
| | |||||
* | Use string_view in a couple more places | Chris Robinson | 2023-08-25 | 4 | -38/+20 |
| | |||||
* | Use a bit_cast instead of a union for type-punning | Chris Robinson | 2023-08-25 | 1 | -31/+16 |
| | |||||
* | Allow querying AL_EFFECTSLOT_EFFECT | Chris Robinson | 2023-08-25 | 3 | -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 value | Chris Robinson | 2023-08-23 | 1 | -1/+1 |
| | |||||
* | Clear errno prior to the call that may set it | Chris Robinson | 2023-08-21 | 1 | -0/+1 |
| | |||||
* | Fix conversion and maybe-unused warnings with my_fopen | Chris Robinson | 2023-08-18 | 1 | -3/+10 |
| | |||||
* | Use a string instead of a c_str for a string_view | Chris Robinson | 2023-08-18 | 1 | -1/+1 |
| | |||||
* | Make ALC_SOFT_system_events public | Chris Robinson | 2023-08-18 | 4 | -19/+25 |
| | |||||
* | Remove an unnecessary source file | Chris Robinson | 2023-08-18 | 3 | -35/+11 |
| | |||||
* | Use an array of bytes instead of ints for small values | Chris Robinson | 2023-08-15 | 1 | -4/+4 |
| | |||||
* | Don't null check the context in the direct EAX functions | Chris Robinson | 2023-08-13 | 2 | -57/+15 |
| | |||||
* | Make AL(C)_EXT_debug public | Chris Robinson | 2023-08-11 | 4 | -68/+68 |
| | |||||
* | Add missing includes | Chris Robinson | 2023-08-11 | 2 | -0/+3 |
| | |||||
* | Track the current/active format for pipewire nodes | Chris Robinson | 2023-08-11 | 1 | -55/+85 |
| | |||||
* | Add AL_EXT_debug functions to set/get object names | Chris Robinson | 2023-08-11 | 17 | -14/+228 |
| | |||||
* | Use a string_view for the backend open method | Chris Robinson | 2023-08-06 | 22 | -200/+249 |
| | |||||
* | More properly print string_views | Chris Robinson | 2023-08-06 | 1 | -19/+7 |
| | |||||
* | Don't use pipewire user data storage for native proxy objects | Chris Robinson | 2023-08-04 | 1 | -110/+83 |
| | |||||
* | Move some direct context function declarations to the extension | Chris Robinson | 2023-08-03 | 1 | -15/+17 |
| | |||||
* | Update the specified minimum CMake version required | Chris Robinson | 2023-07-30 | 1 | -1/+1 |
| | |||||
* | Fix if-comparison (#890) | Johan Mattsson | 2023-07-30 | 1 | -1/+1 |
| | |||||
* | Use target_link_options to add linker flags | Chris Robinson | 2023-07-28 | 1 | -4/+3 |
| | |||||
* | Declare functions closer to where they're needed | Chris Robinson | 2023-07-26 | 7 | -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 Bachmann | 2023-07-26 | 3 | -1/+7 |
| | | | | | * disable unavailable functionality on xbox * use not std version of getenv on xbox | ||||
* | Catch exceptions from constructing ALCcontexts | Chris Robinson | 2023-07-24 | 1 | -1/+15 |
| | |||||
* | Don't hold the property lock when setting the event callback | Chris Robinson | 2023-07-20 | 1 | -5/+3 |
| | |||||
* | Use a lambda to forward a C callback | Chris Robinson | 2023-07-20 | 1 | -6/+6 |
| |