Possible Bug - Swallow Not working?

Hi Florian,

Can you take a look at this. It seems when I set a default route, the Swallow does not seem to work in the preset called "Filter"

I was able to create another project looking at only channel 1 and swallow seems to work fine. I think there may be a bug that swallow does not work when set note on or of with any channel any note and any velocity.

 


Attachments:
1495910689839_User-4-Filter-PA3X-Example-2017-05-27-a.bmtp

It only seems to fail if incoming action is note on or off with channel set to pp note set to qq and velocity set to rr. So I suspect if you don’t set these, swallow will work OK. I did further testing. I added a new preset at the end of the project that have two translators that swallow all note on and note off. When that preset is enabled it works as expected. This is just my work around. Let me know if you want me to post this file. I can enable and disable the final swallow preset to kill the outcoming midi default. Something definately wrong with swallow under certain conditions.
I’ll send update project via email. I also am using Loopmidi ports instead of Bome Virtual ports. I did this just to test if it was a bug with Bome Virtual ports and it doesn’t look like it because Loopmidi shows the same problem.

I believe the unexpected problem here is that the “swallow” flag is only activated if both incoming trigger AND the Rules section pass. If “exit rules, skip Outgoing Action” is hit, then even if “swallow” is checked, it won’t swallow from this translator. You can, as you’ve done in your test preset, activate “swallow” from a different translator without rules and without outgoing action.
In other words, the swallow flag is only evaluated when the Outgoing Action is executed (even if it\'s the \"None\" action).

This way might not be particularly intuitive, but when we designed it at the time, we wanted to give a way to prevent “swallow” from the Rules.

Best,
Florian

Interesting and certainly not intuitive. I spend about 2 hours trying to figure out what I was doing wrong before reporting this. Thanks, Florian!