Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

morph switch #7787

Merged
merged 1 commit into from
Sep 17, 2024
Merged

morph switch #7787

merged 1 commit into from
Sep 17, 2024

Conversation

blancoberg
Copy link
Contributor

Implemented switch for handling legacy vs new interpolation

I decided to move the actual calculations of the interpolations outside of convolute, to make it more clear if we for some reason decide to add more interpolation modes.

I then have a function pointer that is set on each block that points to the active interpolation function. I though that would be more optimal than having several if-statements inside of convolute().

I have also included the morph interpolation that I talked about yesterday. It is only used in cases where the morph value has changed more than 5 frames in a block. It works pretty well to reduce noise in those cases.
A nice side effect is that it also reduces the noise when changing value with GUI, as those stepped changes will now morph instead of scrub.

Addresses #7784 #7777 #7696

Implemented switch for handling legacy vs new interpolation
@baconpaul
Copy link
Collaborator

Oh that function pointer solution is very clever. Nice.

Let me merge this and then we can start asking nightly testers to look out for goobits.

@baconpaul baconpaul merged commit 736ca19 into surge-synthesizer:main Sep 17, 2024
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants