[renamed] About skin.ini in v7.x (former Beta)

Playlist

Let’s start with the skinning options of the new playlist GUI.

Sections

As usual, the code goes into the [Playlist] section (will be applied to all playlists, if you have more than one), or into [Playlist0] etc. to target a specific one (the first one has index 0).

As Uli pointed out above, all sections now also support a .Light or .Dark suffix, and then they will only be applied in Light or Dark Mode, respectively. For example, the settings from [Playlist0.Dark] will only be applied to the first playlist, and only in Dark Mode.

Debug Mode

The playlist has a special “debug mode” which, when enabled, displays frames and labels that will help you to deal with the new column grid. To enable the debug mode, just set Debug=on:

[Playlist]
Debug=on

This is how it looks like:

If you think that the debug text is to small, you can easily adjust its font size:

DebugFontSize=12

Columns

The playlist GUI uses a grid system with a number of columns to display the properties of the playlist item, like artist, duration etc.

Column IDs

Each column has an identifier which is used to adjust its properties. The available IDs are:

Player
Peakmeter
Timing
Time
Expand
Icon
Title
Attribute1
Attribute2
Attribute3
Attribute4
Attribute5
Attribute6
Attribute7
Attribute8
Ramp
Duration
EndType
Link

Please note that there is no separate column for “Artist”, but artist and title are both merged into the Title column. This is determined by the TitleDisplayMode setting, which determines whether only the title should be displayed, or artist and title, and if so, in which way:

Title
JoinTitleArtist
JoinArtistTitle
HSplitTitleArtist
HSplitArtistTitle
VSplitTitleArtist
VSplitArtistTitle

Title wil only display the title.

The Join values mean that title and artist (or the other way around) will be written next to each other with a separator (default: a centered dot) which can be customized through the following setting:

TitleSeparator=-

The HSplit values create two virtual columns of 50% width of the title column each.

The VSplit values will display title and artist above each other, similar to the Extended Display Mode in mAirList 6.x and below. You will also want to increase the RowHeight when you use this setting (see below).

Note that the TitleDisplayMode supports row selectors (see below), so it is e.g. possible to use a particular mode only for playling items:

PlayingTitleDisplayMode=VSplitTitleArtist

Attribute Columns

You can display up to 8 attributes (e.g. Album, Year) by using one of the attribute columns Attribute1 through Attribute8. You can assign an attribute to them like this:

Attribute1=Album
Attribute2=Year

Attribute columns which don’t have an attribute assigned will be hidden automatically.

Column Order and Visibility

You can select which columns should be used/displayed, and in which order, by using the Columns setting:

Columns=Player,Title,Duration

Columns not included in the list will be hidden.

If you want to go with the default column layout, but only hide individual columns, you can use the ColumnHidden setting along with their ID:

PeakmeterColumnVisible=off

Column Dimensions

The width of the columns can be adjusted with <ID>ColumnWidth:

PlayerColumnWidth=100

One column is always the “auto size column” which takes up all space not used by the other columns, and adjusts itself when you resize the window. By default, this is the Title column, but you could also choose to use a fixed width for the title and use another column for auto size:

TitleColumnWidth=300
AutoSizeColumn=Time

Columns are drawn with some extra space (padding) to the right and left, which can also be adjusted for each individual column:

TitleColumnPadding=20

Finally, you can choose whether the text should be aligned to the left, to the right, or centered in the column;

DurationColumnAlignment=Right

Note: This does not work for the Title column currently.

(to be continued)

1 Like