Custom Skins and Layouts
From mAirListWiki
You can almost completely customize the appearance of mAirList in various ways. You can change colours and fonts, rearrange screen elements, and much more. Theses changes are in two optional parts: skin and layout. You can use each type separately: you can have a custom skin, a custom layout, or both.
Do you need to change mAirList's colours to match your station branding? Do you want to make the player time displays bigger, or in a different font? How about a smaller progress bar? You can make those changes by creating and editing the skin.ini file.
Do you want a one-screen, simple two-player, one playlist, and file browser setup? Perhaps you would prefer a dual-screen layout with three players and a large playlist on screen one, and a large cartwall and browser on screen two? You can create those layouts—or any layout which fits your monitor—by creating and editing the layout.ini file.
You can even change the graphics on the buttons, by creating a set of .BMP files.
Contents |
Skin
Skin means the appearance of each of mAirList's screen elements, such as:
- colours
- fonts and font sizes
- dimensions (height of a progress bar, width of Playlist columns, etc.)
You create a custom skin by adding a skin.ini file to the config sub-folder within your mAirList program folder. Here is a currentl skin.ini example:
;[MainWindow] ;Color=#A5B6C9 [Browser] BackgroundColor=#A5B6C9 ;ButtonColorFrom=#FFFFFF ;ButtonColorTo=#FFFFFF ;ButtonHotColorFrom=#D20000 ;ButtonHotColorTo=#FFFFFF ;ButtonSelectedColorFrom=#D20000 ;ButtonSelectedColorTo=#000000 ;ButtonSeparatorColor=#FFFFFF ;SplitterColorFrom=#FFFFFF ;SplitterColorTo=#FFFFFF ;DividerColorFrom=#FFFFFF ;DividerColorTo=#FFFFFF ;HeaderColorFrom=#FFFFFF ;HeaderColorTo=#FFFFFF ;FrameColor=#FFFFFF ;ToolPanelColorFrom=#FFFFFF ;ToolPanelColorTo=#FFFFFF ;ToolPanelHeaderColorFrom=#FFFFFF ;ToolPanelHeaderColorTo=#FFFFFF [CartWall] NameFontName=Arial NameFontSize=8 NameFontStyle=1 NameFontColor=#000000 FadeNameFontColor=#000000 PlayingNameFontColor=#000000 StateFontName=Arial StateFontSize=0 StateFontStyle=0 StateFontColor=#000000 FadeStateFontColor=#000000 PlayingStateFontColor=#000000 TimeFontName=Arial TimeFontSize=12 TimeFontStyle=1 TimeFontColor=#000000 FadeTimeFontColor=#000000 PlayingTimeFontColor=#000000 TitleFontName=Arial TitleFontSize=9 TitleFontStyle=0 TitleFontColor=#000000 FadeTitleFontColor=#000000 PlayingTitleFontColor=#000000 ArtistFontName=Arial ArtistFontSize=9 ArtistFontStyle=0 ArtistFontColor=#000000 ButtonSize=24 ProgressBarHeight=14 ProgressBarMargin=12 BorderColor=#000000 EmptyColor=#A5B6C9 LoadedColor=#FFFFFF PlayingColor=#FFD763 FadeColor=#FFCCFF EOFColor=#00FFFF PFLColor=#00FFFF PausedColor=#00FFFF ErrorColor=#C71585 FlashEOFColor=#D20000 NextColor=#FFFFFF BorderColor=#000000 ProgressBarBorderColor=#FFFFFF ProgressBarElapsedColor=#FFFFFF ProgressBarRemainColor=#000000 ProgressBarRampColor=#000000 ProgressBarElapsedRampColor=#FFFF00 ProgressBarOutroColor=#A3000A ProgressBarEmptyColor=#50575A PFLButtonActiveColor=#FFFF00 PFLButtonColor=#C0C0C0 PlayButtonActiveColor=#FFFF00 PlayButtonColor=#C0C0C0 StopButtonActiveColor=#D20000 StopButtonColor=#C0C0C0 [Playlist] ToolbarFontSize=12 ToolbarFontStyle=1 ToolbarFontName=MS Sans Serif NameFontName=Arial NameFontSize=8 NameFontStyle=1 NameFontColor=#000000 FadeNameFontColor=#000000 PlayingNameFontColor=#000000 StateFontName=Arial StateFontSize=0 StateFontStyle=0 StateFontColor=#000000 FadeStateFontColor=#000000 PlayingStateFontColor=#000000 TimeFontName=Arial TimeFontSize=12 TimeFontStyle=1 TimeFontColor=#000000 FadeTimeFontColor=#000000 PlayingTimeFontColor=#000000 TitleFontName=Arial TitleFontSize=9 TitleFontStyle=0 TitleFontColor=#000000 FadeTitleFontColor=#000000 PlayingTitleFontColor=#000000 ProgressBarHeight=20 ProgressBarBorderColor=#EBEBEB ProgressBarElapsedColor=#B2B4BF ProgressBarRemainColor=#FFFFFF ProgressBarRampColor=#FD0100 ProgressBarElapsedRampColor=#33100A ProgressBarOutroColor=#FF0101 BackgroundColor=#DDDDDD BorderColor=#000000 ;SelectedBorderColor=#FFFFFF ;EOFRowColor=#FFF7BD ;ErrorRowColor=#A3100A ;LoadedRowColor=#00A000 ;PFLRowColor=#F8D47E ;PlayingRowColor=#D20000 ;RowColor=#000000 ;FontColor=#FFFFFF ;PlayingFontColor=#000000 ;FadeColor=#FFCCFF ;BorderWidth=5 EOFColor=#CE1C29 IconSize=25 ColWidths=45,95,*,60,55,40,45,0 ColumnOrder=1,8,2,3,4,5,6,7 ;Order: Icon,Time,Title,Duration,Ramp,End,Link,Artist HistoryPlayerNameFontName=MS Sans Serif HistoryPlayerNameFontSize=11 HistoryPlayerNameFontStyle=0 HistoryBacktimingFontName=MS Sans Serif HistoryBacktimingFontSize=11 HistoryBacktimingFontStyle=0 HistoryFontName=MS Sans Serif HistoryFontSize=11 HistoryFontStyle=0 HistoryCommentFontName=MS Sans Serif HistoryCommentFontSize=9 HistoryCommentFontStyle=0 BreakRowColor=#FF6666 CommandRowColor=#CFF8FF ContainerRowColor=#FFCC99 DummyRowColor=#FFCCFF StreamRowColor=#00FFFF FocusedSelectionColor=#000000 FontName=MS Sans Serif FontSize=11 FontStyle=0 CommentFontName=MS Sans Serif CommentFontSize=9 CommentFontStyle=0 BreakFontStyle=1 CommandFontStyle=1 ContainerFontStyle=1 DummyFontStyle=1 StreamFontStyle=1 [Player] NameFontName=Tahoma NameFontSize=0 NameFontStyle=1 NameFontColor=#FFFFFF FadeNameFontColor=#000000 PlayingNameFontColor=#000000 StateFontName=Tahoma StateFontSize=0 StateFontStyle=0 StateFontColor=#FFFFFF FadeStateFontColor=#000000 PlayingStateFontColor=#000000 TimeFontName=Tahoma TimeFontSize=0 TimeFontStyle=1 TimeFontColor=#FFFFFF FadeTimeFontColor=#000000 PlayingTimeFontColor=#000000 TitleFontName=MS Sans Serif TitleFontSize=12 TitleFontStyle=1 TitleFontColor=#FFFFFF FadeTitleFontColor=#000000 PlayingTitleFontColor=#000000 ArtistFontName=Arial ArtistFontSize=9 ArtistFontStyle=0 ArtistFontColor=#000000 ProgressBarHeight=14 ProgressBarBorderColor=#FFFFFF ProgressBarElapsedColor=#50575A ProgressBarRemainColor=#FFFF00 ProgressBarRampColor=#FD0100 ProgressBarElapsedRampColor=#33100A ProgressBarOutroColor=#FF0101 ProgressBarMargin=12 ButtonSize=32 EmptyColor=#A5B6C9 LoadedColor=#000000 PlayingColor=#FFD763 FadeColor=#FFCCFF EOFColor=#FFD763 PFLColor=#FFD763 PausedColor=#FFFFCC ErrorColor=#C71585 FlashEOFColor=#D20000 NextColor=#000000 BorderColor=#000000 PFLButtonActiveColor=#FFFF00 PFLButtonColor=#C0C0C0 PlayButtonActiveColor=#FFFF00 PlayButtonColor=#C0C0C0 StopButtonActiveColor=#D20000 StopButtonColor=#C0C0C0 PlayingTitleFontColor=#000000 PlayingStateFontColor=#000000 PlayingTimeFontColor=#000000 PlayingNameFontColor=#000000 RampPrefix=INTRO: [ProgressBar] ProgressBarBorderColor=#000000 ProgressBarElapsedColor=#00FF00 ProgressBarRemainColor=#000000 ProgressBarRampColor=#000000 ProgressBarElapsedRampColor=#FFFF00 ProgressBarOutroColor=#A3000A ProgressBarEmptyColor=#000000 ProgressBarColor=#000000 ProgressBarMargin=10 BorderColor=#000000 EmptyColor=#000000 [Toolbar] ShowSeparator0=on ShowNew=on ShowOpen=on ShowSave=on ShowSeparator1=on ShowInsert=on ShowProperties=on ShowDelete=off ShowSeparator2=on ShowEvents=off ShowActions=on ShowCartwall=on ShowSeparator3=on ShowAbout=on [ScreenObject0] ; OnOff Switch OnAirFontName=Digital OffAirFontName=Digital OnAirFontSize=20 OffAirFontSize=20 OnAirFontStyle=1 OffAirFontStyle=1 OnAirFontStyle=1 OnAirFontColor=#FF0000 OffAirFontColor=#FFFFFF OnAirBackgroundColor=#000000 OffAirBackgroundColor=#000000 OnAirCaption=ON AIR OffAirCaption=OFF AIR ;BorderColor=#FFFFFF [ScreenObject1] ; Today's Date FontName=Digital FontSize=20 FontStyle=1 FontColor=#00FFFF Color=#000000 [ScreenObject2] ; Current Time FontName=Digital FontSize=20 FontStyle=1 FontColor=#00FF00 Color=#000000 [ScreenObject3] ; Hour CountDown FontName=Digital FontSize=20 FontStyle=1 FontColor=#FFCC99 Color=#000000 [ScreenObject4] ; Ramp Countdown FontName=Digital FontSize=20 FontStyle=1 FontColor=#FFFF00 Color=#000000 [ScreenObject5] ; Time Remaining FontName=Digital FontSize=20 FontStyle=1 FontColor=#00FF00 Color=#000000 [ScreenObject6] ; Date Label FontName=Tahoma FontSize=8 FontStyle=1 FontColor=#FFFFFF Color=#000000 [ScreenObject7] ; Time Label FontName=Tahoma FontSize=8 FontStyle=1 FontColor=#FFFFFF Color=#000000 [ScreenObject8] ; Hour CountDown Label FontName=Tahoma FontSize=8 FontStyle=1 FontColor=#FFFFFF Color=#000000 [ScreenObject9] ; Ramp Label FontName=Tahoma FontSize=8 FontStyle=1 FontColor=#FFFFFF Color=#000000 [ScreenObject10] ; Time Remaining Label FontName=Tahoma FontSize=8 FontStyle=1 FontColor=#FFFFFF Color=#000000 [ScreenObject11] ; A Label FontName=Arial FontSize=20 FontStyle=1 FontColor=#FFFFFF Color=#000000 [ScreenObject12] ; B Label FontName=Arial FontSize=20 FontStyle=1 FontColor=#FFFFFF Color=#000000 [ScreenObject13] ; C Label FontName=Arial FontSize=20 FontStyle=1 FontColor=#FFFFFF Color=#000000
[Playlist] and [Player] Sections
Uae these two sections to define default or 'global' settings for all Playlists and Players: you will save yourself a great deal of duplication of effort. You can still over-ride these defaults for individual Playlists and Players by specifying different settings in individual [Playlistn] and [Playerx_y] sections.
We strongly suggest that you store at least your font, font size and style, progress bar, and colour settings in [Playlist] and [Player]. You will minimize and perhaps even eliminate the need to add individual [Playlistn] and [Playerx_y] sections to your skin.ini file.
Hiding Playlist Toolbars
To 'hide' a Playlist's Toolbar (Auto/Assist, etc.), add the line ToolbarFontSize=0 to the [Playlistn] section. To hide the Toolbar in all Playlists, add the line to the 'global' [Playlist] section instead.
Layout
Layout means the size and position of each mAirList screen element. Obviously (?) the maximum area available depends on how many monitors you have, and your current screen resolution (set in Display Properties, Settings or in Windows Control Panel). For example, if you use 1024×768 resolution, the maximum value for Width is 1023 and the maximum value for Height is 767 (see below).
Because of differences in screen resolution (or number of monitors!) between PCs, the same layout—when used on different PCs—may look very small, or it may be much larger than the monitor, making parts of the layout 'invisible' because they are 'off the screen.' If you are loading other people's layout.ini samples, or you are designing a layout for more than one PC, this is an important point to bear in mind.
You create a custom layout by adding a layout.ini file to your mAirList program folder. If you do so, you must specify the size and position of every screen element (this includes the main Toolbar!) in pixels, using Left, Top, Width and Height entries in each section. The top left pixel on the screen is Left=0, Top=0.
The section names in layout.ini are the same as those in skin.ini, with the addition of [Toolbar]:
-
[Toolbar](this is the main Toolbar, not a Playlist Toolbar!) -
[Playlist0](first playlist)[Playlist1](second playlist), … -
[Player0_0](first player of the first playlist),[Player0_1](second player of the first playlist), … -
[Cartwall] -
[Browser] -
[Clock] -
[Date] -
[LEDClock] -
[Logo]
Unlike the skin.ini file, there are no 'global' [Playlist] or [Player] sections in layout.ini; you must have a separate section for every Playlist and Player in your layout, as shown in the list above.
If you forget to include a screen element in your layout.ini file, you should expect that element to appear in a strange place on the screen, or behind other elements, or not to be displayed at all. Remember: you need to specify every element in layout.ini.
Here's a layout tip if you want to display an (embedded) Cartwall and the Browser in the same place to save screen space: use the same Width, Height, Top, and Left values for [Cartwall] and
[Browser]; and in Configuration Options, Cartwall, Display Options, select Show Cartwall tool button in embedded mode. You can then use the Cartwall button in the main Toolbar to toggle the Cartwall on and off.
Custom Player Button Graphics
The graphics on the buttons in the Cartwall, Players, and Playlist Toolbar use a default set of bitmap files compiled into mAirList.
To use your own custom graphics on the buttons:
- Create the button designs in a graphics 'paint' program which can save
.PNGfiles with a transparent colour, using magenta (#FF00FF) as the transparent colour.
The pixel size of the files should be a little smaller than the mAirList button size, and square. For example, if your ButtonSize is 28, 24×24 pixels works well.
Create designs for these nine buttons:- Close
- Fadeout
- Hook
- Loop
- Next (Playlist Toolbar button)
- Pause
- PFL
- Start
- Stop
- Name the files using the form:
button_close.png,button_fadeout.png, …,button_hook.png, …, and so on up tobutton_stop.png. - If it does not already exist, create a new folder in your mAirList program folder named
images, and copy all nine.PNGfiles to this folder.
When you next start mAirList and mAirListTag, your custom graphics will be displayed on the buttons. Remember that the …ButtonColor and …ButtonActiveColor settings in your skin.ini file will be the actual background colours used when your custom buttons are displayed on the Player, Cartwall, or Playlist Toolbar.
Custom Playlist Icons
You can change the icons displayed beside items in a Playlist, and in the Link column of a Playlist. Note that you don't have replace all the icons: only as many as you need or want to.
To use custom icons, first create transparent .PNG files named as listed below. mAirList will resize your icons to fit, but ideally you should make the pixel size of each file reasonably close to the Playlist row height, and square (for example, 32×32 or 64×64 pixels).
The icon replaced by each .PNG file is shown below:
-
icon_break.png(BREAK Item icon) -
icon_command.png(COMMAND Item icon) -
icon_comment.png(icon shown if Item contains a Comment) -
icon_container.png(Container item icon) -
icon_error.png(ERROR Item icon) -
icon_file.png(audio file Item icon) -
icon_linked.png(icon in Link column, if Item is Linked) -
icon_regionContainer.png(regional Container Item icon) -
icon_regionStream.png(regional stream Item icon) -
icon_stream.png(stream Item icon) -
icon_unknownItem.png('unknown' Item icon)
If it does not already exist, create a new folder in your mAirList program folder named images, and copy your icon_….PNG files to this folder.
Examples
You can see examples of skins and layouts in the Skin and Layout Gallery.
