User's Manual
Table Of Contents
- 1 Welcome
- 2 Quick Start
- 3 MIDI Setup Guide
- 4 Program Interface
- 5 MIDI Translator Concepts
- 6 The Project
- 7 The Preset
- 8 The Translator Entry
- 9 Actions
- 9.1 MIDI
- 9.2 Keystrokes
- 9.3 Timer
- 9.4 Preset Change
- 9.5 Disable/Enable Processing Actions
- 9.6 Mouse (Outgoing)
- 9.7 Execute File (Outgoing)
- 9.8 Serial Port
- 9.9 AppleScript
- 10 Rules and Variables
- 11 Settings
- 12 Behind the Scenes
- 13 Tips & Tricks
- 14 Usage Example
- 15 MIDI Translator in Hardware: the BomeBox
- 16 Reference
Bome MIDI Translator: User's Manual 12 Behind the Scenes
Preset is
active?
Preset is
active?
Get next Preset
Get next Preset
Yes
Yes
Yes
Yes
No
No
No
No
Done with this
event
Done with this
event
Process Incoming
Action
Process Incoming
Action
Flowchart Incoming Event Processing
Flowchart Incoming Event Processing
Wait for
Incoming
Event
Wait for
Incoming
Event
Template by Marc Carson, www.marccarson.com.
Template by Marc Carson, www.marccarson.com.
Get First Preset
Get First Preset
Get First Translator
Get First Translator
Translator is
active?
Translator is
active?
No
No
No
No
Yes
Yes
Yes
Yes
No more
Presets?
No more
Presets?
No
No
No
No
Any more
Translators?
Any more
Translators?
No
No
No
No
Get next
Translator
Get next
Translator
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Incoming
Action
matches
event?
Incoming
Action
matches
event?
Process Rules
Process Rules
No
No
No
No
Yes
Yes
Yes
Yes
Skip
Outgoing
Action?
Skip
Outgoing
Action?
Execute Outgoing
Action
Execute Outgoing
Action
Yes
Yes
Yes
Yes
No
No
No
No
Stop
Processing
flag?
Stop
Processing
flag?
Yes
Yes
Yes
Yes
No
No
No
No
12.2 Executing the Outgoing Action
Once the Incoming Action processing logic (see previous chapter)
determines that the Outgoing Action needs to be executed, the engine will
either execute the Outgoing Action directly, or enqueue the action for
asynchronous execution.
The decision if an action is executed directly or asynchronously depends on
many factors out of scope of this document, but in general fastest
processing of the engine in general is favored. For example, Outgoing
(c) 2019 by Bome Software GmbH & Co. KG page 79