glados.no/_files/sound/bss/london/manual/MAIN/DEV Files.html

389 lines
20 KiB
HTML
Raw Blame History

<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="generator" content="Adobe RoboHelp 9">
<title>DEV Files</title>
<!--[if lt IE 5.5000]><style type="text/css">@import "/wiki/skins/monobook/IE50Fixes.css";</style><![endif]-->
<!--[if IE 5.5000]><style type="text/css">@import "/wiki/skins/monobook/IE55Fixes.css";</style><![endif]-->
<!--[if IE 6]><style type="text/css">@import "/wiki/skins/monobook/IE60Fixes.css";</style><![endif]-->
<!--[if IE 7]><style type="text/css">@import "/wiki/skins/monobook/IE70Fixes.css?1";</style><![endif]-->
<!--[if lt IE 7]><script type="text/javascript" src="/wiki/skins/common/IEFixes.js"></script>
<meta http-equiv="imagetoolbar" content="no" /><![endif]-->
<!-- Head Scripts -->
<link rel="stylesheet" href="HtmlHelp.css" type="text/css">
<style title="hcp" type="text/css">
<!--
span.hcp1 { color:#0000ff;
font-weight:bold; }
span.hcp2 { font-weight:bold;
color:#008000; }
span.hcp3 { font-weight:normal;
color:#000000; }
span.hcp4 { font-weight:bold; }
span.hcp5 { color:#008000; }
img.hcp6 { border-width:2px;
border-style:solid;
margin-top:0px;
margin-bottom:0px;
margin-left:0px;
margin-right:0px; }
span.hcp7 { color:#0000ff; }
p.hcp8 { margin-left:80px; }
span.hcp9 { font-weight:normal; }
span.hcp10 { font-weight:normal;
color:#008000; }
p.hcp11 { margin-left:40px; }
p.hcp12 { margin-bottom:0;
margin-left:80px; }
-->
</style>
</head>
<body class="ns-0 ltr">
<div id="globalWrapper">
<div id="column-content">
<div id="content">
<h1 class="firstHeading">DEV Files</h1>
<div id="bodyContent">
<h2 id="siteSub">What is a dev?</h2>
<p>DEV files are a powerful way for end users to customize
their 'device' library in <a href="MAINIntroduction.htm">London
Architect</a>; they are the representations of devices
that are created when dragged out of the <a href="Hardware&#32;Tree.html">Hardware
Tree</a> onto the <a href="Design&#32;Windows.html">Main layout</a>.
Dev files are located in the <a href="Devices.html">'Devices</a>'
directory of the London Architect program folder. User
created dev files can be organized in user created directories
under this main Devices folder, for example ... London
Architect/Devices/My Devices/MyVideoServer.dev.</p>
<p>DEV files utilize the very powerful, yet easy to use,
XML programming language. If you open up one of the dev
files in the Devices directory you will see what the XML
looks like. You may already know how to write xml, in
which case the following descriptions of the syntax should
help you easily create your own device. If not, just look
on the web for some tutorials, it's fairly easy. Most
of the xml is pretty self explanatory, and you can simply
copy an existing file and alter it to suit your purposes.</p>
<div class="editsection" style="float: right; margin-left: 5px;">
<h2>Description of the various elements included in
this dev file:</h2>
<p><span class="hcp1">&lt;?xml
version=&quot;1.0&quot;?&gt; &#160;</span>This is
a header telling editors about the file, which may
then provide correct formatting or context sensitive
colouring. It is optional, and not needed by London
Architect.</p>
<p>&#160;<span class="hcp1">&lt;device&gt;...<2E>&lt;/device&gt;
&#160;</span>This starts and ends the device definition
script.</p>
<p>&#160;<span class="hcp1">&lt;!--</span>
<span class="hcp2">text</span>
<span class="hcp1">--&gt;
&#160;</span>This is a remark statement. Where text
is any string or text, this text will be ignored.
This is useful in documenting Who, What, When, Where,
or Why.</p>
<p>&#160;<span class="hcp1">&lt;name&gt;
... &lt;/name&gt; &#160;</span>This is used to set
the name of your device.</p>
<p>&#160;<span class="hcp1">&lt;description&gt;
... &lt;/description&gt; &#160;</span><span class="hcp3">A description of what it is. (Reserved
for future use)</span></p>
<p><span class="hcp1">&lt;manufacturer&gt;
... &lt;/manufacturer&gt; &#160;</span>This tells
London Architect where to place the device in the
Device tree (in the Hardware pane) and in the right
click menu. Typical values would be BSS, Crown, JBL,
Soundcraft etc. General devices such as mic are in
'Other'. London Architect will add a new heading to
these menus based on the data you have entered here.
All additional devices with the same manufacturer
will be placed under the same heading.</p>
<p><span class="hcp1">&lt;group&gt;
... &lt;/group&gt; &#160;</span>This defines the folder
in the <a href="Hardware&#32;Tree.html#Devices">Hardware
Pane</a> for the DEV file to go into</p>
<p><span class="hcp1">&lt;size
width=&quot;</span><span class="hcp2">######</span><span class="hcp1">&quot;
height=&quot;</span><span class="hcp2">######</span><span class="hcp1">&quot;/&gt;
&#160;</span>The size of the device. This is the size
it will be when created, and it cannot be re sized
any <span class="hcp4">smaller</span>.
Where &quot;<span class="hcp5">######</span>&quot;
is an integer defining the size in pixels.</p>
<p><span class="hcp1">&lt;gui
order=&quot;</span><span class="hcp2">######</span><span class="hcp1">&quot;
showname=&quot;</span><span class="hcp2">value</span><span class="hcp1">&quot;
showtype=&quot;</span><span class="hcp2">value</span><span class="hcp1">&quot;
resize=&quot;</span><span class="hcp2">value</span><span class="hcp1">&quot;
icon=&quot;</span><span class="hcp2">name</span><span class="hcp1">&quot;
/&gt; &#160;</span>General GUI related information.</p>
<ul type="disc">
<li class="p"><p><span class="hcp4">showname</span>&#160;:-
Where &quot;<span class="hcp5">value</span>&quot;
is true or false. If showname is &quot;<span class="hcp5">true</span>&quot;
then the name is drawn above the object.</p></li>
<li class="p"><p><span class="hcp4">showtype</span>&#160;:-
Where &quot;<span class="hcp5">value</span>&quot;
is true or false. If showtype is &quot;<span class="hcp5">true</span>&quot;
then the type is drawn above the object.</p></li>
<li class="p"><p><span class="hcp4">resize</span>&#160;:-
Where &quot;<span class="hcp5">value</span>&quot;
is true or false. If resize is &quot;<span class="hcp5">true</span>&quot;
the device can be resized.</p></li>
<li class="p"><p><span class="hcp4">icon</span>&#160;:-
Where &quot;<span class="hcp5">name</span>&quot;
is the name of the icon image to use. [e.g. micicon.bmp.]
Icons are used in the various trees and menus
within London Architect. See the chart below.</p></li>
<li class="p"><p><span class="hcp4">order</span>&#160;:-
Where &quot;<span class="hcp5">######</span>&quot;
is an integer value used to sort the devices in
the hardware tree view, and on the right click
New menu. The higher the value, the higher up
the view/list the device will be listed.</p></li>
</ul>
<h2>Icons</h2>
<p><img src="Icons_3.png" alt="Icons" title="Icons" width="149" height="505" border="2" class="hcp6"></p>
<p>&#160;<span class="hcp1"><br>
&lt;background image=&quot;</span><span class="hcp2">File</span><span class="hcp1">&quot;
fill=&quot;</span><span class="hcp2">value</span><span class="hcp1">&quot;/&gt;
&#160;</span>This tells London Architect how to draw
the device.</p>
<ul type="disc">
<li><span class="hcp4">Image</span>&#160;:-If
image is defined it is the name of the image file
to use. [e.g. mic.bmp]</li>
</ul>
<ul type="disc">
<li><span class="hcp4">fill</span>&#160;:-
Where &quot;<span class="hcp5">value</span>&quot;
is true or false. If fill is &quot;true&quot;
then the background is filled with the fill colour.
If you set the image, then often you don't want
the background to be drawn. London Architect will
center your bmp in the object as defined in the
size statement above. For best results resize
your bitmap to the same size that you defined
for your object. The image file must reside in
the Generic directory with the dev file.</li>
</ul>
<p>&#160;<span class="hcp1"><br>
&lt;fillcolour red=&quot;</span><span class="hcp5">###</span><span class="hcp1">&quot;
green=&quot;</span><span class="hcp5">###</span><span class="hcp1">&quot;
blue=&quot;</span><span class="hcp5">###</span><span class="hcp1">&quot;
/&gt;</span> <span class="hcp3">or</span>
<span class="hcp1">&lt;fillcolor
red=&quot;</span><span class="hcp5">###</span><span class="hcp1">&quot;
green=&quot;</span><span class="hcp5">###</span><span class="hcp1">&quot;
blue=&quot;</span><span class="hcp5">###</span><span class="hcp1">&quot;
/&gt;</span> <span class="hcp4">&#160;</span>Specifies
the fill colour for the background where &quot;<span class="hcp5">###</span>&quot; is a number
between 0 and 255.</p>
<p>&#160;<span class="hcp1"><br>
&lt;textcolour red=&quot;</span><span class="hcp5">###</span><span class="hcp1">&quot;
green=&quot;</span><span class="hcp5">###</span><span class="hcp1">&quot;
blue=&quot;</span><span class="hcp5">###</span><span class="hcp7">&quot;</span> <span class="hcp1">/&gt;</span> or <span class="hcp1">&lt;textcolor red=&quot;</span><span class="hcp2">###</span><span class="hcp1">&quot;
green=&quot;</span><span class="hcp2">###</span><span class="hcp1">&quot;
blue=&quot;</span><span class="hcp2">###</span><span class="hcp1">&quot;
/&gt; &#160;</span>Specifies the text colour for the
node text where &quot;<span class="hcp5">###</span>&quot;
is a number between 0 and 255.</p>
<p>&#160;<span class="hcp1"><br>
&lt;transparentcolour red=&quot;</span><span class="hcp5">###</span><span class="hcp1">&quot;
green=&quot;</span><span class="hcp5">###</span><span class="hcp1">&quot;
blue=</span><span class="hcp7">&quot;</span><span class="hcp5">###</span><span class="hcp7">&quot;</span>
<span class="hcp1">/&gt;</span>
or <span class="hcp1">&lt;transparentcolor
red=&quot;</span><span class="hcp2">###</span><span class="hcp1">&quot;
green=&quot;</span><span class="hcp2">###</span><span class="hcp1">&quot;
blue=&quot;</span><span class="hcp2">###</span><span class="hcp1">&quot;
/&gt; &#160;</span>Specifies the colour which is to
be considered transparent when drawing the background
image where &quot;<span class="hcp5">###</span>&quot;
is a number between 0 and 255.</p>
<p>&#160;<span class="hcp7"><span class="hcp4"><br>
&lt;input name=&quot;</span><span class="hcp5">Text</span><span class="hcp7">&quot; type=&quot;</span><span class="hcp5">value</span><span class="hcp7">&quot;
visible=&quot;</span> <span class="hcp5">value</span>
<span class="hcp7">&quot;/&gt;</span></span></p>
<p><span class="hcp1">&lt;output
name=&quot;</span><span class="hcp2">Text</span><span class="hcp1">&quot;
type=&quot;</span><span class="hcp2">value</span><span class="hcp1">&quot;
visible=&quot;</span> <span class="hcp2">value</span>
<span class="hcp1">&quot;
signalfrom=&quot;</span><span class="hcp2">inputnode</span><span class="hcp1">&quot;
format=&quot;</span> <span class="hcp2">value</span><span class="hcp1">&quot;/&gt;
&#160;</span>Specifies an input or output node. Input
nodes are displayed on the left, Output nodes are
displayed on the right.</p>
<ul type="disc">
<li class="p"><p><span class="hcp4">name</span>&#160;:-
Where &quot;<span class="hcp5">Text</span>&quot;
is the name of the node. If not defined, the node
text is not drawn. [E.g. <span class="hcp4">name</span>=&quot;&quot;].
This is useful for really basic objects such as
mics where you really don't want the node text
drawn.</p></li>
<li class="p"><p><span class="hcp4">type</span>&#160;:-
Where &quot;<span class="hcp5">value</span>&quot;
can be one of the following&#160;:-</p></li>
</ul>
<p class="hcp8"><span class="hcp4">audio</span>
:- Your basic audio node.</p>
<p class="hcp8"><span class="hcp4">digital</span>
:- A digital node.</p>
<p class="hcp8"><span class="hcp4">audio+digital</span>
:- A node that can take either analogue or digital.</p>
<p class="hcp8"><span class="hcp4">ethernet</span>
:- A generic ethernet port.</p>
<p class="hcp8"><span class="hcp4">cobranet1</span>
:- A cobraNet port.</p>
<p class="hcp8"><span class="hcp4">cobranet2</span>
:- A backup cobraNet port.</p>
<p class="hcp8"><span class="hcp4">serial</span>
:- A serial port.</p>
<p class="hcp8"><span class="hcp4">control</span>
:- A control port.</p>
<p class="hcp8"><span class="hcp4">highpower</span>
:- A high power analogue port. E.g. amp output/speaker
input.</p>
<p class="hcp8"><span class="hcp4">video</span>
:- A composite video port</p>
<p class="hcp8"><span class="hcp4">usb</span>
:- A usb port</p>
<p style="font-weight: bold; margin-left: 80px;">buddylink
<span class="hcp9">:- CobraNet buddylink
node.</span></p>
<p class="hcp8"><span class="hcp4">blulink</span>
:- BLU link ethernet port.</p>
<p class="hcp8"><span class="hcp4">blulink+ethernet</span>
:- BLU link and standard ethernet port.</p>
<p class="hcp8"><span class="hcp4">fibre</span>
:- Fibre optic port.</p>
<ul type="disc">
<li class="p" style="margin-left: -20px;"><p style="margin-left: 0px;
font-weight: bold;">visible <span class="hcp9">:-
Where &quot;</span><span class="hcp10">value</span><span class="hcp9">&quot; is true or
false. &#160;If visible is &quot;</span><span class="hcp10">true</span><span class="hcp9">&quot; then the node
is visible on the object.</span></p></li>
<li style="margin-left: -20px;"><span class="hcp4">signalfrom</span>&#160;:-
Where &quot;<span class="hcp5">inputnode</span>&quot;
is the name of the name of the input node that
the signal comes from. This is used to provide
signal routing through the device. If <span class="hcp4">signalfrom</span>
is not specified, the name of the node is shown.
This is used on outputs only.</li>
<li style="list-style: none;">&#160;</li>
</ul>
</div>
<h2>Illegal Characters in a DEV file</h2>
<p>There are four characters which are illegal in DEV files
and so must be replaced with a special sequence if you
wish to use them. &#160;These are as follows:</p>
<p><span class="hcp4">&amp;</span> replace
with <span class="hcp4">&amp;amp;</span></p>
<p><span class="hcp4">&lt;</span> replace
with <span class="hcp4">&amp;lt;</span></p>
<p><span class="hcp4">&gt;</span> replace
with <span class="hcp4">&amp;gt;</span></p>
<p><span class="hcp4">&quot;</span> replace
with <span class="hcp4">&amp;quot;</span></p>
<h2>Sample DEV file</h2>
<p>Now let's take a closer look at a sample script.</p>
<p><span class="hcp4">&lt;?xml version=&quot;1.0&quot;?&gt;</span></p>
<p><span class="hcp4">&lt;device&gt;</span></p>
<dl>
<dd class="mvd-P"><span class="hcp4">&lt;name&gt;My
Video Server&lt;/name&gt;</span></dd>
<dd class="mvd-P"><span class="hcp4">&lt;description&gt;Composite
Video Server&lt;/description&gt;</span></dd>
<dd class="mvd-P"><span class="hcp4">&lt;manufacturer&gt;ACME&lt;/manufacturer&gt;</span></dd>
<dd class="mvd-P"><span class="hcp4">&lt;group&gt;Other&lt;/group&gt;</span></dd>
<dd class="mvd-P"><span class="hcp4">&lt;size
width=&quot;110&quot; height=&quot;80&quot;/&gt;</span></dd>
<dd class="mvd-P"><span class="hcp4">&lt;gui
icon=&quot;ethernet&quot; showname=&quot;true&quot;
showtype=&quot;true&quot; resize=&quot;false&quot;/&gt;</span></dd>
<dd class="mvd-P"><span class="hcp4">&lt;textcolour
red=&quot;255&quot; green=&quot;255&quot; blue=&quot;255&quot;/&gt;</span></dd>
</dl>
<p>&#160;</p>
<dl>
<dd class="mvd-P"><span class="hcp4">&lt;!--
Ports--&gt;</span></dd>
<dd class="mvd-P"><span class="hcp4">&lt;output
name=&quot;Audio L&quot; type=&quot;audio&quot;/&gt;</span></dd>
<dd class="mvd-P"><span class="hcp4">&lt;output
name=&quot;Audio R&quot; type=&quot;audio&quot;/&gt;</span></dd>
<dd class="mvd-P"><span class="hcp4">&lt;output
name=&quot;Video&quot; type=&quot;video&quot;/&gt;</span></dd>
<dd class="mvd-P"><span class="hcp4">&lt;input
name=&quot;Ethernet&quot; type=&quot;ethernet&quot;/&gt;</span></dd>
</dl>
<p><span class="hcp4">&lt;/device&gt;</span></p>
<p>&#160;<span class="hcp1"><br>
&lt;?xml version=&quot;1.0&quot;?&gt; &#160;</span>The
first line is the header.</p>
<p><span class="hcp1">&lt;device&gt;
&#160;</span>This line defines the beginning of the device
script</p>
<p style="font-weight: bold; color: #0000ff; margin-left: 40px;">&lt;name&gt;My
Video Server&lt;/name&gt; <span class="hcp3">This
is the name of your device.</span></p>
<p class="hcp11">&lt;<span class="hcp1">description&gt;Composite
Video Server&lt;/description&gt; &#160;</span>This is
the description of the device.</p>
<p class="hcp11"><span class="hcp1">&lt;manufacturer&gt;ACME&lt;/manufacturer&gt;
&#160;</span>This is the Manufacturer of the device.</p>
<p class="hcp11"><span class="hcp1">&lt;group&gt;Other&lt;/group&gt;
&#160;</span>This defines what group this object is part
of.</p>
<p class="hcp11"><span class="hcp1">&lt;size
width=&quot;110&quot; height=&quot;80&quot;/&gt; &#160;</span>This
defines the size of the graphic object.</p>
<p class="hcp11"><span class="hcp1">&lt;gui
icon=&quot;ethernet&quot; showname=&quot;true&quot; showtype=&quot;true&quot;
resize=&quot;false&quot;/&gt; &#160;</span>This defines
the icon that London Architect will use in the menu trees,
as well as how the graphic object will be displayed on
the desktop.</p>
<p class="hcp11"><span class="hcp1">&lt;textcolour
red=&quot;255&quot; green=&quot;255&quot; blue=&quot;255&quot;/&gt;
&#160;</span>This defines the color of the node text on
the graphic object.</p>
<p class="hcp11"><span class="hcp1">&lt;!--
Ports--&gt; &#160;</span>This is a remark statement used
to describe the following section of code.</p>
<p class="hcp12"><span class="hcp7"><span class="hcp4">&lt;output name=&quot;Audio
L&quot; type=&quot;audio&quot;/&gt;</span></span></p>
<p class="hcp12"><span class="hcp7"><span class="hcp4">&lt;output name=&quot;Audio
L&quot; type=&quot;audio&quot;/&gt;</span></span></p>
<p class="hcp12"><span class="hcp7"><span class="hcp4">&lt;output name=&quot;Video&quot;
type=&quot;video&quot;/&gt;</span></span></p>
<p class="hcp8"><span class="hcp1">&lt;input
name=&quot;Ethernet&quot; type=&quot;ethernet&quot;/&gt;
&#160;</span>These define all the ports on the device.</p>
<p><span class="hcp1">&lt;/device&gt;
&#160;</span>This ends the device script.</p>
<p>&#160;<br>
And here is how it looks on the desktop:</p>
<p><img src="DEV_Script.jpg" alt="Video Server" title="Video Server" width="210" height="179" border="2" class="hcp6"></p>
</div>
<p style="margin-bottom: 0;">&#160;</p>
</div>
</div>
</div>
</body>
</html>