View Issue Details

IDProjectCategoryView StatusLast Update
0000627OpenMPTUser Interfacepublic2023-03-19 16:13
ReporterSaga Musix Assigned ToSaga Musix  
PrioritynormalSeverityminorReproducibilityhave not tried
Status assignedResolutionopen 
Target VersionOpenMPT 1.32 / libopenmpt 0.8 (goals) 
Summary0000627: Make OpenMPT completely DPI-aware

Several parts of OpenMPT are not compatible with high-DPI devices yet.
Currently, this is true for:

  • All icons (currently upscaled, should provide high-res replacements)
  • Cursors (Windows currently scales them to the correct size, should provide high-res replacements)
  • Channel headers in pattern editor
  • Channel Manager
  • Default plugin manager size
  • Channel VU meters
  • Example picture in Display settings
  • Splash screen
  • Credits font
  • Default plugin GUI
TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)


related to 0001490 resolvedSaga Musix Freeze when file dialog tries to display overly long tooltip of file type selector on mixed-DPI screens 
has duplicate 0001066 closed Optimization for 1920 x 1080 displays 
related to 0001114 new Rewrite pattern view drawing 


Saga Musix

Saga Musix

2016-09-21 11:48

administrator   ~0002669

The line drawing width may also have to be adjusted in several places, for example the parameter editor and instrument editor. Maybe we could switch those to use GDI+ (it's implicitely requried by MFC in VS2010+ and comes pre-installed on XP and newer anyway) and have anti-aliased lines as a free bonus.

Saga Musix

Saga Musix

2019-05-22 19:08

administrator   ~0003947

Starting from Windows 10 1607, there is SetThreadDpiAwarenessContext which we could use to selectively scale some plugin UIs but not others (probably not trivial to implement, though). When OpenMPT is not set to be DPI-aware, we should also consider using SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED) as it will essentially cause fonts to be no longer blurry even when scaled up. There are a couple of remaining UI glitches (some random pixels at the top of pattern and instrument editor, and maybe more) that currently prevent us from using it, and then there is of course also all those plugins that will potentially also look broken for the same reasons.

Issue History

Date Modified Username Field Change
2014-12-31 02:08 Saga Musix New Issue
2014-12-31 02:08 Saga Musix Status new => assigned
2014-12-31 02:08 Saga Musix Assigned To => Saga Musix
2014-12-31 17:44 Saga Musix Description Updated
2014-12-31 18:03 Saga Musix Description Updated
2014-12-31 21:23 Saga Musix Description Updated
2015-03-11 13:04 Saga Musix Description Updated
2015-05-24 22:38 Saga Musix Description Updated
2015-06-08 20:33 Saga Musix Description Updated
2016-08-07 20:29 Saga Musix Product Version OpenMPT 1.?? (long term goals) =>
2016-08-07 20:29 Saga Musix Target Version => OpenMPT / libopenmpt 0.3.1 (upgrade first)
2016-09-21 11:48 Saga Musix Note Added: 0002669
2017-05-07 10:26 Saga Musix Description Updated
2017-09-22 12:16 manx Target Version OpenMPT / libopenmpt 0.3.1 (upgrade first) => OpenMPT / libopenmpt 0.4.0 (upgrade first)
2017-11-23 01:32 Saga Musix Relationship added has duplicate 0001066
2018-04-15 17:25 manx Relationship added related to 0001114
2018-06-27 21:20 Saga Musix Description Updated
2018-09-25 19:05 Saga Musix Description Updated
2018-12-23 13:25 Saga Musix Target Version OpenMPT / libopenmpt 0.4.0 (upgrade first) => OpenMPT / libopenmpt 0.5.0 (upgrade first)
2019-05-22 19:08 Saga Musix Note Added: 0003947
2020-04-14 16:08 Saga Musix Target Version OpenMPT / libopenmpt 0.5.0 (upgrade first) => OpenMPT / libopenmpt 0.6.0 (upgrade first)
2021-09-15 15:10 Saga Musix Relationship added related to 0001490
2021-09-15 15:10 Saga Musix Target Version OpenMPT / libopenmpt 0.6.0 (upgrade first) => OpenMPT / libopenmpt 0.7.0 (upgrade first)
2023-01-04 20:29 Saga Musix Description Updated
2023-03-19 16:13 Saga Musix Target Version OpenMPT / libopenmpt 0.7.0 (upgrade first) => OpenMPT 1.32 / libopenmpt 0.8 (goals)