hydrogen-music / hydrogen

The advanced drum machine for Linux, macOS, and Windows
http://www.hydrogen-music.org
GNU General Public License v2.0
1.05k stars 173 forks source link

Hydrogen on HiDPI #264

Open tchaffee opened 9 years ago

tchaffee commented 9 years ago

I just bought a new laptop with high DPI (4k?) and Hydrogen is pretty much unusable because the controls are all too small. Any ideas?

elpescado commented 9 years ago

What Operating System are you using?

thijz commented 9 years ago

the Hydrogen gui does not scale ... at all ... i'm afraid almost all buttons and graphics are bitmaps and these dont scale, so i'm afraid that it is very unlikely that there will ever be an option that allows you to make the controls bigger (unless we redo the complete gui)

metalmike commented 9 years ago

I' ve tried to use Hydrogen on an Rasppian PI with an 7" display (800x480 resolution) and the main window and also other windows don't fit on the screen. :-(

thijz commented 9 years ago

have you tried tabbed mode ? tools > preferences > appearance > default interface layout > tabbed mode (restart hydrogen after you change this setting) this was made for small displays (netbooks)

metalmike commented 9 years ago

No i havn't. I will do this and report the result. Thanks for that information. I can't find it in the appearance settings :-( (Tested with :Windows installer (0.9.6-alpha1 snapshot of February 2011))

metalmike commented 9 years ago

ok - the windows build was too old :-) for linux the tab view fixed most of my problems.

The Instruments -> Import Library window don't fit. Is it possible to make that also tabbed?

teamblubee commented 8 years ago

sorry to bump an old issue but @thijz said the UI doesn't scale at all unless they decide to redo the UI.

Could it be redone with something like QT5?

elpescado commented 8 years ago

Qt5 should help, as it allows for more flexible UI scaling. Of course pixmap-based UI elements would look blocky unless someone provides high resolution assets.

I tried to build Hydrogen with Qt5, but it's not straightforward as it seemed to me.

waveywhite commented 7 years ago

Blocky UI elements would at least be a usable milestone on the path to HiDPI perfection. Is QT5 on the development roadmap? HiDPI looks set to get more common on hi-end laptops.

thijz commented 7 years ago

the current development code is QT5 based, feel free to try it and let us know how it worked out for you

waveywhite commented 7 years ago

Thanks, @thijz, good news! I'll try to find time to take a look, I've an XPS15 with 240dpi so it should give a decent test.

waveywhite commented 7 years ago

A huge improvement, thank you. The UI is very usable

Graphics which are obviously fuzzy (in the order I noticed them):

waveywhite commented 7 years ago

Oh, and it needs a hires icon application. That looks awful on Ubuntu.

mauser commented 7 years ago

Could you provide an screenshot of hydrogen on your device? This would help to get an idea of how the text looks.

About the icon: have a look at #417 . Is it possible that there is an hydrogen xpm file in /usr/share/pixmaps/?

waveywhite commented 7 years ago

Here's a screenshot. screenshot from 2017-01-04 18-50-25

I had Hydrogen installed before but I can't find a hydrogen xpm file. I tried find /usr/share -name \*hydrogen\*xpm

mauser commented 7 years ago

The icon file of the hydrogen package is named "h2-icon.xpm"

waveywhite commented 7 years ago

Nothing there by that name, I tried find /usr/share -name h2\*xpm

mikotoiii commented 7 years ago

On Ubuntu you could do a sudo updatedb && locate h2-icon.xpm

If it's anywhere on the system, that should find it.

waveywhite commented 7 years ago

Hi @mikotoiii . No result on that either. The icon looks very lores, probably 16x16?

lores icon

mauser commented 7 years ago

Ok, i suppose i can't help then.. hydrogen installs itself the file "h2-icon.svg" which should scale fine. I can't say where your logo comes from and how your desktop environment picks that icon :-/

elpescado commented 7 years ago

I think it would be a good idea to install icon as prerendered png pixmaps in several sizes (like 32x32, 48x48, 256x256), as I'm not sure how svg icons are supported across desktop environments.

https://developer.gnome.org/integration-guide/stable/icons.html.en

mauser commented 7 years ago

@elpescado : Yes, that would be possible.

About the location of the icons: It irritates me that your link says that gnome looks in /usr/share/icons/, but https://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html says:

By default, apps should look in $HOME/.icons (for backwards compatibility), in $XDG_DATA_DIRS/icons and in /usr/share/pixmaps (in that order)

But maybe i'm understanding the gnome information wrong :-/ At the moment we're just putting an svg image to /usr/share/pixmaps.

elpescado commented 7 years ago

I was just randomly browsing Hydrogen sources and found something that may be relevant:

setWindowIcon( QPixmap( Skin::getImagePath() + "/icon16.png" ) ); (hydrogen/src/gui/src/MainForm.cpp:98)

waveywhite commented 7 years ago

This sounds like what I was seeing. I was running the application from the source and there were no Hydrogen resources in /usr/share and no .desktop file. It makes sense it was using a window icon

elpescado commented 7 years ago

PR #487 should fix some of the issues mentioned here: low-res icons and pixelated text on pattern list.

naclander commented 6 years ago

I'm using Hydrogen 0.9.7 on Ubutnu Studio 17.10 and the buttons are still too small to be usable ( this is running on a 2880 x 1800 screen ). I can't imagine how hard someone would have to squint on a 4k display. I can increase the font size, but the buttons remain the same size. Is there anything I can do to increase the buttons size, and make the usability better?

elpescado commented 6 years ago

Unfortunately, HiDPI support hasn't made its way to 0.9.7 release. You have to either wait for next release, 1.0.0, or build development version yourself.

ghost commented 6 years ago

TIP: on Linux, launch hydrogen (1.x.x+, with the above patch by @elpescado) with QT_AUTO_SCREEN_SCALE_FACTOR set to 1:

> QT_AUTO_SCREEN_SCALE_FACTOR=1 hydrogen

Without: https://i.imgur.com/mmoy5E8.png With: https://i.imgur.com/WIBApnJ.png

It is better than QT_SCALE_FACTOR since the latter will also scale the system fonts, which don't need to be scaled.

As can be seen, some buttons are displaced (like the ones on the rack in the right corner), but that's better than having the tiny ones instead.

philloflynn commented 5 years ago

I'm also having scaling issues on my surface pro 3 & 6 screens. Running windows 10

trebmuh commented 5 years ago

@philloflynn : which Hydrogen version?

philloflynn commented 5 years ago

1.0.0 beta1

RiverMersey commented 4 years ago

Hydrogen on win 10, on a 58" screen literally requires a magnifying glass in order to see the icons and certain text!

steevithak commented 4 years ago

Another vote for a UI that scales to match the desktop DPI. I've just installed Hydrogen 0.9.7 on my Fedora 32 workstation with 27" 4k monitor and controls are way to small to read and, in some case, too small to easily position the mouse pointer accurately enough to click them. If a non-beta 1.x version becomes available, I'll look for it in the Fedora package repo and give it a try.

fabatera commented 4 years ago

Hi, I had same problem with 0.9.7 small controls on my Asus notebook. Debian stretch, HiDPI monitor, display settings 3840x2160 (16:9) - 200% . The interface it's much better now with 1.0.0-rc1 after following the build instructions.

Screenshot: hydrogen1 0 0-rc1

rk4n3 commented 4 years ago

Can the GUI have some kind of scale selection, like small/medium/large ? I understand people's issue with a GUI being too small to easily use on a 4k screen, but making everything huge all the time isn't a great solution.

I personally use a 4k screen exactly FOR the reason that everything is then tiny so I can have tons of real-estate. As it is now, the latest version of Hydrogen now takes up half my screen in 4k with a GUI that is far bigger than necessary to be usable ... the over-arching problem here is there's no way to change it to suit whichever of the many display options one might have/want.

At the very least, there should be an option to go "small" or "large" ... just sayin'.

EDIT: I see there is a QT_SCALE_FACTOR that actually does perform a comprehensive scaling ... that works for me. I would still vote for a nice "small/medium/large" preference, as that would result in a better look than the hard-scaling :)

theGreatWhiteShark commented 2 years ago

Hey @rk4n3,

Since version 1.1.0 of Hydrogen there is a UI scaling option in the Preferences. Could you check whether this fits your needs and solve this issue?

Lucretia commented 2 years ago

The option in the preferences doesn't do anything. Have to use QT_AUTO_SCREEN_SCALE_FACTOR=1.5 on the command line.

theGreatWhiteShark commented 2 years ago

The option in the preferences doesn't do anything.

For the changes to take effect you have to quit Hydrogen and reopen it again. Do you still get the same scale factor for all three options?

cme commented 2 years ago

Perhaps I need to think of better text / tooltips for that option. It affects the rounding mode that Qt applies to its own detected scaling factor, it can't explicitly control arbitrary scaling -- only gives the user the choice of whether to scale up or scale down if Qt detects that it should scale to a non-integer value.

Actual scale factor detection is down to Qt, and I've seen it get it consistently right (these days) on macOS, I have no idea about other platforms since I only have a hi-dpi display on one machine, but it will be platform-specific code in Qt itself.