MeterSlider::paintEvent() does not update the left-most pixel column when user adjusts volume while playing

• Mar 18, 2017 - 00:14
Reported version
2.1
Type
Functional
Severity
3
Status
closed
Project

If I lower the volume slider value while playing back music, I can notice a glitch in the rendering:

Screenshot (191).png

If you look at the leftmost pixel column of the meter, you can see that it still has left behind the previous filled color image...i.e. it hasn't updated that part of the rectangle.

Similarly, if I increase the slider value while playing back music, you can see it leaves behind the previous "unfilled" color that left most pixel column:

Screenshot (192).png

This is a very minor visual glitch, but nonetheless I think important to fix for professional presentability purpose.

Present in 2.0.3 as well as latest 2.1-dev and 3.0-master.


Comments

Severity

I should note that the fact that the little notches end past the left of the meter is a bit problematic as far as updating the rectangle. In order to both do my fix as well as to keep the little if return after the "optimize common case" comment, then I think what I'm going to do is have those notches. Here is what the shorter notches look like now:

Screenshot (197).png

(of course ignore the fact that I'm using light theme instead of dark theme). But had I left those notches extending past the left edge of the meter, there would have been visual glitches unless I had also removed that optimization.

Here is PR for review:

https://github.com/musescore/MuseScore/pull/3083

Severity
Status (old) patch (code needs review) fixed

Fixed in branch master, commit 8c824e26f2

fix #182171 correct update rect to cover entire meter rect

Increased the QRect to cover entire meter are which is updated, to prevent a visual glitch whereby leftmost two columns of pixels weren't updated. But since since the notches aren't redrawn when synth updates level, notches have been shifted a bit and end right before the mixer redraw area so they'll no longer overlap, which prevents a visual glitch whereby the notches would flicker off when mixer was redrawn.

Fixed in branch 2.1, commit 99e3aa638b

fix #182171 correct update rect to cover entire meter rect

Increased the QRect to cover entire meter are which is updated, to prevent a visual glitch whereby leftmost two columns of pixels weren't updated. But since since the notches aren't redrawn when synth updates level, notches have been shifted a bit and end right before the mixer redraw area so they'll no longer overlap, which prevents a visual glitch whereby the notches would flicker off when mixer was redrawn.