User's Manual

Table Of Contents
Bome MIDI Translator: User's Manual 12 Behind the Scenes
12 Behind the Scenes
In this chapter, the inner workings of the translation engine are explained.
12.1 Incoming Event Processing
MIDI Translator is entirely event driven: nothing happens until an event
comes in. Only when an event enters MIDI Translator's engine will it become
alive. An example for an event is a MIDI message coming in on a MIDI
INPUT port.
The engine looks at the first preset. If the preset is active (i.e. it is checked
in the preset list), it looks at the first translator in the preset. If the
translator is active and has the same Incoming Action type as the incoming
event (e.g. MIDI), it processes the Incoming Action.
Processing the Incoming Action is mainly a check to see if the event
matches the definitions in the Incoming Action, e.g. to compare the MIDI
message in the Action with the MIDI message of the event. Some Incoming
Actions may also set local or global variables (like the MIDI Incoming
Action).
If Incoming Action Processing results in a match, the Rules of this Translator
are executed (if any). The Rules can abort processing of this Translator. If
they don't, then the Outgoing Action is executed.
When the Outgoing Action is executed, the engine looks at this translator's
“Stop Processing” flag. If it is set, processing of this event is done.
In all other cases, the engine looks at the next translator and processes it
exactly in the same way as the first translator: the entire process is
repeated for every translator in the first preset, and then for all following
presets the same way it was done for the first preset.
(c) 2019 by Bome Software GmbH & Co. KG page 78