Author Topic: Resolution  (Read 12755 times)

Ian

  • Guest
Resolution
« on: 22 Sep '16 - 02:50 »
Hi. I  bought a 4K display and XMplay is just tiny. Any plans to make a bigger version for high resolutions? In Windows 7 I have DPI at 200%, but it looks like XMplay ignores this setting (I have the same problem with Cockos Reaper).


saga

  • Posts: 2267
Re: Resolution
« Reply #2 on: 23 Sep '16 - 18:02 »
Quote
I have DPI at 200%, but it looks like XMplay ignores this setting
Does XMPlay declare to be DPI-aware? If so, it should probably not do that, or at least upscale skins by integer factors if the DPI settings say so.

Dotpitch

  • Posts: 2878
Re: Resolution
« Reply #3 on: 2 Oct '16 - 18:45 »
Does XMPlay declare to be DPI-aware?
No, XMPlay does not declare to be DPI-aware.

rst

  • Posts: 314
Re: Resolution
« Reply #4 on: 8 Oct '16 - 15:37 »
Ian, requesting for the double size feature on the skins. Just like we have the amazing mini mode, the big mode should be perfect to make the 3 possible ways to have the XMplay skin.

I dont know but, some as 'double click on the skin while the control button is pressed' or some other nice way :)

Rah'Dick

  • XMPlay Support
  • Posts: 963
Re: Resolution
« Reply #5 on: 17 Aug '18 - 11:51 »
Hey everyone!

I know, thread necrophilia is looked down upon, but why make a new thread for the same issue and possibly lose the valuable answers from the old one?

Anyway, I recently bought a 4K screen, too and am now wondering whether it was the right decision, because - as rst said before - everything is TINY. Some of you might remember that I used to make skins, but that's quite some time ago, because I switched to Linux as my main OS around ten years ago - and WINE has problems running XMPlay, so I switched to another player, too. On Windows though, XMPlay remains my favourite player.

The 4K monitor exposed a pre-existing instability with my graphics card on Linux, but Windows is running fine (so far), so I get to use XMPlay a bit more now. And since high-res screens are becoming more common now, I want to refresh the original question: is there any chance we might see a native scaling solution for skins? I'm not even talking about float scaling; a simple "2X" mode would be sufficient for many years to come.

Alternatively, I might research a way to unpack, automatically resize and repack existing skins using a script. Anyone interested?

Many greets,
Thomas

deus-ex

  • Posts: 269
Re: Resolution
« Reply #6 on: 17 Aug '18 - 15:12 »
Well, hello there. We haven't seen you in a while. :)

a simple "2X" mode would be sufficient for many years to come.
I wouldn't bet any money on that. It's not that everyone is willing or can afford to upgrade to 4K or higher resolutions anytime soon, but 5K displays are already available, and I think we can expect the next resolution steps to be rather huge in scale.

Alternatively, I might research a way to unpack, automatically resize and repack existing skins using a script. Anyone interested?
Yes! I have a 4K display, too, so I'm definitely interested. Regarding the unpacking, Ian should be able to give a you hand with that, as you know he invented the used compression algorithm (PEtite).
« Last Edit: 17 Aug '18 - 15:17 by deus-ex »

Ian @ un4seen

  • Administrator
  • Posts: 21326
Re: Resolution
« Reply #7 on: 17 Aug '18 - 16:30 »
It may be possible to add a 2x size option in XMPlay. I have a couple of ideas that may (or may not :)) work. I'll look into it next week.

Regarding unpacking and repacking skins, they are in ZIP format these days, so no special processing needed for that. Older skins did/do use a custom compression system but they are being repackaged whenever an update of an old skin is released. If you're using a skin that hasn't been repackaged yet, let me know and I'll put up an update.

Keltic Danor

  • XMPlay Support
  • Posts: 753
Re: Resolution
« Reply #8 on: 17 Aug '18 - 16:50 »
I have photoshop scripts setup to 2x all the images for the skins (some more skin updates with 2x sizes in the works) only issue I have run into is fonts arn't necessary as easy, especially if some weirdo made specific bitmap fonts for the skin... *cough*

If not inbuilt I would think it would be easy enough to automate most of the process, with maybe a dash of manual tweaking as required.

deus-ex

  • Posts: 269
Re: Resolution
« Reply #9 on: 17 Aug '18 - 16:55 »
I'm using X-RD2506, which was actually created by Rah'Dick himself. It uses the old skin package format, to my knowledge there has never been an update for this skin made available. I'd love to see this particular skin being upgraded for higher resolution displays.

Ian @ un4seen

  • Administrator
  • Posts: 21326
Re: Resolution
« Reply #10 on: 17 Aug '18 - 17:43 »
A repackaged version of the X-RD2506 skin is up now:

   http://support.xmplay.com/files_view.php?file_id=329

Rah'Dick

  • XMPlay Support
  • Posts: 963
Re: Resolution
« Reply #11 on: 17 Aug '18 - 17:46 »
Thanks, Ian!

ANYWAY, I whipped up a PHP script that allows to scale a whole skin in one go, to arbitrary sizes (float), with and without image filtering.
I'll try to build a small site around that so that users can upload a .xmpskin file and get the scaled .xmpskin as download. If that works sufficiently well, maybe it can be hosted on the support site?

[Edit: see attachment :-) ]
« Last Edit: 17 Aug '18 - 17:51 by Rah'Dick »

Ian @ un4seen

  • Administrator
  • Posts: 21326
Re: Resolution
« Reply #12 on: 17 Aug '18 - 17:59 »
That was quick! It looks/sounds great. Does it also update the affected SKINCONFIG.TXT options, eg. font sizes, panel positions, etc?

Rah'Dick

  • XMPlay Support
  • Posts: 963
Re: Resolution
« Reply #13 on: 17 Aug '18 - 18:28 »
Yep. In its current state, you just point it at an extracted skin directory and it does all the rest.

I just have a question concerning "color_seethru" - as I understand it, if the value exists in a skinconfig, it is applied to every image except masks, right? And if it doesn't exist (such as in X-RD2506), the transparency color is sampled from the top-left pixel of "panel-" bitmaps? Or is it also applied to other bitmaps?

[Edit] Here's X-RD2560 [scaled 2.0], as converted by my tool, in case anyone wants to try.
« Last Edit: 17 Aug '18 - 18:34 by Rah'Dick »

Rah'Dick

  • XMPlay Support
  • Posts: 963
Re: Resolution
« Reply #14 on: 17 Aug '18 - 18:36 »
And here's iXMPlay (both editions), scaled to 2x. Sorry about splitting the posts, the attachment size limit was too small for one go.

deus-ex

  • Posts: 269
Re: Resolution
« Reply #15 on: 17 Aug '18 - 19:46 »
[Edit] Here's X-RD2560 [scaled 2.0], as converted by my tool, in case anyone wants to try.
I tried both X-RD2506 [scaled 2.0].zip and iXMPlay [scaled 2.0].zip, the ZIP archives don't work in their current distribution form. The skin files need to be stored in the root directory, and there can only exist one skin per archive.

Oddly enough there are some areas of the X-RD2506 [scaled 2.0] main skin which appear to be click transparent, i.e. you cannot left-click & hold the mouse in these areas to move XMPlay, instead the window/desktop below comes to front. See the red marked areas in the attached screenshot.


Rah'Dick

  • XMPlay Support
  • Posts: 963
Re: Resolution
« Reply #16 on: 17 Aug '18 - 20:13 »
I'm aware that the zip files cannot be used directly, I was just testing. I can't replicate your problem though, XMPlay reacts just fine to clicks and drags for me (Win7x64) (it was never possible to drag by the time display area btw.). The draw performance is quite sluggish, but that's to be expected without hardware acceleration.

deus-ex

  • Posts: 269
Re: Resolution
« Reply #17 on: 17 Aug '18 - 20:26 »
Maybe it is related to the fact that I use a windows system scaling factor of 225% instead of default 100%? I'm running Windows 10 64-bit here. While you mentioned it, why is there no hardware acceleration active for this scaled skin?

Could you please provide a 1.5 scaled version of the X-RD2506 skin? Due to my scaling setup of 225%, which I require to be able to comfortably read the otherwise way to tiny fonts, the X-RD2506 [scaled 2.0] skin stretches over the entire height of my 4K display.
« Last Edit: 17 Aug '18 - 20:36 by deus-ex »

Rah'Dick

  • XMPlay Support
  • Posts: 963
Re: Resolution
« Reply #18 on: 17 Aug '18 - 21:26 »
Weird, I have my Win7x64 set to 200% DPI but I didn't experience any additional scaling with the latest xmplay.exe.
Anyway, here's X-RD2506 [1.5x] for testing. I enabled filtering for this one, since non-integer scaling looks horrible with nearest-neighbor. You might have to adjust the size of some button images to match the exact pixel dimensions of the corresponding masks - my script doesn't do such a detailed analysis (yet).

Rah'Dick

  • XMPlay Support
  • Posts: 963
Re: Resolution
« Reply #19 on: 17 Aug '18 - 22:41 »
Hah, look what I found while searching for some skin source files! This is from February 2004, but I could possibly use it to make a real high-res version of "Plastic" :-)

deus-ex

  • Posts: 269
Re: Resolution
« Reply #20 on: 17 Aug '18 - 23:37 »
Weird, I have my Win7x64 set to 200% DPI but I didn't experience any additional scaling with the latest xmplay.exe.
I tested different Windows scalings, 150% (the default for 4K), 200% and 225%. The click-transparent areas of the X-RD2506 1.5 and 2.0 skins vary depending on the Windows system scaling, but they definitely appear in every of the tested windows scale factors.

Then I created my own X-RD2506 1.5 and 2.0 skin sets from Ian's re-zipped default X-RD2506. With these versions I do not get any click-transparent areas at all. I think I found the root cause of the issue: Except for the mask images (8-bit BMP), all images of your upscaled skins are saved as 32-bit PNG with alpha-channel, while Ian's re-zipped skin have those images all saved as 24-bit BMP, the transparent areas are represented by green color like is used in the 8-bit mask images.

You may want to update your conversion script accordingly, and once you are satisfied with the overall performance of your script (e.g. regarding the detailed analysis when upscaling, etc.) you could provide new releases of the upscaled skins. Btw, I witnessed no issues so far regarding the fitting of the button images.

Last but not least, thank you for your nice skins and your support.

deus-ex

  • Posts: 269
Re: Resolution
« Reply #21 on: 17 Aug '18 - 23:40 »
@Ian

Why can't the 8-bit mask images be saved in PNG format, too?

Rah'Dick

  • XMPlay Support
  • Posts: 963
Re: Resolution
« Reply #22 on: 18 Aug '18 - 03:35 »
Actually I chose 32bit PNG deliberately, because those marked-as-transparent regions would get colour artifacts when scaling with filter. The transparency color is essentially a bit mask without smooth gradients, but the filter interpolation would create additional pixels - and thus colors - between the visible parts of the skin and the green mask color. And because the mask only works on one exact color, but not the interpolated almost-green border, everything receives a green halo. Converting the transparency color into an alpha channel before scaling gets rid of that issue. Granted, it doesn't happen without filtering, but it looks absolutely inacceptable when filtering is enabled. I could try re-coloring every pixel with the transparency color that isn't 100% opaque, which would kinda restore the bit mask.

I'm not sure why you have those click-issues though, because I use the same PNG32 version and don't have that. Maybe Ian can shed a little light on this...

(By the way, I just found and converted the original 3D model from the "Plastic" skin to Blender, the new renderings look very close to the originals. Maybe I'll make a true 4K skin from it.)
« Last Edit: 18 Aug '18 - 03:56 by Rah'Dick »

Ian @ un4seen

  • Administrator
  • Posts: 21326
Re: Resolution
« Reply #23 on: 18 Aug '18 - 13:57 »
I just have a question concerning "color_seethru" - as I understand it, if the value exists in a skinconfig, it is applied to every image except masks, right? And if it doesn't exist (such as in X-RD2506), the transparency color is sampled from the top-left pixel of "panel-" bitmaps? Or is it also applied to other bitmaps?

Yes, that is correct. If "color_seethru" isn't set then the top-left pixel colour is used for transparency in the panel images only. If an image has an alpha-channel then that takes priority over both.

Why can't the 8-bit mask images be saved in PNG format, too?

XMPlay's PNG decoder currently only suports 24-bit and 32-bit images, so the 8-bit masks need to be in BMP format.

Rah'Dick

  • XMPlay Support
  • Posts: 963
Re: Resolution
« Reply #24 on: 18 Aug '18 - 18:10 »
Thanks for the clarification!
Also about the new .xmpskin files, are they just regular ZIPs? I can't seem to load any skin when I zip the files up and rename it as .xmpskin. What kind of magic do I have to perform? ;) Are there limitations, like "no PNG inside .xmpskin" or the like?