Help To setup Synced Navigation in Ableton Live10 with 3 midi controller

What annoys me is that the sofware doesn’t seem to work as it is supposed to be . Weather I try to understand the concept of asynchronous or parallel processing, your last video suggestion talking about hierarchy got me somewhere in ordering everything properly , though I don’t get why I am not able to simply simulate 2 clicks of a button in a row in an easy fashion, I’ve lost 3 days a bit stupidly on this and try to apply all those technical principles from the manual. It is very weird to have no logical explanation of why it doesnt work. If I click quickly twice on my controller it moves twice . what I would like to be able to do knowing that there is a much much easier to achieve what i am doing is to make it work and to understand why it works and why it doesn’t. Without diving into rules yet I started trying out timer. So if I set My incoming action going to a timer, setting timer to repeat action x2 then set another translator with a Timer as incoming to pick up the first translator settings and set the outgoing action to my Midi out I get the outgoing action effectively triggerd twice in the log . I set the repeating action delay at 500ms reading in my controller remote script the following rule that apply to every button action in the script
# No of ms to consider pressing a Button a click and not holing
# It is the maximum amount of time between pressing the button down
# and releasing it
CLICK_TIME = 500

This works, it moves twice but then the action repeat again indefinitely weather I set a another translator to kill timer or not.
If I add another translator to simulate the button coming back up it doesn’t stop the action either or then it does but simulate 4 clicks instead of 2 if I set around 380/500ms action delay.
All of this on a blank project just with few translator to rule that I want to press 1 button twice when I press once

Before starting all that work from scratch again I’d really like to get this right once and for all and not by “luck” . All those questions I am asking myself can’t find any answers in the manual nor the videos and all tips I find do not work so I am starting to think there is a bug somewhere.
As an habit I restart the project regularly as I saw bugs sometimes in between the log list and the translator it points out when I click on a line. Restarting the project fixes it.
All the Keyboard stroke translation are a breeze but the midi through to midi is hard to take as all you suggested like doubling midi adress for instance doesn’t work either .
I tripled checked all my input/output ports, Live ports everything and actually focusing on a blank project for 1 button …seems endless

Please post your current project file and I will have a look later this evening.

Steve Caldwell
Bome Customer Care


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

Ableton Controllers Sync.bmtp (30.9 KB)
Thank you.
Please note that without the controllers it might be difficult to catch , my goal is to create a Shiter preset for each controller , ATM all the APC presets work as intended and I am still working on the M STudio shifter part which seems ok so far and the No Shift M Studio to All preset works as intendes as well and I am still stuck on the Shift M Studio to All preset where I am trying to setup a double shifted (2x4) right move for the M Studio Box in sync with the 1x8 of the APC. I could manage to do it for the APC set up but as I couldn’t reproduce it . Each shiter activate/deactivate the corresponding presets when the used controller shift button is triggered in order to avoid unwanted actions or cancellations . Basically each set up only make use of each controller shift and left/right button from each controller.
At least if I could understand what I am doing wrong I could move forward
Thank you for your time

OK, since your project file was so confusing to me, I created a new one that should have the general model you need.

First, I created all of the aliases. As you say in your case I do not have all of the same controllers of you so I just assigned controllers that I do not have to some unused virtual ports for testing.

Then I set up the default routes (that Ableton LIve will be using to connect to each controller. These routes will be used for anything that does not have a translator (with swallow set).

I almost always use aliases as if things change, it makes it easier to re-assign them.

image

Then I created presets to handle the translator routing for each possibility. Please note the routing on the presets that ensure the input and outputs are to the correct devices.

image

With no translators, and setting Ableton to look at the right MIDI ports, things should be just as if you had set them up individually.

Now I created some translators (but not all that are needed). I set up inputs from the APC-40 which I have with timer output “Left” and “Right”

Then I use timer input within the preset to send the correct MIDI message for Left and right.

Now I set up translators for MStudio with timer inputs Left and Right and then set the outgoing messages for those actions (pressing left and right twice to that Ableton Port)

I think Ableton will ignore note-off messages so this should work.

Here is what I see when I press right on my APC-40. Notice the MStudio now sends to messages

image

And here is what it looks like when I press Left on the APC40

image

Also since the timers are in different presets, the output goes out only to the correct ports (the port for that preset).

This should give you enough structure to work with.

Sync-Controllers-sjc-2022-08-01.bmtp (2.4 KB)

Steve Caldwell
Bome Customer Care


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

Thank you Steve, This is probably a cleaner manner to proceed, though looking at the logs I had similar outgoing reports but the actions where not performed as intended. I will try this manner and see what it brings.

Thank you !

So after a test I get the same result where the action performs indefinitely on the M Studio side so I probably need to set a translator to stop the action.
So if I understand well, doubling the outgoing midi message trick only works in conjonction with a timer ?Or the normal behaviour of the sofware is that it should also simply work with incoming/outgoing action in the same translator ?
When I looked at the log when setting up incoming say B0 5D 7F/Outgoing B0 5D 7F B0 5D 7F it was indeed outputing the action twice in the log but was not performing in the software .
Also I don’t understand why setting Presets Ableton to ->controllers in Bome since I thought it would just need to use the passthrough from bome to get proper backlight informations from the script (which actually works fine)
My main troublre was (and still is the same after trying your version) If I focus solely on the Maschine Studio, how can I achieve a proper double action like clicking physically twice on the Maschine studio when clicking once and having the action to properly stop after it.
Your sofware is very logic so I just try to do it the proper way without fail. With your set up I get the same output as with mine which is the theoretical performed action going left or right
1: MIDI IN [Maschine Studio Virtual Input]: B0 5D 7F
2: MIDI OUT [Bome MIDI Translator 2 Virtual Out]: B0 5D 7F
3: MIDI OUT [Bome MIDI Translator 2 Virtual Out]: B0 5D 7F
4: MIDI IN [Maschine Studio Virtual Input]: B0 5D 00
5: MIDI OUT [Bome MIDI Translator 2 Virtual Out]: B0 5D 00
6: MIDI OUT [Bome MIDI Translator 2 Virtual Out]: B0 5D 00
7: MIDI IN [Maschine Studio Virtual Input]: B0 5B 7F
8: MIDI OUT [Bome MIDI Translator 2 Virtual Out]: B0 5B 7F
9: MIDI OUT [Bome MIDI Translator 2 Virtual Out]: B0 5B 7F
10: MIDI IN [Maschine Studio Virtual Input]: B0 5B 00
11: MIDI OUT [Bome MIDI Translator 2 Virtual Out]: B0 5B 00
12: MIDI OUT [Bome MIDI Translator 2 Virtual Out]: B0 5B 00

I tried to introduced all sorts of delay times in between actions to avoid overlaps/ Asynchronous / parallel actions and get this hyerarchised properly .

B0 5B 7F
B0 5B 00
B0 5B 7F
B0 5B 00

I spent 3 entire days focusing on only that goal trying every possible technical approach offered by your softaware and the different videos to no avail which is why I am asking you where it could come from. Using Aliases is better to streamline the project but has no direct relation to wheather it would work or not I think and as cpnfusing as my project is it works fine in both Shifter/Unshifted state from the APC to all with all backlights working perfectly fine without messing up the different scripts in anyway since if I understand whell my actions are done on the controller → go into BOME → are being modified-> then passthrough to Ableton each on their dedicated virtual ports-> are performed → then all midi informations come back to BOME thorough their own dedicated virtual ports and feed the controller . This is basic enough
Though I am still stumbled opening a blank Ableton project, Only M Studio connected , i get correct outputs in Bome but don’t get the action to perform properly in the sofware : the movement continue indefinitely with or without stop processing after outgoing action. If I set another translator to stop the action with MIDI RAW note off, either it doesnt move anymore and if I set a delay so it gives time to the Left/Right action to perform , I can’t find any suitable delay time to get a precise movent. If I set a timer to multiple times on 2 it doesn’t work, on 3 it repeats indefinitely, on Once it repeats indefinitely also .
I know it must be annoying at this stage but what could logically affect the intended action ? There is no loop, all is set properly and the log output the correct movement.

There are other ways to do this. This just seemed to be the simplest way in your case.

Maybe Ableton Live is also looking for off messages so see if changing it to

B0 5D 7F B0 5D 00 B0 5D 7F B0 5D 00

will fix it. If not, maybe Ableton Live is looking for a delay which would mean we need to change the methodology some.

I just set this up in case you want to later add translation from Ableton Live back to your controllers, otherwise the default MIDI routing would work just fine.

I’m sorry it sometimes takes a while and there may be factors unknown to us at play here. Unfortunately I cannot completely debug your project file without duplicating your setup

You may want to ensure that Ableton Live is looking at the correct virtual ports and not the original MIDI ports from your controllers. Often times, Ableton Live will want to take over the original ports instead of the virtual ports and then things don’t work as expected. Please understand that perhaps you can be sending to the right virtual ports and maybe Ableton Live is incorrectly looking at the original ports, which I suspect may be why it is not working. There is really not a lot of magic in what we do here. As you say, we simply intercept the original message and the change it to a new message to be sent on to the application and the application should not be able to tell the difference. The only possible exception would be how Ableton decided to implement the MIDI remote scripts when using certain combinations of controllers but since your redboxes look OK (without MT Pro) , I suspect the scripts are OK.

There is a page near the back of the manual (F1 from within MT Pro) that shows how stop processing and such works. It is a flowchart and might be able to help more.

If you can provide a log output of a specific example where it looks like you are sending the right messages, yet Ableton Live is not doing as expected, perhaps I can look at that and help you figure it out,

This looks like the port settings in Ableton are not correct.

Steve Caldwell
Bome Customer Care


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

Another pointer:

When starting, always start MT Pro and ensure the controller port connections are open before you start Ableton Live. As mentioned earlier, Ableton Live tends to want to hijack the original MIDI ports if they are still available and you will get incorrect behavior if trying to work through MT Pro as Ableton Live will be working directly with the controller.

Thank you very much for all your great very helpul answers ! I’ll lookt into all that and will detail what works if it can help any other user, :slight_smile:

Thanks !

Thanks for the positive feedback. I try to do everything within my power to make it work even though I often don’t have a complete duplicate configuration. As you have found, this stuff can be quite involved at times.

Steve Caldwell
Bome Customer Care


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

Yes, it needs a lot of focus and tenacity but it is very rewarding once things work . And as you say it is no magic, just logic which is why I can’t stop trying to understand why it works or doesn’t , even though sometimes things can not work and there is no visible logical explanation to it :slight_smile:
Thanks again !

Hi,
Hope all is well, I finally got everything to worked in a clear and coherent manner.
what I had terribly wrong since the beginning was to think that each translator could only on midi message at the time, so my template was actually confusing because I created a1 translator for note on and one for note of when I could basically insert both in one outgoing single translator/message and get a perfect result.
I will start this template again and will probably use only half of the translators I had to setup. I don’t know how I could miss such important information in the manual , I’ve wasted a lot of time an energy stupidly, though I am eternally grateful for your reactivity and your help on that matter .

Thank you Steve

Hi, if you learned something, I’m sure the time was not wasted. Sometimes the best learning comes with some trial and error and intermediate failing.

Let me know if you need anything else.

Steve Caldwell
Bome Customer Care


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

Thanks Steve, probably like anyone nowadays, I learn something everyday :slight_smile: