Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the implementation of a Moog-style lowpass ladderfilter with saturation and 2x oversampling. The number of poles is configurable . Filter modes are available for 6db/octave, 12db/octave, 18db/octave and 24db/octave.
I don't have any TODOs left right now, so this could either be the final version, or at least fairly close to the final version. I'm discarding the commit history here, this is not so interesting. The necessary changes for the resampler (#121) are included in this branch.
Right now the resampling is done with the FPU (as plugins/bseblockutils.cc is not getting compiled), but that is still fast enough for daily use. I've also noticed that BSE doesn't enforce SSE-alignment of input/output buffers, so right now SSE support is broken; if that were fixed, performance would be a bit better.
Of course this depends a bit on which inputs/outputs are connected, but for the common case one (stereo) ladder filter takes