Old 19th January 2019, 12:41   #1
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 495
Fixing old freeform skins

This thread is collecting fixes for issues that arise when old freeform skins are used in recent Winamp.

Latest and greatest modern skins: Big Bento Modern v1.13 & Quinto Black CT v3.1
ariszlo is offline   Reply With Quote
Old 19th January 2019, 12:59   #2
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 495
asynchronous entity

Dominator is a Winamp 3 skin with interesting animations. When you try to use it in recent versions of Winamp, Winamp will throw up the following error message and then crash:
Quote:
asynchronous entity at line 344
How to fix it?

Asynchronous entity errors occur when a tag is not closed in an xml file. Line 344 tells us that Winamp tried to find the closing tag until line 344 and then gave it up. So we should look for an xml file with 344 lines.

Dominator's studio-elements.xml has exactly 344 lines so the unclosed tag should be in that file.

Short explanation. With respect to how you close them, there are two types of tags. Enclosing tags have an opening tag and a closing tag. An opening tag looks like this:
PHP Code:
<elements
and a closing tag looks like this:
PHP Code:
</elements
The other type of tags is self-closing tags. Self-closing tags have a slash before the final greater-than sign. "Include" tags are self-closing:
PHP Code:
<include file="whatever.xml"/> 
The unclosed tag will be easy to find in Dominator's studio-xml because its very first line contains an include tag that does not have a slash before the greater-than sign. So all you need to do is add the missing slash like this:
PHP Code:
<include file="tooltips.xml"/> 
Adding the missing slash will fix the asynchronous entity error and there will be no more crashes.

Check out this topic for another skin in which the closing member was missing of an enclosing tag.

Latest and greatest modern skins: Big Bento Modern v1.13 & Quinto Black CT v3.1
ariszlo is offline   Reply With Quote
Old 19th January 2019, 15:02   #3
Victhor
Late skinner & Moderator
 
Victhor's Avatar
 
Join Date: May 2003
Location: Argentina
Posts: 1,606
Good call, I wish I have more free time.. Will be watching on this though.

Ps: Why "freeform" and not "modern"?
Victhor is offline   Reply With Quote
Old 19th January 2019, 15:13   #4
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 495
Play/Pause button

Once you have fixed the asynchronous entity error for Dominator, you will run into another bug: the Play/Pause button will not start playback at startup.

Background info: Skins that have a single Play/Pause button (rather than two separate buttons) toggle Play and Pause with the help of a maki script. The problem is that the old play2pause.maki, which used to work well with Winamp 3, does not work well with recent versions of Winamp.

How to fix it?

Copy pjn123's sc_PlayPause.maki into the skin's scripts directory and replace this line in the xml file that contains it (player-normal-group.xml in Dominator):
PHP Code:
<script id="play2pause" file="scripts/play2pause.maki"/> 
with this one:
PHP Code:
<script file="scripts/sc_PlayPause.maki" param="Play;Pause"/> 
You should also put sc_PlayPause.m into the skin's script directory to
  • help others learn how the script was written and
  • give credit to pjn123
Attached Files
File Type: zip sc_playpause.zip (1.9 KB, 127 views)

Latest and greatest modern skins: Big Bento Modern v1.13 & Quinto Black CT v3.1
ariszlo is offline   Reply With Quote
Old 19th January 2019, 15:21   #5
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 495
Quote:
Originally Posted by Victhor View Post
Ps: Why "freeform" and not "modern"?
I find "old modern" a bit odd. Originally, I was thinking on a longer title: "Fixing old freeform skins (WA3 and WA5 Modern)". But then decided on this shorter one.

Latest and greatest modern skins: Big Bento Modern v1.13 & Quinto Black CT v3.1
ariszlo is offline   Reply With Quote
Old 19th January 2019, 19:31   #6
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 495
Play/Pause simpler

After I had posted the Play/Pause fix using pjn123's sc_PlayPause.maki, I found a faster fix.

All you need to do is overwrite the skin's original play2pause.maki file with the one in the attached zip archive. You do not need to replace any line in any xml file.

The source of the attached play2pause.maki is FrisbeeMonkey's Play-to-Pause script to which I applied SLoB's fix.
Attached Files
File Type: zip play2pause-updated.zip (2.5 KB, 128 views)

Latest and greatest modern skins: Big Bento Modern v1.13 & Quinto Black CT v3.1
ariszlo is offline   Reply With Quote
Old 19th January 2019, 21:12   #7
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 495
Scrollbars

When you load a Winamp 3 skin into current Winamp then the original scrollbars will be replaced with scrollbars generated from the generic button and other elements.

To restore the original scrollbars, change the version number of WinampAbstractionLayer to 1.3 in skin.xml like this:
PHP Code:
<WinampAbstractionLayer version="1.3"
Attached Thumbnails
Click image for larger version

Name:	scrollbars.png
Views:	151
Size:	18.2 KB
ID:	54333  

Latest and greatest modern skins: Big Bento Modern v1.13 & Quinto Black CT v3.1
ariszlo is offline   Reply With Quote
Old 21st January 2019, 19:46   #8
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 495
TrueType font size

Winamp 5 displays TrueType fonts smaller than Winamp 3. So if you want to preserve the original look of a Winamp 3 skin when updating it for Winamp 5, you need to multiply the fontsize value of TrueType fonts by 1.3.

Dominator, whose startup crashes were fixed in comment #2, uses a TrueType font in the title bars of Playlist Editor, Media Library, etc.

The size of the title bar font of these windows is defined in standardframe.xml. Open the file, find the groupdef of wasabi.titlebar and increase the fontsize from 13 to 17.
Attached Thumbnails
Click image for larger version

Name:	truetype-fontsize.png
Views:	137
Size:	43.5 KB
ID:	54338  

Latest and greatest modern skins: Big Bento Modern v1.13 & Quinto Black CT v3.1
ariszlo is offline   Reply With Quote
Old 23rd January 2019, 14:25   #9
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 495
Playlist Editor colors

Buroid is a Winamp 3 skin that does have its own text and background colors for the Playlist Editor but uses the colors of the Winamp 3 default skin. When you load it into Winamp 5, most of the colors will be all right but not all of them. If you select the currently played song in the Playlist Editor, you will be hardly able to read what is because Winamp 5 will show it with grey text on a grey background.

Background info. Winamp 3 defines the color of selected list items with wasabi.list.item.selected (or studio.list.item.selected in earlier alpha and beta versions), while Winamp 5 expects wasabi.list.text.selected, which it does not find. Winamp 3 marks the currently played track with a rectangle around it, while Winamp 5 marks it with a different color.

How to fix it?

Copy the following text into a text editor and save it as system-colors.xml into Buroid's xml directory:

PHP Code:
<elements>

  <
color id="wasabi.list.text.current" value="255,255,255" gammagroup="Text"/>
  <!-- 
from wasabi.list.item.selected.fg -->

  <
color id="wasabi.list.text.selected" value="255,255,255" gammagroup="Text"/>
  <!-- 
from wasabi.list.item.selected.fg -->

  <
color id="wasabi.list.text.selected.background" value="0,0,128" gammagroup="Text Backgrounds"/>
  <!-- 
from wasabi.list.item.selected -->

</
elements
Winamp will only load system-colors.xml if you add the following line before the other include tags in skin.xml:
PHP Code:
<include file="xml/system-colors.xml"/> 
If you experience similar issues with a skin that has its own system-colors.xml then add the missing color definitions to it. Make sure that you copy the values from the skin's own wasabi.list.item.selected.fg and wasabi.list.item.selected color definitions.
Attached Thumbnails
Click image for larger version

Name:	pledit-colors.png
Views:	143
Size:	47.7 KB
ID:	54341  

Latest and greatest modern skins: Big Bento Modern v1.13 & Quinto Black CT v3.1
ariszlo is offline   Reply With Quote
Old 23rd January 2019, 22:18   #10
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 495
Quote:
Originally Posted by ariszlo View Post
...that does have...
I mean does NOT have.

Latest and greatest modern skins: Big Bento Modern v1.13 & Quinto Black CT v3.1
ariszlo is offline   Reply With Quote
Old 23rd January 2019, 22:30   #11
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 495
Black current

Another issue that may arise when you load an old skin that does not define the color of the currently played track is that the song info for the currently played track will be displayed in black text on a black background when you select a playlist in Media Library's treeview.

The fix in comment #9 fixes this, too.
Attached Thumbnails
Click image for larger version

Name:	ml-black-on-black.png
Views:	129
Size:	19.4 KB
ID:	54349  

Latest and greatest modern skins: Big Bento Modern v1.13 & Quinto Black CT v3.1
ariszlo is offline   Reply With Quote
Old 24th January 2019, 21:54   #12
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 495
Media Library colors

Buroid is a Winamp 3 skin that uses Winamp 3's default colors in the Media Library as well as in the Playlist Editor and other generic windows. If you want to preserve much of the original Winamp 3 look and feel then you will need to add two more color definitions to Buroid's system-colors.xml:

PHP Code:
<color id="wasabi.window.text" value="255,255,255" gammagroup="Text"/>

<
color id="wasabi.window.background" value="127,127,127" gammagroup="Backgrounds"/> 
wasabi.window.text defines the text color of the Search label and the Library info text in the Media Library, which is white in Winamp 3.

wasabi.window.background defines the color of the window background outside the treeview and listview panels. If it were not defined then Winamp would pick a pixel from wasabi.frame.basetexture, which would be too light for the white text.
Attached Thumbnails
Click image for larger version

Name:	window-text.png
Views:	124
Size:	124.9 KB
ID:	54350  

Latest and greatest modern skins: Big Bento Modern v1.13 & Quinto Black CT v3.1
ariszlo is offline   Reply With Quote
Old 26th January 2019, 18:28   #13
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 495
WinampAbstractionLayer version matters

It is essential to raise the version number of WinampAbstractionLayer to 1.3 in skin.xml for all the fixes in post #9 and post #12 to take effect.

PHP Code:
<WinampAbstractionLayer version="1.3"

Latest and greatest modern skins: Big Bento Modern v1.13 & Quinto Black CT v3.1
ariszlo is offline   Reply With Quote
Old 26th January 2019, 19:28   #14
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 495
Right-click menu

Some old skins have unreadable right-click menus in recent Winamp. When you look further, you will see that it is not just the right-click menu: the Search label and the library info in the Media Library are not readable in those skins, either.

Take for example the right-click menu and Media Library of the RazorEdge skin in the first picture. The right-click menu has light grey text on a light grey background and the Search label and the library info in the Media Library are also written in light grey on a light grey backround.

How to fix it?

First of all, raise the version number of WinampAbstractionLayer to 1.3 in skin.xml:

PHP Code:
<WinampAbstractionLayer version="1.3"
Then add the following color definitions to SystemColors.xml:

PHP Code:
<color id="wasabi.list.text.current" value="255,255,255"/>
<!-- 
from studio.list.item.selected.fg -->

<
color id="wasabi.list.text.selected" value="255,255,255"/>
<!-- 
from studio.list.item.selected.fg -->

<
color id="wasabi.list.text.selected.background" value="64,64,64"/>
<!-- 
from studio.list.item.selected -->

<
color id="wasabi.window.background" value="127,127,127"/>

<
color id="wasabi.window.text" value="255,255,255"/> 
The values of the wasabi.list color definitions are take from the skin's studio.list.item color definitions.

The value of wasabi.window.text is the color of the Select and Query labels in Winamp 3 and wasabi.window.background is darkened for better readability.
Attached Thumbnails
Click image for larger version

Name:	razoredge-broken.png
Views:	113
Size:	13.8 KB
ID:	54366   Click image for larger version

Name:	razoredge-fixed.png
Views:	114
Size:	14.6 KB
ID:	54367  

Latest and greatest modern skins: Big Bento Modern v1.13 & Quinto Black CT v3.1
ariszlo is offline   Reply With Quote
Old 27th January 2019, 08:49   #15
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 495
Right-click menu: own colors

While adding the correct wasabi.window.background and wasabi.window.text color definitions will automatically fix the right-click menu, too, you may also specify colors for the right-click menu independently of the wasabi.window.background and wasabi.window.text color definitions.

First of all, raise the version number of WinampAbstractionLayer to 1.3 in skin.xml if you have not done so, yet:

PHP Code:
<WinampAbstractionLayer version="1.3"
With the following color definitions added to SystemColors.xml, the colors of your right-click menu will be almost the same as the colors of the right-click menu of the Winamp 3 default skin:

PHP Code:
<color id="wasabi.popupmenu.background" value="246,246,246" gammagroup="Menus"/>
<
color id="wasabi.popupmenu.background.selected" value="0,0,255" gammagroup="Menus"/>
<
color id="wasabi.popupmenu.text" value="0,0,0" gammagroup="Text"/>
<
color id="wasabi.popupmenu.text.selected" value="255,255,255" gammagroup="Text"/>
<
color id="wasabi.popupmenu.text.inactive" value="64,64,64" gammagroup="Text"/>
<
color id="wasabi.popupmenu.frame" value="60,69,79" gammagroup="Menus"/>
<
color id="wasabi.popupmenu.separator" value="171,171,171" gammagroup="Menus"/> 
The "almost" is there because the color of wasabi.popupmenu.background.selected is 50% transparent, which means that over a "246,246,246" background, you will see it "123,123,250".
Attached Thumbnails
Click image for larger version

Name:	main-menu.png
Views:	109
Size:	4.1 KB
ID:	54372  

Latest and greatest modern skins: Big Bento Modern v1.13 & Quinto Black CT v3.1
ariszlo is offline   Reply With Quote
Old 2nd February 2019, 10:56   #16
ariszlo
Senior Member
 
Join Date: Jun 2015
Location: Hungary
Posts: 495
Pink on pink in the Color Themes window

RazorEdge is an old skin with a Color Themes window. If you load it into a recent version of Winamp then the name of the current color theme will be written in pink text on a pink background. See the top-left screenshot in pink-on-pink.png.

Painting parts of a skin pink is a color-coded error message complaining about missing definitions of elements. In this case, the undefined elements are colors.

How to fix it?

Step 1


Adding the color definitions in post #14 will fix both the text color and the background color. See the top-right screenshot in pink-on-pink.png.

But all is not fixed yet. There is still a thin pink vertical line in the Theme header. It says that the color of the bottom and right borders of header buttons is not defined. See an enlarged image of a header button from the Media Library where the bottom and right borders are marked in red.

Step 2

So take a screenshot of the Media Library and pick the color of the bottom and right borders of a header button. RazorEdge uses the default colors for header borders, so the color you will pick will be a dark grey color, "32,32,32".

Now that you know the color, you can add its definition to SystemColors.xml:

PHP Code:
<color id="wasabi.list.column.frame.bottom" value="32,32,32"/> 
See the result in the third screenshot in pink-on-pink.png. The thin pink vertical line is now a thin dark grey vertical line. You could make it the same color as the rest of the Theme header but that would break the header borders in the Media Library.

A better Step 2

There is an even better fix, though. Just hide the Theme header. Open the xml file that defines the Color Themes window (colors.xml in RazorEdge) and add nocolheader="1" to the ColorThemes:list tag like this:

PHP Code:
<ColorThemes:list id="main.colourthemes.list" x="18" y="27"
  
w="274" h="125" nocolheader="1" /> 
See the fix in the fourth screenshot in pink-on-pink.png.
Attached Thumbnails
Click image for larger version

Name:	pink-on-pink.png
Views:	175
Size:	19.4 KB
ID:	54379   Click image for larger version

Name:	wasabi_list_column_frame_bottom.png
Views:	173
Size:	813 Bytes
ID:	54380  

Latest and greatest modern skins: Big Bento Modern v1.13 & Quinto Black CT v3.1
ariszlo is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Skinning and Design > Modern Skins

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump