KUIML
Blue Cat's User Interface Programming Language
SKIN Root Element

Description

Root element for the skin. This element is mandatory for the skin to be valid. It describes the skin meta data and main window properties. It inherits properties from cell element: it is the root cell of the window.

Inherited Attributes

See CELL element.

Specific Attributes

Name Value Type Default Value Description Comment V. Exp.

name

string

empty

Name of the skin.


1.0

No

author

string

empty

Author of the skin. Will be displayed in the about box.


1.0

No

comment

string

empty

Comment of the author about the skin (description, copyright...)


1.0

No

language_version

version info

empty

Version of the language used for the skin

This value is important to specify which version of the skinning language is expected by the skin designer.

1.0

No

background_image

image file path

empty

The background image.


1.0

No

repeat

boolean

false

Enables or disables the repetition of the background image.

If set to 'true' and if a background image has been set, it will be repeated to cover the whole skin surface (incompatible with stretch attribute).

1.0

No

stretch

boolean

false

Enables or disables background image stretching (resize).

If set to 'true' and if a background image has been set, it will be stretched to correspond to the size of the skin (incompatible with repeat attribute).

1.0

No

background_color

color

#000000 (black)

Color used to paint the background of the skin.

This attribute is not used if 'background_image' is defined.

1.0

No

transparent

boolean

false

when true, the background of the skin is transparent.

Beware that there is no guarante on the background color, as it is dependent on the system and the application hosting the widget. There might also be a performance hit with transparent background.

2.7.2

No

show_warnings

boolean

true

Show warnings encountered during skin parsing.


1.0

No

show_info

boolean

false

Show information about skin parsing process.

Can be useful to find issues in your skin when designing it. You should never release to the end user a skin with this attribute set to true.

1.0

No

show_messages

boolean

true

Show messages in a popup window in case of skin loading error.

Can be used to disable interactive error messages display when already redirected to a log file. Do not use in production or skin loading may fail silently.

2.7.1

No

refresh_time_ms

Positive integer

50

default refresh rate (expressed as a period) in the user interface for the plugin parameters and curves.

Use this parameter is you have a very complex user interface with output parameters and curves that refresh too often. Setting the refresh_time_ms to a higher value will help you minimize CPU usage.

1.1

No

xxx_refresh_time_ms, where xxx is an ref_type_identifier of a parameter, curve or surface exposed by an audio plug-in.

Positive integer

50

refresh rate (expressed as a period) in the user interface for the plugin parameter or curve corresponding to xxx.

Use this parameter to specify the refresh rate on a specific parameter or curve.

1.1

No

refresh_priority

'idle' or 'normal'

idle

priority for user interface refreshs.

The higher the priority, the softer the user interface will respond to changes but the more CPU it will use.

1.4.3

No

window.opacity

percentage

100%

Opacity of the top-level window containing the skin.

Use this parameter to specify the opacity of the top level window containing the skin.

Warning: this option may work differently depending on the host application.

1.2.5

1.2.5

scaling

real number

1.0

global scaling (zoom) applied to the entire skin (multiplied to dynamic zoom).

2.4

No

gui.zoom

percentage

100%

Dynamic zooming for the entire skin, can be modified by the user.

Use this parameter to specify the level of zoom for the user interface (from 70% to 200%).

2.4

2.4

build_time_script_include

path to script file

empty

Path to build time script file to include.

Build time script include defines classes, objects or functions that can be used at build time to generate the content of VARIABLE elements (experimental).

2.6

No

log_file_path

path to log file

empty

Path to a file where skin builder messages should be logged to (errors, warnings and info).

Helpful for debugging skin building issues. Do not use this in production.

2.7.1

No

Read Only Attributes

window.loaded

boolean

false

Set to 'true' when the window has been fully loaded and its state restored.

2.0

2.0

alive

boolean

false

Set to 'true' when the data model has been built and is active.

This attribute is set to false by the engine everytime its state is being restored (loaded from file, restored from memory when window is reopened...).

2.0

2.0

Examples

Empty skin with black background (minimum size of a skin is 20x20 pixels, so that the user can click on the background to change the skin)

<?xml version="1.0" encoding="utf-8" ?>
<SKIN background_color="#000000" author="Blue Cat Audio" language_version="1.0"/>

Empty skin with 'bg.bmp' image as background:

<?xml version="1.0" encoding="utf-8" ?>
<SKIN background_image="bg.bmp" author="Blue Cat Audio" language_version="1.0">
</SKIN>

Skin with 'bg.bmp' image as background (repeated), with 5 images (black square) shown in a row, spaced by 5 pixels:

<?xml version="1.0" encoding="utf-8" ?>
<SKIN author="Blue Cat Audio" name="Skin with Bg" language_version="1.0" background_image="bg.bmp"
   repeat="true" layout_type="row" h_margin="5" v_margin="10" spacing="5">
   <IMAGE image="black_square.bmp" />
   <IMAGE image="black_square.bmp" />
   <IMAGE image="black_square.bmp" />
   <IMAGE image="black_square.bmp" />
   <IMAGE image="black_square.bmp" />
   <IMAGE image="black_square.bmp" />
</SKIN>