This document isn't meant to be a step-by-step guide to creating PM123 skins. Rather it's meant to be a throughout reference. Basically skins are constructed from a .SKN file and one of more bitmap files (.BMP, .GIF, etc) or a .PAK file (which is a bundle file that wraps the skin's bitmaps into one file).
The .SKN file is a skin definition file. It contains the filenames of all bitmaps to be replaced, all new bitmap positions and other definitions. It's a simple text file. Lines beginning with ; or # are considered as comments.
If you want to change a bitmap, it's defined like this:resource,bitmapFor example, replacing the background:
1900,mybmp/bg.bmpIf you want to change a bitmap position, it's defined like this:
position:x,yFor example, changing volume bar's location to (10, 10):
25:10,10Special resources can be toggled on like this:
resource,1
Resource number | Resource explanation |
1 | Bright 3D shade color, in format RRR/GGG/BBB. |
2 | Dark 3D shade color, in format RRR/GGG/BBB. |
3 | (obsolete) |
4 | Color of seek slider border, in format RRR/GGG/BBB. |
5 | Playlist position indicator color, in format RRR/GGG/BBB. |
6 | Disable 3D-shading of the "statistics area". |
7 | Disable 3D-shading of the volume bar. |
8 | (obsolete) |
9 | Disable 3D-shading of the player window. |
10 | Disable the seek slider border. |
11 | Disable the second font. |
12 | (obsolete) |
13 | Measure width of the filename display in pixels. |
14 | Height of the filename display (in pixels) for regular mode. Used if resource 13 is defined. |
15 | Height of the filename display (in pixels) for small mode. Used if resource 13 is defined. |
16 | Foreground color of the filename display, in format RRR/GGG/BBB. |
20 | Width of the filename display (in characters, if resource 13 is not defined) for regular mode. |
21 | Width the seek slider area in pixels. |
22 | Width of the filename display (in characters, if resource 13 is not defined) for small mode. |
23 | Initial font, 0 or 1. |
24 | Space between the main timer digits (in pixels). |
25 | Disable the separator between the main timer groups. |
26 | Make volume bar horizontal. |
27 | Give volume bar a handle you can grab (resource 1620). |
28 | Draw bit rates with digits from resource 1830 to 1839. |
29 | Draw playlist indicator with resources 1660 to 1669. This is additionally the number of digits to draw. The minimum value is 3. |
30 | The bundle file for this skin (.PAK file) created with PM123 Skin Utility. |
31 | Foreground color of unselected text in format RRR/GGG/BBB. |
32 | Background color of unselected text in format RRR/GGG/BBB. |
33 | Foreground color of selected text in format RRR/GGG/BBB. |
34 | Background color of selected text in format RRR/GGG/BBB. |
Resource number | Resource explanation |
1200 to 1209 | Digits 0-9 for the main ("big") timer. |
1210 | Main timer separator ':' |
1211 | Darkened main timer separator ':' |
1400 to 1445 | Font 1, charset "abcdefghijklmnopqrstuvwxyz" "-_&.0123456789 ()дц:" ('a' is 1400, 'b' is 1401, and so on) |
1601 | Stereo mode |
1602 | Mono mode |
1608 | No channels (unknown, no file loaded) mode |
1609 | Alternate seek slider handle, same as seek slider handle by default. |
1610 | Seek slider handle |
1611 | Background bitmap for small mode (if not defined, default background will be used) |
1612 | Background bitmap for tiny mode (if not defined, default background will be used) |
1620 | Volume slider handle bitmap (only if enabled) |
1630 | Volume bar |
1631 | Indicator for single file play |
1632 | Indicator for playlist play |
1633 | Indicator for no file loaded |
1640 to 1649 | Digits 0-9 for "time left" and "playlist" left timers |
1650 | Separator (':') for "time left" and "playlist" left timers |
1651 | Dark 0 digit for "time left" and "playlist" left timers |
1652 | Darkened separator (':') for "time left" and "playlist" left timers |
1660 to 1669 | Digits 0-9 for playlist total/index displays. Only used if resource 29 is enabled. |
1670 | Leading zero for playlist total/index displays. By default same as ordinary zero. Only used if resource 29 is enabled. |
1800 to 1815 | Bitmaps for bit rates 0 (no bit rate), 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256, 320. Not used if resource 28 is enabled. |
1820 | Bright "led" bitmap (displayed when PM123 has focus) |
1821 | Dark "led" bitmap (displayed when PM123 is not focused) |
1830 to 1839 | Digits 0-9 for bit rates, if resource 28 is enabled. |
1840 | Symbol of hundred. If this symbol is defined, bit rates more than 999 are displayed in hundreds. |
1900 | The background bitmap. Resources 1611 and 1612 override this in small and tiny mode. |
1901 | "Time left", dark. |
1902 | "Time left", bright. |
1903 | "Playlist left", dark. |
1904 | "Playlist left", bright. |
1906 | Slider shaft (drawn before drawing slider handle) |
Only regular mode | |
1310, 1300 | Play button up/down |
1312, 1302 | Pause button up/down |
1313, 1303 | Rewind button up/down |
1314, 1304 | Fast forward button up/down |
1315, 1305 | Power button up/down |
1316, 1306 | Previous button up/down |
1317, 1307 | Next button up/down |
1318, 1308 | Shuffle button up/down |
1319, 1309 | Repeat button up/down |
1320, 1321 | Playlist button up/down |
1322, 1323 | Stop button up/down (hidden by default) |
1324, 1325 | Load file button up/down (hidden by default) |
Small/tiny mode | |
5510, 5500 | Play button up/down |
5512, 5502 | Pause button up/down |
5513, 5503 | Rewind button up/down |
5514, 5504 | Fast forward button up/down |
5515, 5505 | Power button up/down |
5516, 5506 | Previous button up/down |
5517, 5507 | Next button up/down |
5518, 5508 | Shuffle button up/down |
5519, 5509 | Repeat button up/down |
5521, 5520 | Playlist button up/down |
Position number | Position explanation |
1 | Main timer |
2 | Main window size (sx, sy) |
3 | Play button, regular |
4 | Pause button, regular |
5 | Rewind button, regular |
6 | Fast forward button, regular |
7 | Playlist button, regular |
8 | Repeat button, regular |
9 | Shuffle button, regular |
10 | Previous button, regular |
11 | Next button, regular |
12 | Power button, regular |
13 | Text display, regular |
14 | Text display, small |
15 | "Time left" dark |
16 | "Time left" bright |
17 | "Playlist left" dark |
18 | "Playlist left" bright |
19 | "Time left" timer |
20 | "Playlist left" timer |
21 | Play mode indicator (no file/single/playlist) |
22 | Led bright |
23 | Led dark |
24 | Seek slider |
25 | Volume bar |
26 | No channels indicator |
27 | Mono indicator |
28 | Stereo indicator |
29 | Bit rate indicator |
30 | Main window size (sx, sy), small mode |
31 | Main window size (sx, sy), tiny mode |
32 | (unused) |
33 | Play button, small |
34 | Pause button, small |
35 | Rewind button, small |
36 | Fast forward button, small |
37 | Playlist button, small |
38 | Repeat button, small |
39 | Shuffle button, small |
40 | Previous button, small |
41 | Next button, small |
42 | Power button, small |
43 to 52 | (unused) |
53 | Play button, tiny |
54 | Pause button, tiny |
55 | Rewind button, tiny |
56 | Fast forward button, tiny |
57 | Playlist button, tiny |
58 | Repeat button, tiny |
59 | Shuffle button, tiny |
60 | Previous button, tiny |
61 | Next button, tiny |
62 | Power button, tiny |
63 | Playlist index indicator |
64 | Playlist total indicator |
65 | Stop button, regular (hidden by default) |
66 | Load file button, regular (hidden by default) |
67 | Location for the slider shaft (bitmap 1906) |