Layers may be viewed as containers or as groups. They represent a way to structure both the address space and the graphic space.
From graphic viewpoint, a layer is a scene inside a scene. All the properties of 'rect' components are available to layers: position, scale, color, transparency, etc.). By default, a layer is not visible: it has no brush and no pen, but changing the brush style (see section brush) - e.g. to solid - makes it visible.
From time viewpoint, a layer has the common time attributes i.e. a date, a duration.
A layer may be synchronized to other objects, including other layers. It includes a sync node and supports synhcronization of the enclosed objects. However, synchronization is restricted to objects from the same layer and cannot cross the border of a layer.
Example Creating a layer and its content:
/ITL/scene/layer1 set layer; /ITL/scene/layer1/score set gmnf 'myscore.gmn'; /ITL/scene/layer1/cursor set rect 0.01 0.1;
Synchronizing 2 components of a layer :
#'score' and 'cursor' must be enclosed in layer1 /ITL/scene/layer1/sync cursor score;
Making a layer visible :
/ITL/scene/layer1 brushStyle solid; /ITL/scene/layer1 color 120 120 120;
The idea of layer is generalized to all the type of objects: any INScore object can be a container without depth limitation.
Layers but also any object respond to the count and rcount queries described in section scenequery.