mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.25k stars 1.24k forks source link

EQ knobs in LateNight PaleMoon look different with Qt6.5.3 #12972

Open JoergAtGithub opened 3 months ago

JoergAtGithub commented 3 months ago

Bug Description

In Qt6 builds, an additional light grey circle appears on the bigger mixer knobs, but not on the effect knobs.

Knobs in Mixxx 2.4 (Qt5): grafik

Knobs in Main (Qt6.5.3): grafik

Version

Main

OS

Windows 11

ronso0 commented 3 months ago

I can not confirm this with Qt 6.2.3 Knobs look indentical. Which Qt version do you use?

However, the template looks different than the rendering. Might very well be that the current rendering is the result of a Qt bug which was fixed in your version, and now it is rendered correctly. image

JoergAtGithub commented 3 months ago

I use Qt6.5.3 from our VCPKG buildenv.

acolombier commented 1 month ago

What would be the suggested fix here? Change the SVG so it keeps the "rendering bug" on newer Qt version or change it so it looks like expected on older Qt version?

ronso0 commented 1 month ago

Change the SVG so it keeps the "rendering bug" on newer Qt version

Not sure how to do that :laughing:

The "fun part" of styling the knob SVGs was always trial, error, trial error ... because they were alomst never rendered like how it looked like in my editor (Inkscape) espacially if gardients AND transparency were involved.

change it so it looks like expected on older Qt version

:+1: we need to test this with various Qt6 versions (Qt5 compatibility has no prio for 2.5++ IMHO)

acolombier commented 1 month ago

I just had a play and it looks like the rendering bug is caused by the linearGradient referencing the other linearGradient, due to the multiple transform. Seems like the side effect is that it changes the z-index and render above the the black and grey stroking. If you remove the gradient and use a flat colour, this is the closer option I could get on Qt 6.2.4

image

ronso0 commented 1 month ago

Looking at the bug description again ( :roll_eyes: ), the effect Meta knobs still look good. So actually we Just :tm: need to scale up this smaller knob.

acolombier commented 1 month ago

I've changed my skin setting to have the super knob as well and remove the main mixer which was shifting component. I've used @JoergAtGithub's visual to compare the two looks. Besides fonts and colour tone (likely due to screen colour correction), I think this looks pretty good?

https://github.com/mixxxdj/mixxx/assets/7086688/36e4899f-f2c6-4d66-bc70-fd4799c7afa8

acolombier commented 1 month ago

@ronso0 do you think the above is a good enough fix? Should I create a PR for it?

ronso0 commented 1 month ago

In the gif you posted the EQ knobs look exactly as in the Qt6.5.3 screen @JoergAtGithub posted in the description. Am I missing something?

acolombier commented 1 month ago

Yes, this is a fade between Qt6.2.4 with my fix and @JoergAtGithub 's screenshot

Edit: Actually, it starts with Joerg's version, fade to my fix on 6.2.4 and fade back to Joerg's

ronso0 commented 1 month ago

Sorry, I don't see a relevant difference. The ring is still there with const color, no gradient / fading to bg color top->bottom.

ronso0 commented 1 month ago

I can try to scale the small knobs up and share that, but I can't test since I'm still on Qt 6.2.3 (where knobs look like they do with Qt5).

acolombier commented 1 month ago

I'm confused now, I though the look on Qt 6.5.3 was the one we wanted to keep, is that the other way around?

Swiftb0y commented 1 month ago

No, we wanted to keep the consistent Qt5 look (the one where it looks like the button are being lit from above and throwing a shadow below).

ronso0 commented 1 month ago

Yep :smile: we want to keep the skeumorphic look from 2.4, with the gradients, soft edges etc.

So, since the small knobs (fx Meta knobs) still look as desired, I assume something in the big knob's SVG is broken/incompatible/Qt quirk fixed/new Qt bug that prevents the soft rendering from Qt 6.2.3 and earlier.

That's why I suggested to clone the small knobs and carefully scale the elements up (maybe shift/resize/reposition the gradients) to get the old look. (this assumes the knobs look as desired in the respective SVG editor, which they do for me in Inkscape 1.3.2 on Linux)