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

Remove high quality mode from codebase #7219

Merged
merged 3 commits into from
Apr 27, 2024
Merged

Conversation

sakertooth
Copy link
Contributor

Many, many years ago (93a456c), high quality mode was merely disabled after it was noted that it can be problematic (which in fact it is) rather than being completely removed. Remove it from the codebase so we can get rid of some code and clean things up a bit.

This feature (and qualitySettings as a whole actually) is problematic since the settings are not applied for all of our resampling states, and the code currently only applies it for the resampling state in the current audio device (which is only utilized when we are moving from one sample rate to another and does not apply for AFP and sample tracks for example, so essentially the effect of higher quality interpolation is not even observed).

There are other reasons as well (having to reopen a new entire audio stream each time the quality changes, which does not seem like a good workflow, as well as the fact the oversampling multiplier is applied twice, since the sample rate of the audio device is set to AudioEngine::processingSampleRate, which is the original rate with the multiplier applied, so calls to AudioEngine::processingSampleRate would get a sample rate of deviceSampleRate * multiplier * multiplier).

Since its disabled for the most part, its mostly just in the way at this point (regardless of all the problems it would bring if it was implemented in full effect), so there's no need for it to be in the codebase.

Many, many years ago (93a456c), high quality mode was merely disabled after it was noted that it can be problematic rather than being completely removed. Remove it from the codebase so we can get rid of some code and clean things up a bit.
src/core/main.cpp Outdated Show resolved Hide resolved
qualitySettings should be refactored later however
@sakertooth sakertooth merged commit a53e5ba into LMMS:master Apr 27, 2024
9 checks passed
@sakertooth sakertooth deleted the remove-hq branch April 27, 2024 11:59
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