Scope of Swallowon Incoming MIDI


If I have 2 translators triggered on the same MID CC, one with swallow and the other not, does the message get swallowed?

It seems that the order of the translator’s matter. If Translator1 has a swallow, and Translator2 does not the message will pass. But if Translator1 does not have a swallow but Translator2 does, then it will swallow. It seems Bome follows to last relevant translator as respect to swallow…is that correct?



First of all, if you don’t have any MIDI thru paths, then you will not need to set ‘Swallow’ as it is only there to disable a given translator from going through the MIDI thru path.

Now some other things about swallow. It only works if.

  1. The translator completes.
    For instance if you have a rule that says ‘… exit rules, skip outgoing action’ then swallow does not happen as the translator does not by complete. This is by design.
  2. OR The outgoing action is ‘None’.

So if you have a translator that has the first rule and you want swallow to happen, then you need to create another translator with the same incoming trigger and outgoing action of ‘None’ for swallow to work.

Consequently, most of the time I don’t set up MIDI thru paths and just set up translators instead. The only time I set up MIDI thru paths is

  1. If I have a possibility of many SysEX messages that I want to go through all with varying lengths.
  2. OR, I want more than 90% of the traffic to go through untouched.

In the above cases, then I set up ‘Blocking Translators’ with incoming trigger as I want, no rules and outgoing action of ‘None’.

The other thing, that swallow only happens for the designated translator, preset or project routing. For more information about device selection, see this tutorial.

If you have difficulty grasping the concept I am explaining, feel free to post your project file, and I will demonstrate further what is needed.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: