Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove an outdated comment | Chris Robinson | 2023-10-20 | 1 | -3/+0 |
| | |||||
* | Don't log failed config option lookups | Chris Robinson | 2023-10-19 | 1 | -5/+2 |
| | |||||
* | Avoid some unique and wrapper types | Chris Robinson | 2023-10-15 | 1 | -58/+33 |
| | |||||
* | Use the same stereo angles in convolution as normal mixing | Chris Robinson | 2023-10-15 | 1 | -19/+15 |
| | |||||
* | Use a span for a known array length instead of a raw pointer | Chris Robinson | 2023-10-15 | 9 | -30/+30 |
| | |||||
* | Ensure some variables are the same | Chris Robinson | 2023-10-15 | 1 | -21/+21 |
| | | | | And clean up some comments | ||||
* | Avoid an extra copy to calculate the convolution FFT | Chris Robinson | 2023-10-14 | 1 | -6/+5 |
| | |||||
* | Read the correct half-frequency bin | Chris Robinson | 2023-10-14 | 1 | -1/+1 |
| | |||||
* | Rename the convolution reverb effect to just convolution | Chris Robinson | 2023-10-12 | 3 | -6/+6 |
| | | | | | While the common use case, convolution can do more than just reverb, and it nicely shortens the name. | ||||
* | Add an orientation property for convolution reverb | Chris Robinson | 2023-10-12 | 1 | -1/+2 |
| | | | | Only affects ambisonic (B-Format and UHJ) formats | ||||
* | Add convolution effect properties to rotate ambisonic responses | Chris Robinson | 2023-10-12 | 1 | -3/+23 |
| | |||||
* | Attenuate the convolution filter instead of the filter result | Chris Robinson | 2023-10-11 | 1 | -9/+8 |
| | |||||
* | Make and use a separate zconvolve method without scaling | Chris Robinson | 2023-10-11 | 1 | -8/+7 |
| | | | | | | When you're doing hundreds or thousands of separate zconvolve calls into the same buffer, it's more efficient to do the multiply once at the end instead of in each call. | ||||
* | Use PFFFT for the convolution effect | Chris Robinson | 2023-10-06 | 1 | -40/+92 |
| | |||||
* | Improve ambisonic rotator coefficient accuracy | Chris Robinson | 2023-10-02 | 1 | -17/+38 |
| | |||||
* | Declare a missing variable | Chris Robinson | 2023-10-01 | 1 | -1/+1 |
| | |||||
* | Get the default WASAPI device on UWP | Chris Robinson | 2023-10-01 | 1 | -25/+14 |
| | |||||
* | Add a wrapper for COM initialization | Chris Robinson | 2023-09-29 | 2 | -34/+24 |
| | | | | | This helps ensure COM is initialized and deinitialized in order relative to other objects (e.g. ComPtr). | ||||
* | Ensure the WASAPI resample buffer is cleared when mixing starts | Chris Robinson | 2023-09-29 | 1 | -9/+6 |
| | | | | | Otherwise, stopping and restarting without resetting could leave it with invalid pointers. | ||||
* | Set the appropriate padding size | Chris Robinson | 2023-09-26 | 1 | -1/+1 |
| | | | | It's based on the original/stream size, not the ALCdevice's. | ||||
* | Constify some pointers to indicate they won't change | Chris Robinson | 2023-09-25 | 1 | -1/+1 |
| | |||||
* | Honor the wasapi allow-resampler option with spatial sound output | Chris Robinson | 2023-09-24 | 1 | -0/+4 |
| | |||||
* | Match the output sample rate if not requesting one | Chris Robinson | 2023-09-24 | 1 | -0/+4 |
| | |||||
* | Support resampling with WASAPI spatial audio output | Chris Robinson | 2023-09-24 | 1 | -14/+67 |
| | |||||
* | Fix cppwinrt exception type capture (#918) | Deal | 2023-09-23 | 1 | -1/+1 |
| | |||||
* | Avoid casting an integer literal | Chris Robinson | 2023-09-22 | 4 | -8/+8 |
| | |||||
* | UWP: migrate C++/CX to C++/WinRT (#916) | Deal | 2023-09-22 | 2 | -67/+66 |
| | |||||
* | Try to get the device period for spatial audio streams | Chris Robinson | 2023-09-21 | 1 | -30/+52 |
| | |||||
* | Don't assume the size of AudioObjectType | Chris Robinson | 2023-09-21 | 1 | -1/+1 |
| | |||||
* | Again try to fix handling an enum type | Chris Robinson | 2023-09-20 | 1 | -1/+2 |
| | |||||
* | Don't assume an enum's underlying type | Chris Robinson | 2023-09-20 | 1 | -1/+1 |
| | |||||
* | Fix MSVC compilation | Chris Robinson | 2023-09-20 | 1 | -0/+2 |
| | | | | MinGW's headers don't seem to define operator| for AudioObjectType. | ||||
* | Preliminary implementation of WASAPI spatial audio playback | Chris Robinson | 2023-09-20 | 1 | -161/+538 |
| | |||||
* | Replace some more unnecessary angles with vectors | Chris Robinson | 2023-09-18 | 1 | -47/+77 |
| | |||||
* | Store channel positions as vectors instead of angles | Chris Robinson | 2023-09-14 | 6 | -128/+173 |
| | | | | To avoid extraneous conversions between angles and vectors | ||||
* | Use a span instead of an auto&& to array | Chris Robinson | 2023-09-13 | 1 | -7/+7 |
| | |||||
* | 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 | 2 | -18/+1 |
| | | | | | 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 |
| | |||||
* | Include the early and late reverb gain for the decay fade timer | Chris Robinson | 2023-09-05 | 1 | -3/+30 |
| | |||||
* | Don't use a custom config for the pipewire event loop | Chris Robinson | 2023-09-03 | 1 | -1/+1 |
| | |||||
* | 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 |
| | |||||
* | 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 |
| | |||||
* | Allow querying AL_EFFECTSLOT_EFFECT | Chris Robinson | 2023-08-25 | 1 | -1/+1 |
| | | | | | | | 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. | ||||
* | Clear errno prior to the call that may set it | Chris Robinson | 2023-08-21 | 1 | -0/+1 |
| | |||||
* | Use a string instead of a c_str for a string_view | Chris Robinson | 2023-08-18 | 1 | -1/+1 |
| |