aargirakis / BZRPlayer

Audio player for Windows that plays over 650 different fileformats
http://bzrplayer.blazer.nu/
GNU General Public License v3.0
10 stars 0 forks source link

real visualizer resizement (mantaining aspect ratio) #369

Open ciros88 opened 1 year ago

ciros88 commented 1 year ago

currently when visualizer is shrinked its graphics are cutted of instead of being resized. this forces the user to have a big visualizer window (that occupy lot of space on the screen), with a minimum width in order to be able to see sufficient quantity of scrolltext and a minimum height in order to be able to see bottom relflections.

aargirakis commented 1 year ago

This would mean I have to do it in the same way like the tracker view, which means render to a default aspect ratio/resolution and then scaling it. Which may cause ugly scaling artifacts and also will not fill the window.

ciros88 commented 1 year ago

What could be a viable solution? as is, the visualizer force the user to occupy too much space on the screen, sacrifying other windows size (expecially under 1920x1080 resolutions) it is possible to have an higher quality scaling?

aargirakis commented 1 year ago

Out of the box I think that's the best one QT suppy. You can probably write your own, but that seems complicated right now. I guess we have to decide then that you draw the visualizer in 640x480 (1 star is 1 pixel etc.) and then you scale up and down keep aspect ratio. I'm not sure that solution is much better than today though.

aargirakis commented 1 year ago

I was thinking.... maybe a good solution is that there is a default resolution (i.e. 640x360) and then the widget scales that up or down, maintaining aspect ratio or not. And then there is a setting in preferences for resolution, like in most emulators. What do you think? That way it's up to the user if he likes higher resolution and bigger area etc.

ciros88 commented 1 year ago

Let's try and see what happens

ciros88 commented 1 year ago

very interesting, and i think we are almost there! what is needed now is the automatic viewport expansion when the resolution is lower then the window. i mean instead of showing blank borders, try to expand them in order to fill all the window viewport. i think with this it will be perfect!

aargirakis commented 1 year ago

I don't understand what you mean. There is a predefined resolution, nothing outiside of that will be expanded since that will ruin the whole solution. But if you have an idea I'm eager to listen. This is the best I've come up with. But maybe there is an even better solution.