Open JoergAtGithub opened 1 year ago
Unsure if this is good idea (I remember the times whencheap LCD monitors suffered from blur on movement) but we won't know until we tried it.
possibly quite easy to implement under QML using a ShaderEffect
. At least easier than under the current system.
One more reason to get waveforms working under QML as soon as possible.
@m0dB IIRC you had a branch with geometry-based waveforms for QML. Is that ready for a PR?
@Swiftb0y , correct! But it has been ages since I touched that, or even looked at the QML code.
It is this branch:
https://github.com/mixxxdj/mixxx/tree/qml_scrolling_waveform
Note that this is just the waveform itself, and none of the overlays.
To be honest, I kind of lost interest in the QML implementation when I saw that it was not progressing much, and because, as I mentioned in Zulip at some point, I have my doubts about the approach of rewriting everything from scratch instead of doing a more gradual refactoring.
That said, I am happy to revive my branch, rebase it and revise the code with everything in mind that I have learned from doing the all-shader waveforms.
Hello all,
As an alternative to this, what about removing the limit of 60 frames per second?
I have a 144hz display, and would love to see the waveforms moving that smoothly.
Can you file a separate issue for that? It is probably only a few lines of code.
It's actually just changing the <property name="maximum">
of the slider and spinbox in https://github.com/mixxxdj/mixxx/blob/main/src/preferences/dialog/dlgprefwaveformdlg.ui
Unless there's another place where the framerate is limited, you'll notice ;)
Please note, that motion blur has much more benefits than increasing the frame rate, because you can calculate it individual for the real time period between two frames (different to the target frame swap period of e.g 16.66ms), it will therefore cancel visual stutter of the waveform movement, when the event queue stucks (e.g. while library scrolling).
Feature Description
Motion-Blur should improve the visual appearance of the waveforms and the indicators on the spinnies a lot. The technique is described here: http://john-chapman-graphics.blogspot.com/2013/01/per-object-motion-blur.html
Difficult might be the handling of short loops (e.g. 1/32 at 120BPM means a loop duration of 15.625ms, while the maximum framerate of Mixxx is 60fps equal to 16.666ms).