Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Use one macro to handle both resample padding sizes | Chris Robinson | 2018-01-09 | 1 | -1/+1 |
| | |||||
* | 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. | ||||
* | Remove standard reverb specific processing functions | Chris Robinson | 2018-01-07 | 1 | -114/+35 |
| | |||||
* | Move the UNEXPECTED macro to the main header and rename it | Chris Robinson | 2018-01-07 | 1 | -6/+1 |
| | |||||
* | 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 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 |
| | |||||
* | 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 |
| | |||||
* | 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 | 1 | -2/+0 |
| | |||||
* | 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 |
| | |||||
* | Add an option to ignore the app's speed of sound for reverb decay | Chris Robinson | 2017-09-22 | 1 | -2/+2 |
| | |||||
* | Use the app-specified speed of sound for reverb decay | Chris Robinson | 2017-09-21 | 1 | -4/+7 |
| | | | | | Specifically, the initial reverb decay as determined by the source distance, and the reverb decayhf limit from air absorption. | ||||
* | Pass the context to the auxiliary effect update method | Chris Robinson | 2017-09-21 | 10 | -41/+50 |
| | |||||
* | Use sqrtf for single-precision square roots | Chris Robinson | 2017-06-29 | 1 | -1/+1 |
| | |||||
* | Remove the fastf2u conversion function | Chris Robinson | 2017-06-27 | 3 | -9/+9 |
| | |||||
* | Calculate chorus and flanger mod delays separately from feedback | Chris Robinson | 2017-06-07 | 2 | -135/+118 |
| | |||||
* | Make the late lines' delay the delay average for modulation | Chris Robinson | 2017-06-07 | 1 | -59/+36 |
| | | | | | | | | | Similar to the recent chorus and flanger changes, the modulation delay now swings between -n to +n, where n is less than the delay length. This brings up a slight issue with the linear interpolation, as modff doesn't produce the correct fraction value for interpolation (it's inverted, with 0 being closer to the next sample and 1 being closer to the base). So it's using nearest interpolation for now. | ||||
* | Fix handling chorus and flanger LFO displacement offset | Chris Robinson | 2017-05-26 | 2 | -2/+8 |
| | | | | | The phase offset is modulo-wrapped rather than masked, so it's best to avoid negative offsets. | ||||
* | Properly handle the chorus and flanger LFOs | Chris Robinson | 2017-05-26 | 2 | -24/+30 |
| | | | | | The effects' specified delay is the average delay time, meaning the delay offset should move between -n and +n relative to the delay, where n <= delay. | ||||
* | Add a method to copy a filter's coefficients | Chris Robinson | 2017-05-21 | 2 | -39/+6 |
| | |||||
* | Avoid unnecessary doubles | Chris Robinson | 2017-05-21 | 1 | -2/+2 |
| | |||||
* | Use a macro to specify the decay target gain | Chris Robinson | 2017-05-21 | 1 | -2/+2 |
| | |||||
* | Reduce the main reverb filter gain limit to match the rest | Chris Robinson | 2017-05-16 | 1 | -4/+4 |
| | |||||
* | Make reverb delay line structs use interleaved floats | Chris Robinson | 2017-05-15 | 1 | -68/+73 |
| | |||||
* | Make the reverb's early and late feedback lines interleaved | Chris Robinson | 2017-05-14 | 1 | -42/+47 |
| | |||||
* | Update a couple comments about the reverb modulation | Chris Robinson | 2017-05-13 | 1 | -12/+13 |
| | |||||
* | Replace 4 separate all-passes with one vector all-pass | Chris Robinson | 2017-05-13 | 1 | -53/+47 |
| | | | | | | Each 4 related all-passes now share a structure with one delay line, which uses an interleaved sample history. Also fixes some potential rounding problems for delay lines with interleaved samples. | ||||
* | Apply reverb modulation to the late feedback lines | Chris Robinson | 2017-05-12 | 1 | -104/+71 |
| | | | | | | | | This seems to be more in-line with the intended behavior, to allow build-up and overlap within the reverb decay, rather than a pitch-shift on input. Unfortunately there's no readily available implementation of this reverb model that includes modulation to compare with, so a low depth coefficient is used to keep it very subtle. | ||||
* | Remove the 0.5 gain on the reverb output | Chris Robinson | 2017-05-11 | 1 | -6/+2 |
| | | | | | Turns out to be unnecessary, as it reduced the volume below what other reverb implementations provide with the same presets. | ||||
* | Restore the previous reverb B2A and A2B matrices | Chris Robinson | 2017-05-11 | 1 | -12/+12 |
| | | | | Also, untranspose the A2B matrix. |