407 lines
22 KiB
HTML
407 lines
22 KiB
HTML
|
|
||
|
<!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>Macros</title>
|
||
|
<link rel="StyleSheet" href="HtmlHelp.css" type="text/css">
|
||
|
<style title="hcp" type="text/css">
|
||
|
<!--
|
||
|
span.hcp1 { font-style:italic; }
|
||
|
img.hcp2 { border-width:2px;
|
||
|
border-style:solid;
|
||
|
margin-top:0px;
|
||
|
margin-bottom:0px;
|
||
|
margin-left:0px;
|
||
|
margin-right:0px; }
|
||
|
p.hcp3 { margin-bottom:0; }
|
||
|
-->
|
||
|
</style>
|
||
|
</head>
|
||
|
|
||
|
<body class="ns-0 ltr">
|
||
|
<div id="globalWrapper">
|
||
|
<div id="column-content">
|
||
|
<div id="content">
|
||
|
<h1 class="firstHeading">Macros</h1>
|
||
|
<div id="bodyContent">
|
||
|
<h3 id="siteSub">Overview</h3>
|
||
|
<p>Macros are user-defined blocks of audio <span style="font-weight: bold;">or</span>
|
||
|
logic processing, encapsulated in one object. Macros are
|
||
|
created in a separate Macro Editor (packaged with the
|
||
|
HiQnet London Architect installation), saved as .macro
|
||
|
files from that editor and then made available for use
|
||
|
in HiQnet London Architect. The Macros must be saved or
|
||
|
copied into the 'My Documents\My Macros' folder. Once
|
||
|
Macros have been imported into <a href="MAINIntroduction.htm">HiQnet
|
||
|
London Architect</a>, they then mostly behave just like
|
||
|
standard <a href="Signal Processing Objects.html">processing
|
||
|
objects</a>, or <a href="Logic Objects.html">logic objects</a>.
|
||
|
The main difference is that Macros have their own functionality
|
||
|
- built up from standard objects.</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Creating_Macros_:_The_Macro_Editor" id="Creating_Macros_:_The_Macro_Editor"></a></p>
|
||
|
<h3>Creating Macros : The Macro Editor</h3>
|
||
|
<p>The Macro Editor can be launched from HiQnet London
|
||
|
Architect by selecting <span class="hcp1">Tools
|
||
|
-> Launch Macro Editor</span>. The Macro Editor is
|
||
|
essentially a modified version of the main HiQnet London
|
||
|
Architect application, with functionality irrelevant to
|
||
|
Macro creation such as the network removed, but with the
|
||
|
addition of some extra controls which are needed to create
|
||
|
Macros.</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Naming_the_Macro" id="Naming_the_Macro"></a></p>
|
||
|
<h4>Naming the Macro</h4>
|
||
|
<p>Enter a name for the Macro in the 'Macro Name' edit
|
||
|
box: <img src="Macros_files/MacroName.JPG" alt="Image:MacroName.JPG" longdesc="/wiki/index.php?title=Image:MacroName.JPG" title="Image:MacroName.JPG" width="132" height="17" border="2" class="hcp2"></p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Placing_the_Macro_into_a_group" id="Placing_the_Macro_into_a_group"></a></p>
|
||
|
<h4>Placing the Macro into a group</h4>
|
||
|
<p>Enter the Macro into a group using the 'Insert Into
|
||
|
Group' combo box: <img src="Macros_files/MacroGroup.JPG" alt="Image:MacroGroup.JPG" longdesc="/wiki/index.php?title=Image:MacroGroup.JPG" title="Image:MacroGroup.JPG" width="133" height="36" border="2" class="hcp2"></p>
|
||
|
<p> <br>
|
||
|
With the Audio tab selected, only the audio processing
|
||
|
groups will be shown. Likewise, with the Logic tab selected,
|
||
|
only the logic object groups will be shown.</p>
|
||
|
<p>The default is <NONE>. This means the Macro won't
|
||
|
be placed into any group. You can create a new group for
|
||
|
the Macro by entering a name into the combo box. You can
|
||
|
also choose an existing group from the list - either a
|
||
|
standard group, or another group created for another Macro.</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Macro_Configuration_Window" id="Macro_Configuration_Window"></a></p>
|
||
|
<h4>Macro Configuration Window</h4>
|
||
|
<p>This is where the <a href="Signal Processing Objects.html">Processing
|
||
|
Object</a> / <a href="Logic Objects.html">Logic Object</a>
|
||
|
layout of the Macro is designed. One important point is
|
||
|
that a Macro must be audio only, or logic only. Any one
|
||
|
Macro cannot contain both audio and logic processing at
|
||
|
the same time. This is disallowed by the Macro Editor.</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Adding_Macro_ports" id="Adding_Macro_ports"></a></p>
|
||
|
<h5>Adding Macro ports</h5>
|
||
|
<p>To get signals in and out of a Macro, it needs ports.
|
||
|
The number of input and output ports wired into the Macro
|
||
|
configuration will determine the eventual number of input
|
||
|
and output nodes on the Macro object in the main application.</p>
|
||
|
<p>To add input ports, click on the 'In' button:</p>
|
||
|
<p><img src="Macros_files/MacroInPort.JPG" alt="Image:MacroInPort.JPG" longdesc="/wiki/index.php?title=Image:MacroInPort.JPG" title="Image:MacroInPort.JPG" width="68" height="16" border="2" class="hcp2"></p>
|
||
|
<p>To add output ports, click on the 'Out' button:</p>
|
||
|
<p><img src="Macros_files/MacroOutPort.JPG" alt="Image:MacroOutPort.JPG" longdesc="/wiki/index.php?title=Image:MacroOutPort.JPG" title="Image:MacroOutPort.JPG" width="68" height="16" border="2" class="hcp2"></p>
|
||
|
<p>Either button will bring up a dialog as shown below:</p>
|
||
|
<p><img src="Macros_files/Macro_port_dialog.jpg" alt="Image:Macro port dialog.jpg" longdesc="/wiki/index.php?title=Image:Macro_port_dialog.jpg" title="Image:Macro port dialog.jpg" width="206" height="328" border="2" class="hcp2"></p>
|
||
|
<p>Specifying a name, or not, has very specific effects
|
||
|
for Macro instances added to designs in the main application.</p>
|
||
|
<p>For input ports, the name specified will be added after
|
||
|
the signal names on Macro inputs.</p>
|
||
|
<p>For output ports:</p>
|
||
|
<ul>
|
||
|
<li class="p"><p class="hcp3">With no
|
||
|
name specified, signal naming will run through the
|
||
|
Macro object as specified by the internal wiring on
|
||
|
this output port.</p></li>
|
||
|
<li>With a name specified, the output port will start
|
||
|
a new signal name. The new signal name will be the
|
||
|
name of the Macro instance, with the name of the output
|
||
|
port appended to it.</li>
|
||
|
</ul>
|
||
|
<p> <span class="hcp1"><br>
|
||
|
Add Multiple Ports</span></p>
|
||
|
<p>If this option is checked, a new section of the dialog
|
||
|
appears.</p>
|
||
|
<p><img src="Macros_files/Multiple_ports.jpg" alt="Image:Multiple ports.jpg" longdesc="/wiki/index.php?title=Image:Multiple_ports.jpg" title="Image:Multiple ports.jpg" width="207" height="328" border="2" class="hcp2"></p>
|
||
|
<p>Simply enter the number of ports to be added when the
|
||
|
'OK' button is clicked.</p>
|
||
|
<p>If the <span class="hcp1">Number each
|
||
|
port</span> option is checked, then a number will be added
|
||
|
to the end of the specified name for each port. Each port
|
||
|
will have a different number added to the end of the name.</p>
|
||
|
<p>Set the <span class="hcp1">Start numbering
|
||
|
at:</span> number appropriately.</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Adding_processing" id="Adding_processing"></a></p>
|
||
|
<h5>Adding processing</h5>
|
||
|
<p>Add processing to the Macro as you would normally in
|
||
|
the configuration of a Soundweb London device - except
|
||
|
wire to Macro inputs and outputs rather than input and
|
||
|
output cards / CobraNet bundle objects.</p>
|
||
|
<p>NOTE: All basic Processing Objects / Logic Objects should
|
||
|
be available for use in the design of the Macro, but previously
|
||
|
created Macros will NOT be available. i.e. Macros cannot
|
||
|
contain other Macros.</p>
|
||
|
<p>Any unwired input or output Macro ports will be ignored.
|
||
|
(i.e. it won't show up as input or output nodes on resulting
|
||
|
Macro object instances in the main application).</p>
|
||
|
<p>While creating the Macro processing setup, the Compiler
|
||
|
Report will show any compiler warnings / errors. However,
|
||
|
a compile 'percentage' will not be shown, as the Macro
|
||
|
configuration does not represent any specific Soundweb
|
||
|
London device and therefore processing capability cannot
|
||
|
be determined.</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Adding_Links" id="Adding_Links"></a></p>
|
||
|
<h4>Adding Links</h4>
|
||
|
<p>Controls can be linked together within the Macro in
|
||
|
the same way that they can be linked from within <a href="MAINIntroduction.htm">HiQnet
|
||
|
London Architect</a>. All the usual selection of link
|
||
|
types are available. These links will exist in the Macro
|
||
|
instances when the Macro is used within HiQnet London
|
||
|
Architect. Links can either be 'hidden' or 'exposed',
|
||
|
depending on whether a control for the link is present
|
||
|
anywhere on the Macro Control Panel. (See the <a href="MainMacros.htm#Macro_Control_Panel">'Macro
|
||
|
Control Panel'</a> section below').</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Adding_Parameter_Presets" id="Adding_Parameter_Presets"></a></p>
|
||
|
<h4>Adding Parameter Presets</h4>
|
||
|
<p><a href="Parameter Presets.html">Parameter Presets</a>
|
||
|
can be added to the Macro in the usual manner. However,
|
||
|
<a href="Device Presets.html">Device Presets</a> and <a
|
||
|
href="Venue Presets.html" title="Venue Presets">Venue
|
||
|
Presets</a> cannot be added, as they are beyond the scope
|
||
|
of individual Macros. NOTE: Parameter preset states must
|
||
|
be referenced at least once on the Macro Control Panel
|
||
|
for them to be 'exposed' to the user. (See the 'Macro
|
||
|
Control Panel' section below).</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Macro_Control_Panel" id="Macro_Control_Panel"></a></p>
|
||
|
<h4>Macro Control Panel</h4>
|
||
|
<p>Macros which do not require an associated control panel
|
||
|
should have their Macro Control Panel left blank. This
|
||
|
allows the main application to determine that the Macro
|
||
|
has no associated panel.</p>
|
||
|
<p>However, if a <a href="Control_Panels.html">Default
|
||
|
Control Panel</a> is required for a Macro, the Macro Control
|
||
|
Panel will have to be configured appropriately. The Macro
|
||
|
Control Panel is essentially the same as a <a href="Custom control panels.html">Custom
|
||
|
Control Panel</a>, and can be edited in the usual way.
|
||
|
Either the default panels of the objects within the Macro
|
||
|
Configuration can be opened, and their controls can be
|
||
|
copied over to the Macro Control Panel, or controls can
|
||
|
be added / assigned from the Design Tree View as normal.</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Property_Tables" id="Property_Tables"></a></p>
|
||
|
<h5>Property Tables</h5>
|
||
|
<p>Some processing objects such as the <a href="MAINCalendar.htm">Calendar</a>
|
||
|
Object and the <a href="MAINPreset_Trigger.htm">Preset
|
||
|
Trigger</a> have to have their property tables set up
|
||
|
at design time. The property tables for these objects
|
||
|
will not be available for manipulation from within <a
|
||
|
href="MAINIntroduction.htm">HiQnet London Architect</a>.</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Hiding_Controls.2C_links_and_parameter_preset_states"
|
||
|
id="Hiding_Controls.2C_links_and_parameter_preset_states"></a></p>
|
||
|
<h5>Hiding Controls, links and parameter preset states</h5>
|
||
|
<p>Any <a href="Signal Processing Objects.html">processing
|
||
|
object</a> controls, link controls or <a href="Parameter Presets.html">parameter
|
||
|
presets</a> that aren't referenced at least once on the
|
||
|
Macro Control Panel will become 'hidden'. The items will
|
||
|
not be present in the design tree view, and will effectively
|
||
|
become read-only.</p>
|
||
|
<p> <br>
|
||
|
Hidden object controls will keep whatever value they had
|
||
|
when the Macro file was saved and cannot be edited by
|
||
|
the user of the Macro. (NOTE: 'Hidden' control parameters
|
||
|
also have their 'locked' property set for extra protection
|
||
|
- this is the same property that is set on FDS controls
|
||
|
that are 'locked out' by the user).</p>
|
||
|
<p>Hidden links are always on or off depending on the eventual
|
||
|
state when the Macro file is saved. The link state cannot
|
||
|
be altered by the user of the Macro.</p>
|
||
|
<p>Hidden <a href="Parameter Presets.html">Parameter Preset</a>
|
||
|
states cannot be recalled by the user of the Macro.</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Macro_Security" id="Macro_Security"></a></p>
|
||
|
<h4>Macro Security</h4>
|
||
|
<p>It is possible to 'lock out' the design of a Macro with
|
||
|
a password. This is achieved by selecting Tools ->
|
||
|
Macro Security in the Macro Editor. To enable security,
|
||
|
check the <span class="hcp1">Enable Security
|
||
|
for this Macro</span> checkbox. This will bring up a dialog
|
||
|
where you enter the password with which to lock the Macro.
|
||
|
You can turn security back off by unchecking the checkbox.
|
||
|
(Assuming you have remembered the password to get back
|
||
|
into the Macro design!).</p>
|
||
|
<p>NOTE: Adding security to a Macro file doesn't alter
|
||
|
how the Macro can be used once imported into London Architect.
|
||
|
It only blocks opening up the .macro file directly in
|
||
|
the Macro Editor, thereby stopping others seeing the internal
|
||
|
design of the Macro and / or altering it's operation.</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Saving_the_Macro" id="Saving_the_Macro"></a></p>
|
||
|
<h4>Saving the Macro</h4>
|
||
|
<p>Save the Macro as you would a normal file. File ->
|
||
|
Save (As...), CTRL + S etc.</p>
|
||
|
<p>The filename doesn't have to bear any resemblance to
|
||
|
the Macro name specified in the Macro Configuration. The
|
||
|
Macro filename isn't currently presented anywhere to the
|
||
|
user in HiQnet London Architect.</p>
|
||
|
<p>The Macro will be saved as a .macro file.</p>
|
||
|
<p>NOTE: The .macro file must be saved in the 'My Documents\My
|
||
|
Macros' folder (or a sub-folder) for it to be loaded by
|
||
|
the main application. This self-contained file can be
|
||
|
shared amongst collegues or other users and can also be
|
||
|
made available for download if applicable.</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Using_Macros" id="Using_Macros"></a></p>
|
||
|
<h3>Using Macros</h3>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Adding_Macros_to_the_design" id="Adding_Macros_to_the_design"></a></p>
|
||
|
<h4>Adding Macros to the design</h4>
|
||
|
<p>When the main <a href="MAINIntroduction.htm">HiQnet
|
||
|
London Architect</a> application is started, it will search
|
||
|
for all .macro files in the 'My Documents\My Macros' folder
|
||
|
and any sub-folders. Any Macro files found will be visible
|
||
|
in the Hardware Tree View, as well as showing up as extra
|
||
|
items on the right-click context menu in either the configuration
|
||
|
view, or the logic view depending on what kind of Macros
|
||
|
are present.</p>
|
||
|
<p>If a Macro has just been created in the Macro Editor
|
||
|
and saved into the correct folder, it can be read into
|
||
|
the main application by clicking on Tools > Rescan
|
||
|
Macro Directory. This will also read in any Macros which
|
||
|
have been manually added to the directory as well as omitting
|
||
|
any deleted Macros.</p>
|
||
|
<p>If a Macro is saved more than once but with different
|
||
|
filenames, only one instance of that Macro will be loaded
|
||
|
when the Macro directory is rescanned.</p>
|
||
|
<p>If more than one Macro with the same name and group
|
||
|
is saved, then on a rescan all of them will be loaded
|
||
|
but HiQnet London Architect will rename the Macros using
|
||
|
a suffix of [2], [3], [4] etc.</p>
|
||
|
<p>Macro items and folders in the hardware tree view will
|
||
|
use this icon:</p>
|
||
|
<p><img src="Macros_files/MacroIcon.JPG" alt="Image:MacroIcon.JPG" longdesc="/wiki/index.php?title=Image:MacroIcon.JPG" title="Image:MacroIcon.JPG" width="17" height="16" border="2" class="hcp2"></p>
|
||
|
<p>Add Macros to your design in the same manner as all
|
||
|
other <a href="Signal Processing Objects.html">processing
|
||
|
/ logic objects</a>. Either drag them in from the hardware
|
||
|
tree view, or select them in the context menu.</p>
|
||
|
<p>Macros act just like 'standard' Processing Objects /
|
||
|
Logic Objects. They can be copied (within the same configuration,
|
||
|
or between configurations), have their default panels
|
||
|
opened (if one is defined), deleted, added to <a href="Parameter Presets.html">Parameter
|
||
|
Presets</a> or <a href="Device Presets.html">Device Presets</a>
|
||
|
(and hence into <a href="Venue Presets.html" title="Venue Presets">Venue
|
||
|
Presets</a>), compiled, loaded to devices, operated online
|
||
|
etc. etc. Any control parameters, link objects and parameter
|
||
|
presets within a Macro, and which have been made available
|
||
|
on its control panel, will be available in the design
|
||
|
tree view under Macro objects and can be used in the same
|
||
|
way as any processing object in the main LA application
|
||
|
i.e. dragged onto control panels, assigned to control
|
||
|
ports and linked to other control parameters etc.</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Design_Tree_View" id="Design_Tree_View"></a></p>
|
||
|
<h4>Design Tree View</h4>
|
||
|
<p>Macros exist alongside other <a href="Signal Processing Objects.html">processing
|
||
|
/ logic objects</a> in the design tree view, under their
|
||
|
own folder - 'Macro Objects'. Under this folder, all the
|
||
|
types of Macros in the configuration are listed as folders.
|
||
|
Opening up these folders will list the individual Macro
|
||
|
instances:</p>
|
||
|
<p><img src="Macros_files/MacroDesignTree.JPG" alt="Image:MacroDesignTree.JPG" longdesc="/wiki/index.php?title=Image:MacroDesignTree.JPG" title="Image:MacroDesignTree.JPG" width="298" height="510" border="2" class="hcp2"></p>
|
||
|
<p>If there is more than one processing object defined
|
||
|
within the Macro and more than one object which exposes
|
||
|
controls - then (as shown in the example above) object
|
||
|
controls will be grouped according to the object. (In
|
||
|
the above example, 'Gain' is the name of the Gain Processing
|
||
|
Object, and 'Meter' is the name of the Meter Processing
|
||
|
Object) Macro designers should therefore make sure that
|
||
|
their Processing Objects / Logic Objects are named appropriately.</p>
|
||
|
<p>Exposed Links and <a href="Parameter Presets.html">Parameter
|
||
|
Presets</a> are listed in their own folders under the
|
||
|
Macro object. They will NOT appear in the 'main' link
|
||
|
and parameter preset sections of the design tree view.
|
||
|
(Parameter Presets defined within Macros will also not
|
||
|
show up in the Preset toolbar).</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Hardware_View" id="Hardware_View"></a></p>
|
||
|
<h4>Hardware View</h4>
|
||
|
<p>Macro groups are included along with all of the other
|
||
|
<a href="Signal Processing Objects.html">Processing Object</a>
|
||
|
groups in the Hardware View within the Processing Objects
|
||
|
folder. Selecting "Rescan Macro Directory" from
|
||
|
within the tools menu of London Architect will update
|
||
|
this view with any new Macros which have been saved to
|
||
|
the My Macros folder.</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Deleting_Macros" id="Deleting_Macros"></a></p>
|
||
|
<h4>Deleting Macros</h4>
|
||
|
<p>When a Macro is deleted, all control parameters contained
|
||
|
by that object will be removed. (As is normal with other
|
||
|
Processing Objects / Logic Objects).</p>
|
||
|
<p>In addition, all links and Parameter Presets contained
|
||
|
by the Macro will also be deleted from the design. (This
|
||
|
is why these items are listed under the Macro object rather
|
||
|
than in the 'main' lists in the Design Tree).</p>
|
||
|
<div class="editsection" style="float: right; margin-left: 5px;">
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
<p><a name="Macro_Versioning" id="Macro_Versioning"></a></p>
|
||
|
<h4>Macro Versioning</h4>
|
||
|
<p>It is important to note that Macros do not try to auto-version
|
||
|
old versions of Macros included in designs. This includes
|
||
|
Macro panel changes.</p>
|
||
|
<p>So for example, let's consider a Macro that is created
|
||
|
and saved in state A.</p>
|
||
|
<p>This Macro is then included in a design.</p>
|
||
|
<p>The .macro file is then re-opened in the Macro Editor
|
||
|
and altered in some way. The .macro file is then re-saved
|
||
|
in state B. If a new instance of the Macro is then added
|
||
|
in the same design, or a different design, it will be
|
||
|
added as 'State B'.</p>
|
||
|
<p> <br>
|
||
|
The previously added Macro will not be automatically 'upversioned'
|
||
|
in any way. It will remain in its original state (i.e.
|
||
|
State A). The only way to replace the old Macro in State
|
||
|
A with the new State B Macro is to manually delete the
|
||
|
original instance and replace it with a new instance.</p>
|
||
|
<p>Different versions of the same Macro can happily exist
|
||
|
within the same design without clashing.</p>
|
||
|
<p> </p>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<p class="hcp3"> </p>
|
||
|
</body>
|
||
|
</html>
|