Dune Firmware Zone


Skins


Introduction

Dune HD media players support GUI "skins" starting with the firmware version 110511_2007_beta. GUI "skin" is a configuration which defines the look of the GUI (background image, icons, various UI elements, etc).

It is possible to quickly toggle between different skins, and it is possible to create and install custom skins.

Switching between preinstalled skins

Some player models (models based on 864x/865x chips) have several skins preinstalled in the firmware. To switch between these skins, the following ways may be used:

For player models which do not have several preinstall skins, a possibility to install a custom skin can be used, or additional skins can be provided via "dune_skins" folder on the main storage device (see below).

Installing custom skin

Custom skin can be installed in one of the following ways:

Only one custom skin can be installed. When installing a new custom skin, the previously installed custom skin (if any) is replaced with the new custom skin. After a custom skin is installed, it is possible to switch between default/preinstalled skins and the custom skin the same way as switching between preinstalled skins.

Providing additional skins via "dune_skins" folder

There is a special possibility which allows to add one or several skins to the list of available skins, using a special "dune_skins" folder. This folder should be located at the top-level of the "main" storage device. This folder should contain one or several subfolders, where each subfolder should contain the data of one skin. The list of available skins will be extended with the list of all these skins. The name of each subfolder will be used as the name of the corresponding skin. Note, these additional skins are not considered to be "custom" skins; it is still possible to install a custom skin in additional to these additional skins.

NOTE: In order to ensure that the storage device is recognized as the "main" one, it should be either the only storage device connected to the player at the moment, or the only storage device connected to the player at the moment when the player is switched on.

NOTE: This possibility is not recommended for normal users; it is mostly intended for the development needs (e.g. when it is needed to quickly switch between different custom skins or different versions of custom skins in order to compare them).

Creating custom skins

A skin is a collection of files which override the files from the default skin. If the skin modifies not all files, the skin may include the modified files only; all other files will be automatically used from the default skin.

To create a custom skin, the following procedure can be used:

  1. Get the default skin.
  2. Create a new skin folder where you will put all files for the custom skin.
  3. Decide which files from the default skin need to be modified and modify these files. Put all modified files into the custom skin folder (preserving the hierarchy of folders, i.e. put the files exactly into the same subfolders as in the default skin). Do not copy the non-modified files from the default skin into this folder.
  4. Ensure the custom skin folder has "dune_skin.txt" file at the top level. If it does not, just create an empty file with this name.
  5. Put the content of the custom skin folder into the ZIP file "dune_skin_{skin_name}.zip" (here, use the skin name you want instead of "{skin_name}"). Note, the ZIP file should not contain the skin folder itself, it should contain only all files and subfolders from this folder.
  6. Share the created .ZIP files with other users. They will be able to install the custom skin just by "launching" this file.

The default skin corresponding to the firmware version 110511_2007_beta is available here: dune_skin_default.zip

The skin consists of the following kinds of files and folders:

Here is an overview of files/folders included into the skin:

images/bg.jpg
   Main background image (1920x1080).
   Note: should not be too bright, because otherwise text messages may have
   bad contrast and may be hard to read. In particular, the bottom part of
   the background should be hard in enough degree in order to ensure good
   readability of the information about available RC controls (e.g. "[A]
   View" etc).

images/screen_saver.aai
   Screen saver image.

images/*.aai
   Some other images.

large_icons/*.aai
   Large versions of the icons corresponding to various items which may be
   shown in the menu (files of different types, folders, storage devices of
   different types, applications, etc).

large_icons/*.properties
   Text files in the simple "name = value" format, containing various
   parameters which influence the visualization of large icons in
   icon-based view modes. In particular, the scale and offset of each large
   icon may be specified if needed (although it is recommended to design
   all large icons in such a way that no scale/offset customization is
   needed).

small_icons/
   Small versions of the icons corresponding to various items which may be
   shown in the menu. There is one-to-one correspondence between the large
   icons and the small icons. Each small icon should be similar to the
   corresponding large icon.

button_icons/
   Icons painted inside buttons (used in some cases) (apply, cancel, etc).

osd_icons/
   Icons used within playback OSD (play, pause, etc).

scrollbar_icons/
   Icons used to paint vertical scrollbars.

special_icons/
   Various other icons.

weather_icons/
   Icons corresponding to various weather conditions. Used in weather
   widget.

cut_images/badge/
   "Badge" cut-image. Painted under large icons.

cut_images/setup_badge/
   "Badge" cut-image for setup screens. A different cut-image is used here
   in order to make it easy for the user to tell setup screens from all
   other screens.

cut_images/{cut_image_name}/
   Various other cut-images.
NOTE: The structure and set of files/folders and the meaning of particular files may be changed in future firmware versions.

Tools for custom skin creation and editing

The following tools may be useful for skin creation and editing: