This must be a glitch. Any possible fix?

I created a simple translator that will only pass through note values above a certain range, however it only works when I use tt as the note value. Any other variable causes it to fail sending the note off message. Here are two examples (see attachments).

The only difference is using qq instead of tt. I've tried several other variables, but tt is the only one that correctly passes the note off value.

Here are the differences in the output (though I don't really know how to read them):

Test1

1: MIDI OUT [Bome MIDI Translator 3 Virtual Out]: 92 00 20

2: MIDI OUT [Bome MIDI Translator 2 Virtual Out]: 92 00 20

3: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 92 00 20

4: MIDI OUT [Bome MIDI Translator 3 Virtual Out]: 82 2B 40

5: MIDI OUT [Bome MIDI Translator 2 Virtual Out]: 82 2B 40

6: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 82 2B 40

 

Test2

1: MIDI OUT [Bome MIDI Translator 3 Virtual Out]: 92 9E 23

2: MIDI OUT [Bome MIDI Translator 2 Virtual Out]: 92 9E 23

3: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 92 9E 23

4: MIDI OUT [Bome MIDI Translator 3 Virtual Out]: 82 2B 40

5: MIDI OUT [Bome MIDI Translator 2 Virtual Out]: 82 2B 40

6: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 82 2B 40

 

Any help would be greatly appreciated!


Attachments:
1587544558767_Test1.bmtp
1587544558868_Test2.bmtp

Hi I'm not 100% sure what you are looking for, however in your MIDI thru routing  on test1.bmtp you have Bome MIDI Virtual In Ports routed to Bome MIDI Virtual Out ports which is not possible. One end of the connection to any Bome MIDI Virtual ports must be a separate MIDI enabled application or a device.

I suspect you want to split the incoming note coming from TAC-8 MIDI  to 3 outgoing locations but only if the note value is greater or equal to 44.

I also suspect you want to do the same  with note-off messages.

Finally if note is less than 44 you want to suppress the outgoing message. Since you have default MIDI routes set, then the only way to suppress outgoing messages is to write translators with the target incoming note and an output of none. Any translator with output of none and set to swallow will not go through the default MIDI thru routes.  Swallow only occurs if a translator execution passes.

Consequently I rarely use the pass thru routing feature of MT Pro and usually rely on translators instead. With that said, pass thru is a quick and dirty way to get messages through without writing a ton of translators. 

I'm attaching something that has default pass thru routes and will suppress incoming notes less that value of 44. There are two translators, one for note-on and the other for note-off. Both have an outgoing action of none if the note number is less than 44.

I also noticed that in your rules, you never initialized qq in your translator which is a local variable. For local variables, this means that if oo<44 than qq could have been any random value which I'm sure is not what you wanted. Since I don't have that logic in the project I wrote, I did not include that but for any local variable, if you want a default value, set it prior to any if statements as below:

// default value needed for local variable initilization (if not initialized in incoming MIDI message)

qq=12

if oo==1 then qq=2

if oo==2 then qq=25

// Now if neither condition above occurs, qq will be it's default value of 12

 

Steve Caldwell

Bome Q and A Moderator and

Independent Bome Consultant/Specialist

bome@sniz.biz

 

 

 


Attachments:
![](upload://epRkTE9rqa4FaH5rl0HUASB3yqM.png)
1587563927778_test1-sjc.bmtp

Thanks a bunch Steve. Also, what's the difference between Bome MIDI Translator 1 Virtual Out and Bome Virtual Port 1? They both seem to do the same thing.

Bome Virtual Port x is an auto alias to Bome MIDI Translator x Virtual In (for input and Virtual Out (for output).
I believe these auto aliases were put in place for backwards compatibility. Use one or the other but not both or you will get duplicate MIDI messages.

Actually I usually name the port with my own alias (ie to Ableton Live, to Protools) instead.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz