User's Manual

Table Of Contents
Bome MIDI Translator: User's Manual 9 Actions
9.3.2 Outgoing Timer
There are two main types of Timer
actions - Activate Timer and Kill
Timer. Timers can be instantiated by
selecting them as an outgoing
action, and setting their appropriate
repeat times and other options.
Timers are usually associated with
other translators that have the Timer
name as their incoming action.
For instance, if you wanted to repeat
the 'Up' arrow key as long as a
condition is met, you would first
create an outgoing Timer action that
set the repeat rate, then you would
create a new translator which would output the keyboard emulation for the
'Up' arrow key - using your existing Timer translator as the incoming action.
Timer parameters include repeat occurrence (once, multiple times,
indefinitely), initial delay, repetition delay and testing functionality.
If you start a Timer that is already running, the delay time will be refreshed
with the new delay time.
One-shot 0ms Timer
A trick is to use a one-shot timer with 0 delay: this will cause the current
input event to be fully processed, and the timer event will be processed
immediately, too – possibly already in parallel to the current event. For
example, if you have a series of outgoing actions to be executed from
multiple triggers, define the same 0ms timer as Outgoing Action for all
trigger Translators, and use that timer as Incoming Action in all Translators
of the series of outgoing actions. See also chapters 13.4 Timer with 0ms and
13.5 Multiple Actions in one Translator.
Timer Initial Delay vs. Outgoing Action delay
Note that for starting a timer, you can specify an initial delay, and there is
also the possibility to specify an action delay (see Delaying Outgoing
Actions). Those two delays add up, but there is a big difference: by delaying
the outgoing action, the timer will not exist before the outgoing action delay
has passed. So during that time you cannot kill or override that timer!
Consequently, you should avoid delaying an outgoing timer action, and
rather use the timer's (initial) delay.
(c) 2019 by Bome Software GmbH & Co. KG page 44