Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use one macro to handle both resample padding sizes | Chris Robinson | 2018-01-09 | 4 | -22/+22 |
| | |||||
* | Combine the chorus and flanger processing functions | Chris Robinson | 2018-01-09 | 2 | -436/+164 |
| | | | | | | | Given that they're nearly identical, it should be relatively simple to use the same effect state to process either of them, similar to the reverbs. The big differences seem to be the delay range (much shorter with flanger) and the defaults. | ||||
* | Rename the device's temp buffer storage to be more generic | Chris Robinson | 2018-01-09 | 2 | -7/+11 |
| | |||||
* | Remove standard reverb specific processing functions | Chris Robinson | 2018-01-07 | 2 | -116/+35 |
| | |||||
* | Move the UNEXPECTED macro to the main header and rename it | Chris Robinson | 2018-01-07 | 2 | -7/+2 |
| | |||||
* | Ensure the chorus delay and depth leave enough padding for resampling | Chris Robinson | 2018-01-07 | 2 | -14/+26 |
| | | | | Also use cubic resampling for the modulated tap. Applies to flanger too. | ||||
* | Use a separate function to get the cubic value | Chris Robinson | 2018-01-07 | 2 | -9/+2 |
| | |||||
* | Remove the sinc4 table | Chris Robinson | 2018-01-07 | 1 | -5/+0 |
| | |||||
* | Replace the sinc4 resampler with cubic | Chris Robinson | 2018-01-07 | 7 | -290/+21 |
| | | | | | | | Turns out the C version of the cubic resampler is just slightly faster than even the SSE3 version of the FIR4 resampler. This is likely due to not using a 64KB random-access lookup table along with unaligned loads, both offseting the gains from SSE. | ||||
* | Test the correct offset for the loop start range | Chris Robinson | 2018-01-04 | 1 | -1/+1 |
| | |||||
* | Use the correct start point when looping | Chris Robinson | 2018-01-04 | 1 | -2/+2 |
| | |||||
* | Use separate outputs for the vector reverse and scatter functions | Chris Robinson | 2018-01-04 | 1 | -29/+23 |
| | |||||
* | Avoid the modulated output tap for late reverb | Chris Robinson | 2018-01-04 | 1 | -28/+14 |
| | | | | | | And fix the output filtering. The modulation code is still there since it's (probably) technically correct, but the interaction with the feedback loop and filtering on the output caused improper behavior which needs to be sorted out. | ||||
* | Don't offset the reverb modulation sinus | Chris Robinson | 2018-01-02 | 1 | -1/+1 |
| | |||||
* | Use a float literal for float math | Chris Robinson | 2018-01-02 | 1 | -2/+2 |
| | |||||
* | Reset CompLen when loading loop repeats in the mixer | Chris Robinson | 2018-01-02 | 1 | -0/+1 |
| | |||||
* | Avoid dereferencing a NULL pointer | Chris Robinson | 2017-12-31 | 1 | -1/+2 |
| | | | | | | Even though it's taking the address of a member, it's still technically a derefernce and thus undefined behavior. sizeof doesn't "execute" the expression, so derefering in it instead is fine. | ||||
* | Update resampler padding checks | Chris Robinson | 2017-12-29 | 1 | -3/+3 |
| | |||||
* | Fix up a comment | Chris Robinson | 2017-12-24 | 1 | -7/+5 |
| | |||||
* | Don't make a pass-through macro for FadedDelayLineOut | Chris Robinson | 2017-12-24 | 1 | -8/+7 |
| | |||||
* | Use linear interpolation for reverb modulation | Chris Robinson | 2017-12-24 | 1 | -76/+130 |
| | | | | | | The core LateReverb_* functions are explicitly written out now, since the tapping and blending done by the Faded version is a bit more complex and it's not so easy to ensure proper optimizing on the Unfaded version. | ||||
* | Don't offset the chorus/flanger delay and LFO | Chris Robinson | 2017-12-24 | 2 | -36/+22 |
| | | | | | The delay being added to the scaled LFO will ensure a proper positive result regardless. | ||||
* | Fade between depths in the reverb modulator | Chris Robinson | 2017-12-24 | 1 | -48/+26 |
| | |||||
* | Use a separate unmodulated feedback tap for reverb | Chris Robinson | 2017-12-24 | 1 | -18/+20 |
| | |||||
* | Clarify some reverb values | Chris Robinson | 2017-12-23 | 1 | -7/+6 |
| | |||||
* | Reorder some global variables | Chris Robinson | 2017-12-23 | 1 | -188/+188 |
| | |||||
* | Cleanup reverb modulation scaling | Chris Robinson | 2017-12-23 | 1 | -14/+17 |
| | |||||
* | Add missing integer queries | Chris Robinson | 2017-12-21 | 1 | -23/+65 |
| | |||||
* | Fix the lfo_offset for a 0-rate flanger | Chris Robinson | 2017-12-19 | 1 | -1/+1 |
| | |||||
* | Use MixSamples for the echo output | Chris Robinson | 2017-12-19 | 1 | -30/+20 |
| | |||||
* | Update the chorus and flanger state struct less often | Chris Robinson | 2017-12-19 | 2 | -8/+8 |
| | |||||
* | Make the echo effect only apply feedback to repeated samples | Chris Robinson | 2017-12-19 | 1 | -11/+16 |
| | |||||
* | Fade gains in the chorus and flanger output | Chris Robinson | 2017-12-19 | 2 | -16/+20 |
| | |||||
* | Use a single delay line for chorus feedback on a fixed tap | Chris Robinson | 2017-12-18 | 2 | -92/+118 |
| | | | | | | The outputs themselves use a variale-delay tap, but using a separate fixed- delay tap on the feedback helps improve the perceived "wobble" with sustained notes. This also applies to the flanger effect. | ||||
* | Apply chorus and flanger feedback on the tapped re-feed | Chris Robinson | 2017-12-17 | 2 | -6/+6 |
| | |||||
* | Use the selected mixer for chorus and flanger output | Chris Robinson | 2017-12-17 | 2 | -50/+22 |
| | |||||
* | Make MixSamples non-static global | Chris Robinson | 2017-12-17 | 2 | -4/+2 |
| | |||||
* | Fix some types to make MSVC happy | Chris Robinson | 2017-12-17 | 2 | -6/+6 |
| | |||||
* | Mix multiple buffers in each buffer list item | Chris Robinson | 2017-12-16 | 1 | -64/+112 |
| | | | | Basically now this just relies on being able to specify composited buffers. | ||||
* | Pre-clear the source temp buffer and accumulate into it | Chris Robinson | 2017-12-16 | 1 | -18/+7 |
| | |||||
* | Rename SrcDataSize to be less confusing | Chris Robinson | 2017-12-16 | 1 | -25/+23 |
| | |||||
* | Allow storing multiple buffers in a ALbufferlistitem | Chris Robinson | 2017-12-15 | 2 | -4/+8 |
| | | | | | | | | | | | | | | | This will be to allow buffer layering, multiple buffers of the same format and sample rate that are mixed together prior to resampling, filtering, and panning. This will allow composing sounds from individual components that can be swapped around on different invocations (e.g. layer SoundA and SoundB on one instance and SoundA and SoundC on a different instance for a slightly different sound, then just SoundA for a third instance, and so on). The longest buffer within the list item determines the length of the list item. More work needs to be done to fully support it, namely the ability to specity multiple buffers to layer for static and streaming sources. Also the behavior of loop points for layered static sources should be worked out. Should also consider allowing each layer to have a sample offset. | ||||
* | Update flanger with the same changes as chorus | Chris Robinson | 2017-12-15 | 1 | -44/+55 |
| | |||||
* | Use a separate LFO offset in the chorus effect | Chris Robinson | 2017-12-15 | 1 | -10/+19 |
| | | | | | Given that the LFO range is not a power-of-two, it won't correctly wrap on overflow. | ||||
* | Use linear interpolation for the chorus delay output | Chris Robinson | 2017-12-15 | 1 | -37/+39 |
| | |||||
* | It's getFactory that may be NULL, not its return value... | Chris Robinson | 2017-11-26 | 1 | -3/+4 |
| | |||||
* | Don't probe a NULL backend factory | Chris Robinson | 2017-11-26 | 1 | -2/+2 |
| | |||||
* | Properly initialize with the default distance model | Chris Robinson | 2017-10-29 | 1 | -6/+3 |
| | |||||
* | Enable NFC filters for HRTF | Chris Robinson | 2017-10-23 | 1 | -0/+2 |
| | | | | Only applies to the Ambisonic mix (basic HRTF rendering, or B-Format buffers). | ||||
* | Store the HRTF distance in the Hrtf handle | Chris Robinson | 2017-10-23 | 2 | -8/+13 |
| |