When is too much?

First of all: I’m having a blast with the MIDI translator! Thanks for making it :+1: MIDI-ox was not capable of what I needed.

So my use case (I’ll get to the question in a bit): I’m running Pioneer’s RekordBox (dj software) that i wishes to use with a Xone K2. I got all the stuff going including shift layer from your tutorials. Now I also decided to give all my endless encoders also its own alternative modes.

So I’m wondering what would be the limit of rules be, before latency starts to creep in? 512 rules? 1024?
Because this ‘little project’ is starting to escalate… :sweat_smile:

And is there a logic available in MTP to make a distinction between press and holding a note on message with a quick tap?
Because I want to make a quick press on an encoder button send out a midi message, but if holding it happens to skip sending out a midi message and activate a preset.

Hi ane welcome to the Bome Community. I’m glad you are having fun!

Anything within a single translator is extremely fast. The only time, I’ve seen latency issues is if you are sending MIDI over a wireless network.

Search the forum on “gestures”. I’ve done projects with single tap, tap and hold
double tap, double tap and hold and triple tap, all for the same button sending out different MIDI signals depending on the “gesture”. You usually use a global variable to count the presses and releases to determine the gesture and then a timer for the full gesture to finish.

IE tap and hold would be a count of 1
Single tap (and release) count 2
Double tap and hold count 3
and so on.

It’s a great way to get multiple uses out of the same button.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: bome@sniz.biz

Hi Steve!

Thanks for the quick response. I’m now reading on the timer usage from the gesture posts.

Another questions in general about MIDI translation: is it ok to just arbitrary send data to another (unused) MIDI channel?
For example:
I’m sending on incoming raw B9 15 1F to 9C 00 1F. I need to send it as note for mapping in my audio software, as it’s a button function but on an endless encoder. It works. But just wondering how legit this is.
Sending it to channel 13, because 11 and 12 is already used by the shift layers.

You can send to an unused channel but it generates more MIDI traffic so better to just suppress the outgoing message instead. Swallow only works when the message completes successfully or the outgoing action is none, so you might just want to add a blocking translator with an outgoing message of none if you want to suppress the MIDI thru message. This only applies if you have some MIDI thru routes set as swallow is really only there to swallow messages bound for a MIDI thru route.

Steve Caldwell
Bome Customer Care

Also available for paid consulting services: bome@sniz.biz

quick info on this: the MIDI Translator MIDI engine is highly optimized and uses multiple threads to leverage modern processors. Our measurements approx. 10 years ago showed that MT Pro can process millions of Translators per second – each translator with Rules and outgoing MIDI action. If one millisecond latency is acceptable, this still means thousands of executed translators per millisecond. The Rules rarely have any measurable impact. And even if your project file has thousands of translators, you’ll usually only have a few translators actually being executed per incoming MIDI message. Last, but not least, the MT user’s manual has some tips for optimizing your project file to reduce CPU usage of MT Pro for huge translation projects.

1 Like