DevelopmentMaestro Skin Team
A lot of the programs you have been seen are based on graphical interfaces. These interfaces, generally, relies on standard graphical components, as buttons, lists, check boxes, tables, tabs, etc. Note that several programs are build on the same set of graphical components, because these are acquired from system graphical libraries or an ordinary graphical API.
Maestro is not like that! To ensure a better user experience, Maestro is constructed like a web page: it can dress itself in many ways by changing its images, colors and component sizes. This is possible due to a sophisticated skin engine, which is responsible for loading more than 100 images on screen, being able to change all Maestro interface and sounds on the fly, with no need to restart the program!
How does a Skin Work?
Maestro skins are files whose extension is “.skin”. In fact, although this odd extension, a skin is a ZIP file. Inside it one can find, basically, the following items:
- Several image files, in JPEG or PNG format;
- Two sound files, in WAVE format;
- A file named “skin.xml”.
The image files must be compatible with the Java/Swing pattern, and the sound files must be in WAVE format, with no compression, using 2 channels, 32bits and 44.100Hz resolutions).
The skin reading start point is the “skin.xml” file, because it holds the descriptions of all the items that build the skin, always relating them with the images and sounds found in the latter. It holds yet some configurations data, such as window sizes and lots of layout stuff, and metadata informing the skin creator, release date, version and description. Then, by creating a new skin, beyond images and sounds, one must create a proper “skin.xml” file.
HINT: Usually, it becomes more practical to copy the “skin.xml” of an existing valid skin, in a way that one can maintain the same file names, which decreases significantly the effort of building this file, only remaining the layout, configuration and metadata edition.
Understanding the Skin Internally
One must know the “skin.xml” internal structure and its relations to the interface to create a valid skin. The images below are diagrams of the three Maestro windows, showing how components are ordered and laid out inside them:
MainFrame – SettingFrame – AboutFrame
The “skin.xml” file structure is defined by the following set of XML/Schema files:
[3 arquivos ligados ao repositório]
A data dictionary of the structures can be found in the file below:
[dicionário de dados presente no repositório]
One must be aware that the XML/Schema version used to develop the skin must correspond to the version of the target Maestro program.
How can I Help?
If you are expert in design and has found yourself keen on creating skins for Maestro, contact our Maestro Skin Team from our Contact Page. We are eager to welcome you! So, welcome!