116
M512-3 Juggler : User Guide
© 2021 7thSense
External Control
Commands and their parameters are case insensitive. Each parameter’s actual value is case
sensitive. Individual commands are activated in text strings by line ending characters \n, or in xml, by
opening and closing tags <command> </command> or, for empty tags, <command />.
Grouping Commands
It can be more efficient to encapsulate many SET commands in a single group using the
<commands></commands> tag.
For example to position two projectors in a single control message:
<commands>
<command cmd="set" path="/GroupSet/Group/proj1/position/x" value="0.2"/>
<command cmd="set" path="/GroupSet/Group/proj1/position/y" value="0.3"/>
<command cmd="set" path="/GroupSet/Group/proj1/position/z" value="0.4"/>
<command cmd="set" path="/GroupSet/Group/proj1/heading/az" value="0.5"/>
<command cmd="set" path="/GroupSet/Group/proj1/heading/el" value="0.6"/>
<command cmd="set" path="/GroupSet/Group/proj1/heading/roll" value="0.7"/>
<command cmd="set" path="/GroupSet/Group/proj2/position/x" value="0.2"/>
<command cmd="set" path="/GroupSet/Group/proj2/position/y" value="0.3"/>
<command cmd="set" path="/GroupSet/Group/proj2/position/z" value="0.4"/>
<command cmd="set" path="/GroupSet/Group/proj2/heading/az" value="0.5"/>
<command cmd="set" path="/GroupSet/Group/proj2/heading/el" value="0.6"/>
<command cmd="set" path="/GroupSet/Group/proj2/heading/roll" value="0.7"/>
</commands>
The reply would be:
<group success="true" numberOfCommands="12" atomic="true" commandDuration="8111us"/>
Note: ‘atomic’ in this reply indicates that the commands group was not to be distributed to the other
members of the Compere Project Group until all commands had been received by the instance of
Compere addressed.
In this example, projector movement will therefore be smoother. The attribute atomic="true" is
implicit, but atomic="false" can be used if you want commands to be distributed one at a time as
received, i.e. while other commands are still being received.
Explicit example:
<commands atomic="true">
<command cmd="set" path="/GroupSet/Group/proj1/position/x" value="0.2"/>
...
</commands>
The plain text equivalent would be like this: