Author Topic: Skin Scaling Protable Version  (Read 2276 times)

Nox

  • Posts: 17
Skin Scaling Protable Version
« on: 9 Jan '22 - 05:15 »
I don't know if this is a portable version thing only or not.

I know someone must have mentioned this, but are there any plans to use scalable skins? I mean, the days of 1280 and 1080 are gone. Using the "big" option on my screen produces jagged skin edges.

Ahhhhh, it's the 21st century, and still no wide spread adoption of vector graphics in the graphics programs :(.

Also, what about the program options dialogue boxes too?  It would be nice to use options without an on screen magnifier. lol

Keltic Danor

  • XMPlay Support
  • Posts: 915
Re: Skin Scaling Protable Version
« Reply #1 on: 9 Jan '22 - 06:15 »
I don't know if this is a portable version thing only or not.

I know someone must have mentioned this, but are there any plans to use scalable skins? I mean, the days of 1280 and 1080 are gone. Using the "big" option on my screen produces jagged skin edges.

Ahhhhh, it's the 21st century, and still no wide spread adoption of vector graphics in the graphics programs :(.

Also, what about the program options dialogue boxes too?  It would be nice to use options without an on screen magnifier. lol
Results might vary a bit but you can try this skin scaler here:
http://rahdick.at/sonstiges/xmplay-skin-scaler/xmplay-skin-scaler-web.php

Are there specific skins you are talking about or in general?

Nox

  • Posts: 17
Re: Skin Scaling Protable Version
« Reply #2 on: 9 Jan '22 - 07:04 »
I've only tried two, one was originally a WinAmp skin called MMD3. The attached is a new skin called "Arcadian Fire." Really nice skin, BTW. Both have jaggies on the rounded corners and buttons are less than crisp.

I just tried the scaler. What it does is just take the original and enlarge it. it doesn't reduce jaggies. However, the buttons look better than using XM's "big" option. Since these are Bitmap images, I'm not really sure what can be done, except to make sure corners are properly dithered in production and the resolution is high enough to not show the bitmap jaggies. It's been a long time since I developed graphics.

Actually, the MMD3 skins did scale well, but the button text is still blurry.
« Last Edit: 9 Jan '22 - 08:54 by Nox »

Keltic Danor

  • XMPlay Support
  • Posts: 915
Re: Skin Scaling Protable Version
« Reply #3 on: 9 Jan '22 - 10:59 »
Oh yep, I think those skins are from back in the day before pngs (and opacity) were supported so there are no nicely rounded edges which will make them often look a bit jagged like that, I think acidian is back from 2007 or so.

Not much you can do automatically since an edge in the image isn't necessarily that kind of edge, you can unzip them and check out the files if you like/want to round them a bit better.

You'll find depending on the complexity some skins won't scale very well, like on the mmd3 you'll see the balance control is kind of messed up and also it uses a bitmap font which won't scale correctly as well. It's a bummer I'm sure but 15 years ago I don't think any of us were thinking about that kind of thing.
« Last Edit: 9 Jan '22 - 11:05 by Keltic Danor »

Nox

  • Posts: 17
Re: Skin Scaling Protable Version
« Reply #4 on: 9 Jan '22 - 20:17 »
Oh yep, I think those skins are from back in the day before pngs (and opacity) were supported so there are no nicely rounded edges which will make them often look a bit jagged like that, I think acidian is back from 2007 or so.

Not much you can do automatically since an edge in the image isn't necessarily that kind of edge, you can unzip them and check out the files if you like/want to round them a bit better.

You'll find depending on the complexity some skins won't scale very well, like on the mmd3 you'll see the balance control is kind of messed up and also it uses a bitmap font which won't scale correctly as well. It's a bummer I'm sure but 15 years ago I don't think any of us were thinking about that kind of thing.

Naw, well, we were aware that vector graphics would solve the problem, but far too much processor power to do it and still like that.  Also, I just made an image of the buttons in MMD you were talking about and was going to upload it. LOL. But yeah you get it.

 MMD was my favorite skin of all time in Winamp. Damn, whomever did that really did a nice job.

How do you guys do new skins so they scale better? Are there any modern skins that scale well?

Keltic Danor

  • XMPlay Support
  • Posts: 915
Re: Skin Scaling Protable Version
« Reply #5 on: 10 Jan '22 - 03:27 »
Naw, well, we were aware that vector graphics would solve the problem, but far too much processor power to do it and still like that.  Also, I just made an image of the buttons in MMD you were talking about and was going to upload it. LOL. But yeah you get it.
Probably, but I believe at the time XMPlay was specifically about audio quality, speed and size with everything else being a secondary concern. We aren't hurting for for memory or speed much anymore of course but I quite like that XMPlay hasn't increased in size/usage exponentially like everything else seems to have.

It's more than a little ironic to me that I was very much against adding skinning to XMPlay in the first place back then.  :P

How do you guys do new skins so they scale better? Are there any modern skins that scale well?
Not really, the skins all use more or less the same mechanics as back then so they are static images without the ability to scale, there are skins that have been made for higher resolutions or come in multiple sizes (like Neutron for example) but many old extremely tiny skins would need to be revised a bit to fit common resolutions today.

Despite all that, the skinning method really is quite straight forward for most part and if there isn't one that fits your requirements you may find modifying an existing skin or even porting one from another player to be easier than you think.

Nox

  • Posts: 17
Re: Skin Scaling Protable Version
« Reply #6 on: 10 Jan '22 - 05:13 »
Keltic,

Were you one of the developers of the original MMD3? I was going to say if you had the original images, the re-scaling website might work better. However, I know they were done so long ago that they will need to be upsampled, which is always poor. So, doesn't really matter. I guess if the original creator had the templates still, it would be  pretty easy to redo them larger, then down sampling would look really good.

Keltic Danor

  • XMPlay Support
  • Posts: 915
Re: Skin Scaling Protable Version
« Reply #7 on: 10 Jan '22 - 15:38 »
No, the original Winamp MMD3 skin was made by Sven Kistner, he gave me permission to do a port of it to XMPlay along with a couple of others like Winamp Modern. The conversion was basically using a modified version of the Winamp skin and many many copy & pastes of the results. I suppose one option would be to re-use my modified version and use winamps scaling and then create a new skin based on the increased size though you would need to either make a new bitmap font or just use a generic one instead.

It's been over 15 years since then but I vaguely remembering him not even having the original PSD's back then either though I may be confusing him with a different author.

I'm not sure how to get in touch with him these days to even ask but I guess you could give kistner@metrix.de a shot if you would like to try your luck.

Nox

  • Posts: 17
Re: Skin Scaling Protable Version
« Reply #8 on: 10 Jan '22 - 18:04 »
Thanks for that history. Yes, definitely would need new bitmaped fonts to be clear and crisp in the resize.

The best way to do it would be to just redo the graphics it in Photoshop or Gimp (although I never could like Gimp). If I were still doing graphics, I'd give it a shot. That's been over 10 years and I don't even have a copy of Photoshop anymore, and I've forgotten all of my skills, anyway. We could probably just pay some PS monkey to recreate the graphics pretty cheaply, though. It's just a really classic, beautifully designed graphic. It's sad to let it die.

Maybe if Winamp ever does come back, he'll do an update. We can wish for both. lol.

The new Neutron skin is very nice and very clean, basic, but clean. I like it.

Now if I can just get XM to import album art or covers while streaming!

I just sent off an email to him. Let's see if I get a reply, after navigating spam folders and other cyber traps, etc. It would be nice to have that skin for both XM and Music Bee.

If I may ask, what ever happened to the option of the dancing or smiling girl  graphics of MMD3? lol We all loved that!
« Last Edit: 10 Jan '22 - 18:36 by Nox »

Keltic Danor

  • XMPlay Support
  • Posts: 915
Re: Skin Scaling Protable Version
« Reply #9 on: 13 Jan '22 - 10:04 »
Thanks for that history. Yes, definitely would need new bitmaped fonts to be clear and crisp in the resize.

The new Neutron skin is very nice and very clean, basic, but clean. I like it.

If I may ask, what ever happened to the option of the dancing or smiling girl  graphics of MMD3? lol We all loved that!
Not sure I even remember how to make those fonts anymore, think I used a tool from the early 90's.  ;D

Yes, Neutron is quite possibly one of if not the most popular skin for XMPlay, lots of polish in it.

XMPlay does not have the option for multiple displays so I decided to just go with one of them and happened to pick that, there is actually an unreleased version of MMD3 that has a normal spectrum display instead but I didn't quite get around to doing any of the other animations.

Keltic Danor

  • XMPlay Support
  • Posts: 915
Re: Skin Scaling Protable Version
« Reply #10 on: 13 Jan '22 - 10:58 »
I tried the winamp scaling instead, the attached is 150%, if it looks reasonable to you I could probably do a color scheme or two. Note that the edge is rough in the original, I won't be able to do much about that part.

Nox

  • Posts: 17
Re: Skin Scaling Protable Version
« Reply #11 on: 13 Jan '22 - 18:05 »
The website scaling actually did a fantastic job of smoothing things out and making it overall look nice. What we need is the original PSD and then just increase resolution to something like 4K, but the graphics would need to be completely redone. At least the template with all of the shapes would be done. However, that's not ever going to happen (see attached). However, I'm not worried about it, really. It's nostalgia and sentiment, and time moves on.  I guess we have to also. It was just brought back memories when I saw MMD3 here. lol
I used 1.5 enlarge and 1.5 smoothing.

« Last Edit: 13 Jan '22 - 18:15 by Nox »

Nox

  • Posts: 17
Re: Skin Scaling Protable Version
« Reply #12 on: 13 Jan '22 - 19:24 »
I've been using Music Bee pretty much since WinAmp went away in its original developer, but MB has sooooo many options, it's overwhelming. I started using the portable version so I would always have a complete backup of my settings and layouts, otherwise, redoing a layout could take literally hours. Anyway, once in a while I always have a look around at how other Windows based players are coming along.

As far as XM goes, it's great, and it's easy to use, like the old WnAmp. it would be nice to be able to import artist covers from streams, though. I miss that function that Music Bee has. I also miss what the old WinAmp had, which was a plugin that would capture streams and break them into respective tracks/songs w/o re-coding them. (Music Bee does not have that.) With WinAmp, I would capture hours of a stream while sleeping, then while driving long distances, use those files in my car for continuous music. Music Bee doesn't have that. AIMP has it, though. (I don't think AIMP re-codes the file, but could be wrong.)

Keltic Danor

  • XMPlay Support
  • Posts: 915
Re: Skin Scaling Protable Version
« Reply #13 on: 14 Jan '22 - 04:54 »
It's been a long time since I used it as I don't stream often but the built it write to disk feature should do what you need as per the attached. It doesn't re-encode that I'm aware of but perhaps that depends on the format, someone else might be able to clarify.

I had a look into the coverart plugin and it looks like it is doing a new lookup on each new stream song so that part works fine but the look ups appear to be a bit unreliable at best which is probably why you are not having much luck using it, do you know a better source or two to lookup coverart? If so I can try and add them.

sveakul

  • Posts: 157
Re: Skin Scaling Protable Version
« Reply #14 on: 14 Jan '22 - 17:57 »
I also miss what the old WinAmp had, which was a plugin that would capture streams and break them into respective tracks/songs w/o re-coding them. (Music Bee does not have that.) With WinAmp, I would capture hours of a stream while sleeping, then while driving long distances, use those files in my car for continuous music. Music Bee doesn't have that. AIMP has it, though. (I don't think AIMP re-codes the file, but could be wrong.)
Check Keltic's post and images--yes it does capture streams and break them into tracks.  It uses the Artist/Title in the metadata (if available) to name the track in the style Artist - Title.[ext].  It does not create a tag.  It does not re-encode.

Since you mention AIMP, that can be selected to not re-encode mp3/aac but must for opus/flac.  That said, its functionality for handling stream recording is much more flexible and easy to use than XMPlay.

Nox

  • Posts: 17
Re: Skin Scaling Protable Version
« Reply #15 on: 14 Jan '22 - 18:13 »
[quote author=sveakul link=topic=19628.msg1

Since you mention AIMP, that can be selected to not re-encode mp3/aac but must for opus/flac.  That said, its functionality for handling stream recording is much more flexible and easy to use than XMPlay.
[/quote]

Hey thanks for that information. Can you elaborate on that a bit?  AIMP suffers even worse scaling of it's custom skins than does XM. At least XM has that skin scale webpage, and it does a great job too give it it working with relatively low res older graphics.

Nox

  • Posts: 17
Re: Skin Scaling Protable Version
« Reply #16 on: 14 Jan '22 - 18:59 »
It's been a long time since I used it as I don't stream often but the built it write to disk feature should do what you need as per the attached. It doesn't re-encode that I'm aware of but perhaps that depends on the format, someone else might be able to clarify.

I had a look into the coverart plugin and it looks like it is doing a new lookup on each new stream song so that part works fine but the look ups appear to be a bit unreliable at best which is probably why you are not having much luck using it, do you know a better source or two to lookup coverart? If so I can try and add them.

Duh! Stream capture right in font of my face. Well, good to know the stream capture it does not transcode and sveakul's post corroborating that..

So, yeah it's only using two sources, and one is Flicker, which is probably a non-source these days.

Man, I don't know how Music Bee does it but it always has streaming album covers for every song I play, mostly from Shoutcast .pls files, but also from others.

This is actually all I can find in MB, but you may want to have a look because you're much more capable than I am:


sveakul

  • Posts: 157
Re: Skin Scaling Protable Version
« Reply #17 on: 14 Jan '22 - 19:08 »
Hey thanks for that information. Can you elaborate on that a bit?
I'm hesitant to push another player's attributes here, but these screenshots from the relevant AIMP preferences can be viewed as visual "wishlist" for a future version of XMPlay.  The people at the AIMP forum can give you further details.





Nox

  • Posts: 17
Re: Skin Scaling Protable Version
« Reply #18 on: 14 Jan '22 - 20:07 »
Hey thanks for that information. Can you elaborate on that a bit?
I'm hesitant to push another player's attributes here, but these screenshots from the relevant AIMP preferences can be viewed as visual "wishlist" for a future version of XMPlay.  The people at the AIMP forum can give you further details.



Right, right got it! Thanks. I just wish they had a way to scale their skins now.

skeptic mike

  • Posts: 8
Re: Skin Scaling Protable Version
« Reply #19 on: 16 Jan '22 - 16:56 »
Naw, well, we were aware that vector graphics would solve the problem, but far too much processor power to do it and still like that.  Also, I just made an image of the buttons in MMD you were talking about and was going to upload it. LOL. But yeah you get it.
Probably, but I believe at the time XMPlay was specifically about audio quality, speed and size with everything else being a secondary concern. We aren't hurting for for memory or speed much anymore of course but I quite like that XMPlay hasn't increased in size/usage exponentially like everything else seems to have.

It's more than a little ironic to me that I was very much against adding skinning to XMPlay in the first place back then.  :P

How do you guys do new skins so they scale better? Are there any modern skins that scale well?
Not really, the skins all use more or less the same mechanics as back then so they are static images without the ability to scale, there are skins that have been made for higher resolutions or come in multiple sizes (like Neutron for example) but many old extremely tiny skins would need to be revised a bit to fit common resolutions today.

Despite all that, the skinning method really is quite straight forward for most part and if there isn't one that fits your requirements you may find modifying an existing skin or even porting one from another player to be easier than you think.

I tried producing a script that would generate a skin at the "size" of my choice, and I got as far as a "proof of concept". i.e I could run the script and it produced a working skin, but I embedded all the data in the script, and the rules about the requirements for different elements in the UI are implicit. And I wrote it in vbScript, using the activeX interface to ImageMagick to produce the images. with netpbm to produce the mask BMPs in the required format.

I wanted a very simple skin, and tried to minimise the choices, but it still requires quite a lot of data to describe a skin.

Although I struggled with the scripting given my (lack of) ability, rather than try to improve the existing mess, I'd try to design a skin description that provides (or points to) all the information required.

The basic design is rows of "icons" packed from the left or right. My first thought was to use the ttf files of Google material icons (or the MS equivalent), but that didn't play well with ImageMagick, and is very hard to adjust. So I used the svg versions of the icons, and extracted the drawing instructions which are in effect in ImageMagick mvg format. The drawing instructions are adjusted to a basic 24x24 grid. That means the icons are monochrome, but I can change the foreground and background colour as I like, and scaling is simple to add. So I can queue drawing instrucions for the icons on the visible image and  an appropriate matching boxes on the mask. And write alterntive icons in the appropriate size for the button and other bitmaps according to the requirements for that action.

Text boxes and sliders are currently fitted in in an entirely ad-hoc way. The title box and the position slider take all the unused space on their rows.

And so on. And it looks like the attached, which is very different to most skins.

So, I think that it could be possible to produce a skin description that would be scalable, with a script to perform the mechanics of skin generation.

One interim thought: Could XMplay read the screen dpi (usually, 96, 120, 144, 168 or 192) and load a skin with corresponding scale? e.g. if my skin choice is "NewandShiny", load it from NewandShiny.xmpskin unless dpi isn't 96 but 144, and there is a skin NewandShiny-144.xmpskin

Mike