Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Create and use 2D upsampling matrices | Chris Robinson | 2022-08-25 | 3 | -9/+29 |
| | |||||
* | Apply the upsampler before rotation | Chris Robinson | 2022-08-25 | 1 | -84/+23 |
| | | | | | | | | Although this will necessitate applying a full device-order rotation for all ambisonic sources, it should be slightly better since it's effectively rotated after being mixed to higher order. This will also allow using more optimized upsamplers for 2D ambisonic sources vs 3D (while still allowing the sources to be rotated in 3D). | ||||
* | Skip LFE for aux send gains with Direct Channels | Chris Robinson | 2022-08-18 | 1 | -0/+4 |
| | |||||
* | Fix the channel spread for aux send gains with full HRTF | Chris Robinson | 2022-08-18 | 1 | -1/+1 |
| | |||||
* | Inline and precompute some CalcDirectionCoeffs calls | Chris Robinson | 2022-08-18 | 6 | -8/+8 |
| | |||||
* | Fix the ringbuffer write size | Chris Robinson | 2022-08-18 | 1 | -1/+1 |
| | |||||
* | Use an intermediate buffer for writing to the ringbuffer | Chris Robinson | 2022-08-18 | 1 | -26/+11 |
| | | | | | It doesn't seem as though AudioUnitRender likes being given two buffers to render/capture samples into segmented memory. | ||||
* | Pass the action flags to AudioUnitRender from the callback | Chris Robinson | 2022-08-17 | 1 | -3/+2 |
| | |||||
* | Inline a function and remove an unnecessary parameter | Chris Robinson | 2022-08-16 | 2 | -2/+2 |
| | |||||
* | Pass the bus number to AudioUnitRender from the callback | Chris Robinson | 2022-08-16 | 1 | -2/+2 |
| | |||||
* | Use proper array sizes for more gains | Chris Robinson | 2022-08-15 | 12 | -22/+26 |
| | |||||
* | Use amplitude-matching HF scaling for non-FOA HRTF output | Chris Robinson | 2022-08-15 | 1 | -4/+4 |
| | |||||
* | Update in incorrect comment | Chris Robinson | 2022-08-15 | 1 | -1/+1 |
| | |||||
* | Use a decode-encode method for ambisonic upsampling | Chris Robinson | 2022-08-15 | 1 | -6/+107 |
| | | | | | | | | This should allow for clearer and less diffuse responses. While a cube is in the blindspots for second-order, resulting in an identify transform for first- to-second-order, they do start contributing to third-order channels, which should make for sharper virtual points. The fixed HF scales should also play nicer with larger order upmixes. | ||||
* | Update some arrays in preparation for fourth order support | Chris Robinson | 2022-08-14 | 1 | -1/+3 |
| | |||||
* | Rename the UHJ filter config option | Chris Robinson | 2022-08-09 | 1 | -2/+2 |
| | |||||
* | Add an option for higher quality UHJ filters | Chris Robinson | 2022-08-08 | 2 | -15/+30 |
| | |||||
* | Parameterize the UHJ filter length | Chris Robinson | 2022-08-07 | 2 | -3/+3 |
| | |||||
* | Avoid putting a 1KB array on the stack | Chris Robinson | 2022-08-02 | 1 | -6/+6 |
| | |||||
* | Rework multi-channel source radius handling | Chris Robinson | 2022-08-02 | 1 | -50/+118 |
| | | | | | | | | Rather than applying the calculated spread to each virtual channel, the spread indicates how much the virtual channels surround the listener. At full spread, the channels retain their virtual speaker positions, while at no spread, all channels converge on the source position. This behavior is more consistent with B-Format sources. | ||||
* | Change an inline function to a class method | Chris Robinson | 2022-08-02 | 3 | -9/+8 |
| | |||||
* | Check the channel count for a valid DecoderView | Chris Robinson | 2022-08-02 | 1 | -1/+1 |
| | | | | | Ambisonic decoders can be zeroth order, but they need at least one output channel. | ||||
* | Add media class for Audio/Source/Virtual as a valid node (#747) | Eir W | 2022-08-02 | 1 | -1/+6 |
| | |||||
* | Use an intrusive_ptr to hold on to the EffectState | Chris Robinson | 2022-07-29 | 1 | -3/+3 |
| | |||||
* | Ensure some mixing buffers are aligned for SIMD | Chris Robinson | 2022-07-26 | 2 | -2/+2 |
| | |||||
* | Use the reverb air absorption for the send paths | Chris Robinson | 2022-07-19 | 1 | -9/+7 |
| | |||||
* | Declare variables closer to where they're used | Chris Robinson | 2022-07-18 | 1 | -4/+2 |
| | |||||
* | [EAX_CONTEXT] Fix defaults for current properties | Boris I. Bendovsky | 2022-07-17 | 2 | -6/+41 |
| | |||||
* | [EAX_CONTEXT] Fix committing of a property value | Boris I. Bendovsky | 2022-07-17 | 1 | -1/+3 |
| | |||||
* | [EAX_FX_SLOT] Mark sources as changed instead of commiting them to catch up ↵ | Boris I. Bendovsky | 2022-07-17 | 2 | -7/+1 |
| | | | | with changes in FX slot | ||||
* | Don't pass an EaxCall to initialize_fx_slots | Chris Robinson | 2022-07-15 | 2 | -9/+8 |
| | |||||
* | Don't store and manage wet buffers separately | Chris Robinson | 2022-07-15 | 4 | -54/+15 |
| | |||||
* | Allocate EffectSlots in clusters | Chris Robinson | 2022-07-15 | 2 | -1/+20 |
| | |||||
* | Dynamically allocate EffectSlot objects | Chris Robinson | 2022-07-15 | 2 | -4/+4 |
| | |||||
* | Don't track dirty flags per EAX version | Chris Robinson | 2022-07-13 | 2 | -38/+25 |
| | | | | | Only the current version's flags are used, and they're all reset when changing versions, making it unnecessary to track non-current version flags. | ||||
* | Don't commit EAX properties when not initialized | Chris Robinson | 2022-07-13 | 1 | -1/+2 |
| | |||||
* | [EAX] Add separate context state for each version (#731) | Boris I. Bendovsky | 2022-07-13 | 2 | -688/+615 |
| | |||||
* | [EAX] Use separate FX slot state for each version (#730) | Boris I. Bendovsky | 2022-07-12 | 2 | -17/+4 |
| | | | | | | | * [EAX] Use separate FX slot state for each version [EAX] Don't defer FX slot properties * [EAX_FXSLOT] Use mPropsDirty to defer update [EAX_CONTEXT] Commit all updates on first initialization | ||||
* | Add a config compat option for NFC distance scaling | Chris Robinson | 2022-07-07 | 3 | -8/+12 |
| | | | | | | | | | | | | Currently there's no way for an application to specify the "real world" scale for in-game units. If the game doesn't use one unit to represent what should be perceived as one meter to the user, the NFC filter's effect will be too near or too far sounding. This allows adjusting the unit scale as applied to the NFC filters only, correcting the misalignment. This also removes the influence of EFX's MetersPerUnit from the NFC filters, since many games don't use it, and those that do won't know it also influences the perceived wave curvature along with the air absorption strength. | ||||
* | Add a speaker-dist config option | Chris Robinson | 2022-07-07 | 1 | -7/+15 |
| | | | | | | | This can be used to specify an average speaker distance without having the modify the decoder config files. This also sets a default value of 1, letting near-field effects work (if imprecisely) without an explicitly-configured distance. | ||||
* | Remove an unused struct | Chris Robinson | 2022-07-05 | 1 | -9/+1 |
| | | | | And minor formatting cleanup | ||||
* | Define PW_KEY_NODE_RATE when needed | Chris Robinson | 2022-06-24 | 1 | -0/+5 |
| | |||||
* | Fix the PipeWire version check | Chris Robinson | 2022-06-24 | 1 | -1/+2 |
| | | | | | | PW_CHECK_VERSION checks if the header version is equal to or newer than the values specified, it can't be used to check if the library version is equal to or newer than the header version. | ||||
* | Remove an unused lambda capture | Chris Robinson | 2022-06-18 | 1 | -1/+1 |
| | |||||
* | [EAX] Add separate source state for each version (#720) | Boris I. Bendovsky | 2022-06-18 | 2 | -27/+8 |
| | |||||
* | Don't apply effect auto send adjustments for non-reverb effects | Chris Robinson | 2022-06-16 | 1 | -1/+1 |
| | |||||
* | Match exactly 5.1 Rear in WASAPI | Chris Robinson | 2022-06-16 | 1 | -2/+2 |
| | | | | | So 7.1 and other configurations like it aren't detected as 5.1 Rear despite having side channels. | ||||
* | Handle a blank channel mask from WASAPI | Chris Robinson | 2022-06-14 | 1 | -10/+18 |
| | | | | | | | Without a channel mask, the channels are treated as "raw" or unknown. Auto- detection will only go up to stereo (assuming the first two channels are front- left and front-right), while explicit requests will work as long as there are enough channels (the user is responsible for ensuring a correct setup). | ||||
* | Use an inline function instead of a function-like macro | Chris Robinson | 2022-06-12 | 1 | -6/+7 |
| | |||||
* | Disable EAX if the Chorus effect is disabled | Chris Robinson | 2022-06-10 | 1 | -2/+7 |
| |