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

Rotary: Fix accidental quantization #14107

Merged
merged 2 commits into from
Jan 2, 2025

Conversation

fwcd
Copy link
Member

@fwcd fwcd commented Jan 2, 2025

Fixes #14095

This fixes the issue where std::accumulate would accidentally get instantiated to int (and thus quantize the entire sum to integers), causing the rotary filter to get insensitive to small changes, as they'd just be zeroed out. I have added a unit test to verify this.

I presume the lesson learned is that we should be careful about blindly replacing loops with std::accumulate or the like.

@fwcd fwcd requested a review from Swiftb0y January 2, 2025 16:00
src/test/rotary_test.cpp Outdated Show resolved Hide resolved
Copy link
Member

@Swiftb0y Swiftb0y left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you. I was just about to do this as well.

Copy link
Member

@Swiftb0y Swiftb0y left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thank you. Waiting for CI.

@fwcd fwcd added this to the 2.6-beta milestone Jan 2, 2025
@JoergAtGithub JoergAtGithub merged commit f412a62 into mixxxdj:main Jan 2, 2025
13 checks passed
@fwcd fwcd deleted the fix-rotary-quantization branch January 2, 2025 18:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Regression: Strangely slow jog wheel scrubbing (with Denon MC7000, but potentially others too?)
3 participants