EM38A / EM38A-R / EM38A-X User’s Manual
Page 3 of 8
Script Playback Mode
Instead of playing a single sound file, the Script Playback mode
executes a script of commands for each trigger. Note that the Busy
output will not turn on/off automatically in the Script mode. It must
be specifically turned on/off with the BN and the BF commands.
Written in the configuration file using plain text, the script consists
of multiple lines each containing the commands for a particular
trigger in the following format:
?nnn=Command1,Command2...
Here “nnn” is the trigger number and “?” is one of the following:
N - Non-interruptible
Execution of this trigger is not interruptible.
I - Interruptible
This trigger can be interrupted by another trigger but not itself.
H - Holdable
Execution continues for as long as the trigger is applied, repeating
if necessary. Stops immediately when the trigger is removed.
There are 8 direct triggers (001 ~ 008, corresponding to T1 ~ T8) in
the DS/RS mode, 128 direct triggers in the BS mode. In addition to
the direct triggers, there are also indirect triggers. An indirect trig-
ger can be activated only by jumping from another trigger using
the Jump command. There are 991 indirect triggers (009 ~ 999) in
the DS/RS mode, 871 indirect triggers (129 ~ 999) in the BS mode.
These are the script commands:
Fnnn - play File #nnn
Example: F168 plays file #168. Note that the next command (if
any) will not be executed until the file has played to the end.
Wnnnnn - wait nnnnn units of 0.1 second
Maximum value for nnnnn is 65535 (6553.5 seconds).
Example: W00020 = wait 2 seconds.
Note: W00000 = wait forever.
Jnnn - jump to trigger #nnn
Example: J007 jumps to trigger 007.
BF - turn off the Busy output
Use this command to turn the Busy output off.
BN - turn on the Busy output
Use this command to turn the Busy output on.
Rgnn - random play
Play a random file from group g, within range 01 to nn. For ex-
ample, R015 will random play a file within 001 to 015; R208 will
random play a file within 201 to 208.
XNn - turn on relay #n (EM38A-R & EM38A-X only)
Example: XN8 turns on relay #8.
XNN - turn on all relays (EM38A-R & EM38A-X only)
Example: XNN turns on all relays.
XFn - turn off relay #n (EM38A-R & EM38A-X only)
Example: XF6 turns off relay #6.
XFF - turn off all relays (EM38A-R & EM38A-X only)
Example: XFF turns off all relays.
Xnnn - send binary to relay (EM38A-R & EM38A-X only)
Example: X63 turns on relay #1~6 because 63 = binary 00111111.
END
Always add the word END at the end of the entire script. You may
add any comments for your own reference after END.
Important Notes
- All command letters must be in upper case.
- Script lines must be separated by carriage returns (the Enter key).
- A script line is limited to 100 characters, excluding ‘=’ and ‘,’. If
more space is needed, use the Jump command.
- A command is always fully executed before the next one starts.
For example, the command after ‘F001’ will not be executed until
the 001 file has played to the end.
Automatic Execution of Script 000
Upon powerup or reset, the system will automatically execute script
000 once if it exists, even if the system is not configured in the
script mode.
Script Examples
DS
N001=F007,W00030,BN,R926,BF,J168
I168=F001,W36000,J168
H033=F273
END
DS is not really a script command, but it tells the system to enter the
Direct Script mode. You can also use RS or BS to enter the Round-
Robin Script mode or the Binary Script mode.
When the T1 input is triggered, the system start executing trigger
N001. Since this trigger is non-interruptible, it will always executes
to the end. Trigger N001 is executed as the following:
- play file #007,
- wait 3 seconds,
- turn on the Busy output,
- random play a file within 901 to 926,
- turn off the Busy output,
- jump to trigger 168 (I168).
Trigger I168 is executed as the following:
- play file #001,
- wait 60 minutes,
- jump back to itself.
Since trigger I168 is interruptible, this endless loop can be broken
by any future trigger.
Trigger H033 will never be executed because it is an indirect trig-
ger in the DS mode, yet it is not jumped to by any other trigger.
Random Play Consideration
All files within a random range must exist, or the system will play
nothing when a non-existing file is selected for random play. For
example, the script command R926 randomly selects a file within
901 to 926, so every file from 901 to 926 must exist.
Note that random play does not guarantee that every file in the
range will be played once before it selects the same file again.