Route only when Outgoing Action is executed ?

jeremyf

2014-10-24 21:58:22

Hello,

I was wondering if it would be possible that a translator route (or swallow and do not route) a midi signal only when the Outgoing Action is executed (or something in the art) ?
Here are the explaination of my request :
- I am using a small controller (Istage), and each midi button has a lot of different uses for me (depend on multiple switches on MT)
- As I am lazy, i like to write lots of translator with "qq pp rr" entry with rules to "select" on which button it will be applied (for example, if i want the translator to work on 16 buttons, I don't like to copy it 16 times, I prefer to use rules).
- Maybe I misunderstood something, but when a translator "qq pp rr" is active, it does route (bzw stop the signal) of every button on my controller, even if I have a preset before which tells the signal to be stopped (bzw to be routed)
- So I am a bit confused with all my presets and translators that I want to affect only a part of my buttons, but who affect in fact all of my buttons.

I could always work with translators who do not route, but then I have to write a translator for every button that I want to be routed (or for every ensemble of buttons). As this solution works, my request is not so important, but it would spare me lots of translators...

Maybe my problem results of a wrong way of using MT. If that is, please tell me how you do :D

If the subject was already told in the forum, I apologize for this, I did not find it. Sorry also for my bad english...

Thanks a lot in advance !!

florian

2014-10-26 15:01:32

Hi, I think that's a design bug in MT: right now (as of v1.7.2), it is like this for every translator entry:
1) incoming trigger (IT) is evaluated
2) if IT matches, then the swallow flag is set or unset according to this translator's setting
3) if IT matches, execute rules
4) if rules don't end with "don't execute outgoing action", execute the outgoing action

IMHO, the rules belong to the incoming action and therefore, 2) and 3) above should be exchanged:

1) IT is evaluated
3) if IT matches, execute rules
2) if rules don't end with "don't execute outgoing action", set/unset swallow flag
4) if rules don't end with "don't execute outgoing action", execute the outgoing action

This is gonna be changed for the upcoming version 1.8. I guess it'll fix your problem, too.

jeremyf

2014-10-28 08:35:42

Hi,

Thanks for your answer, you got it exactly !
The solution you propose would indeed solve the problem, thanks a lot !