Mutually exclusive live.text buttons

spin lud's icon

Hi guys, I have just started to learn Max [for live] and I am trying to modify an existent M4L device.

Basically what I would like to do is to have multiple live.text buttons individually midi mappable to different buttons on a controller but with the requirement that if one button is turned on, all other must be turned off. I see that there is the live.tab object that has the latter funcionality (mutually exclusive buttons) but it is not individually midi mappable so I can't use it.
Is there a way to achieve this in M4L?

spin lud's icon

In this video https://youtu.be/Qxg17eOvui8?si=Pwju_bF1ybdW_-jl&t=40 it seems it is possible to do, but unfortunately the link the to the Max patch is not working any more so I can't inspect how it has been done. Anyone has any clue?

Jan M's icon

Hello Spin Lud

In the video you reference it works because he receiving the information about the button state form the Live Api (Using the Time Signature, he wants to set with his device) - and he uses this information to set the other buttons accordingly.

This part of the patch is unfortunately hidden behind his picture speaking. *

What you have to do is turn all the other buttons off when turning one one.

Here's one way to go about it.

Max Patch
Copy patch and select New From Clipboard in Max.

There are many others, of course, but that's the principle

* Oh I miss the good old days when tutorials were written and I could pay attention to any detail I like and not only the ones the presenter wants me to see :)))))

spin lud's icon

Hi Jan,
worked perfectly thank you very much! 🍻

Jan M's icon

... just because, you wrote, you just started with Max4Live and in case you were wondering...

The three dashes in the send/receive objects are to make them unique within a M4L device. They will be substituted with a unique ID by M4L. Without them you will have cross-talk between multiple copies of your device.

Cheers!

spin lud's icon

Thanks! I figured that out 🍻

At the moment I am having problems with "deferlow" usage and console errors about Observers and changing properties on Live objects. It seems that there is inconsistency when it happens. When using my M4L device in Ableton without Max open it seems to work fine, while in editing mode with Max I got sometimes these errors in the console. Not sure if it is a my bug or not