Skip to content

Cleanup reverb state on reverb enable #883

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

soyersoyer
Copy link
Contributor

Since doReverb was not called after reverb was turned off, so the cleanup was missed.

Call the cleanup explicitly when enabling reverb.

The cleanup() resets all values ​​associated with the previous run to zero.

This change also removes the unnecessary bypass variable, as doReverb is only called when it is enabled (m_nParameter[ParameterReverbEnable]).

Since doReverb was not called after reverb was turned off, so the cleanup was missed.

Call the cleanup explicitly when enabling reverb.

The cleanup() resets all values ​​associated with the previous run to zero.

This change also removes the unnecessary bypass variable, as doReverb is only called when it is enabled (m_nParameter[ParameterReverbEnable]).
@soyersoyer
Copy link
Contributor Author

This needs some testing. Is this really useful?
Not all the noise I don't like about the performance change has gone away.

Copy link

Build for testing:
MiniDexed_1111_2025-04-23-ee409ea_32bit
MiniDexed_1111_2025-04-23-ee409ea_64bit
Use at your own risk.

@probonopd
Copy link
Owner

It seems to abruptly stop any still-running reverb tail when a new performance is loaded.

I think it gives a small "click" artefact due to the abrupt cutoff. Maybe we could use a very short fade out instead to avoid that?

@probonopd
Copy link
Owner

It also seems to cut off any still-playing notes. Is that intended? I don't think e.g., the Montage does it that way ;-)

The cleanup() overwrites about 120kbytes of memory, which may affect the GUI speed on slower PIs. It is better to run it before audio processing.
Copy link

Build for testing:
MiniDexed_1112_2025-04-23-a5d4b79_32bit
MiniDexed_1112_2025-04-23-a5d4b79_64bit
Use at your own risk.

@soyersoyer
Copy link
Contributor Author

soyersoyer commented Apr 23, 2025

It also seems to cut off any still-playing notes. Is that intended? I don't think e.g., the Montage does it that way ;-)

That's really not good then.

I saw on some big brand synths that you can set whether the existing sounds should continue to play when changing performance.

The still playing notes will stop when changing performance even without this commit. So that's intended:)

The click is not intended. But it's there even without the commit.

But it's less annoying because there's a little reverb on top :)

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