< Previous | Contents | Manuals Home | Boris FX | Next >
Window Layout File winlayout14.xml
The detailed layout of the SynthEyes window is controlled by the winlayout14.xml file—it is responsible for placing each element within the SynthEyes window, such as the time bar, control panels, top tab bar, content windows, etc. As the file extension indicates, it is a encoded in an XML file with specified tag and attribute names. You should look at the file as an aid to understanding this section.
Under the top Layouts tag, there are any number of potential SynthEyes layouts, each with requirements for that layout to be used. The first layout where all requirements are satisfied is used.
Within a layout, the available rectangular region, initially the entire interior of the SynthEyes window, is successively subdivided into regions, and those regions assigned to window elements.
Although the approach resembles that HTML layout, it differs in that at every stage of the recursive descent process, there is an immediately apparent partitioning of the region, unlike an HTML table, where all the rows and columns must be assessed before decisions can be made.
Here are some details of the XML elements:
<layout layoutcriteria hide-tags>...a layout node...</layout>
<window
name="toptab|toolbar|unredo|support|selector|panel|playbar|timebar|content|stat us"
align="fill|left|right|center" valign="fill|top|bottom|center" commonmargins
/>
Window fills the current region with the specified kind of SynthEyes element.
<split
>
side="left|right|top|bottom" pixels="(pixels)"
frac="(0-100%)"
widthof="(window name)" heightof="(window name)" adder="(pixels)" gutter="(pixels)" swap="yes|no" rightpan="yes|no" commonmargins
Split is followed by two child nodes, a left or top, then a right or bottom. The attributes of the split specify how the overall region is divided into two subregions, which are then filled with the two child nodes.
<ifelse
>
layoutcriteria commonmargins
Ifelse is followed by two nodes, one that is used if the criteria are satisfied, on that is used if it is not. The corresponding node is used to fill the entire region handed to Ifelse.
<empty/>
The current region is left empty.
<tagged name="(a tag name)"/>
This region is filled from the XML tree with the given tag name. Any other XML node can be assigned a tag name, which must be unique within the overall file.
layoutcriteria:
widerthan="(window name)" higherthan="(window name)" by="(margin in pixels)"
minwidth="(minimum width)" --- width of the current region minheight="(minimum height)"
panel="one|none"
playbar="yes|no" --- whether a playbar is desired
timebar="yes|no" --- whether a time bar is desired
unredo="yes|no" --- whether an undo/redo/save bar is desired pref="rightpan|toptime" --- whether preferences call for the panel on
the right, or time bar at the top, respectively
room="(room name)"
commonmargins:
margin="(pixels)" --- these decrease the incoming region top_margin="(pixels)"
bottom_margin="(pixels)" left_margin="(pixels)" right_margin="(pixels)" tag="(tag name)" hide="(window name)"
hide-tags:
<hide name="(window name)"/>
©2024 Boris FX, Inc. — UNOFFICIAL — Converted from original PDF.