Making Live.button behave as momentary

Dec 19, 2009 at 8:51am

Making Live.button behave as momentary


I’d like to use a midi note or cc to press a Live.button. Currently it takes one press to turn it on and one to turn it off. Is there a way to have it listen to on/off commands and behave like a mouse click does?


Dec 19, 2009 at 11:40am

To clarify, I have created the Live.button and am using the MIDI learn function in Ableton to map to my controller. The controller is sending this data:

04:37:14.996 From Plug 1 Note On 5 22 100 < -- button lights up
04:37:15.689 From Plug 1 Note Off 5 22 0
04:37:16.915 From Plug 1 Note On 5 22 100 < -- button turns off
04:37:17.576 From Plug 1 Note Off 5 22 0

Dec 19, 2009 at 9:37pm

This is really driving me insane and could ruin my weekend ;) Anyone?

From the documentation, it seems that the button should never stay on – it should just flash for the specified ms time.

Dec 20, 2009 at 2:13am

At this time there’s no way of doing that with MIDI/key assignment, because we don’t have a trigger mode. We already have this in our feature request list.

Dec 20, 2009 at 2:47am

Thanks for your reply.
So how does the button work properly with mapping? Am I missing something?
Should I be using another object?

Dec 30, 2009 at 9:25pm

I’m sorry, but I’m still wondering about this – is there no way to map a ‘button-like’ control through the ableton UI? Otherwise I have to hard code all my mappings.

Dec 30, 2009 at 11:56pm

Trigger mode is not supported at this time. This is on our list of things that we want to support, but I can’t tell you when or if it’s going to be available. In the meantime, you can still fake it using a pattr object (if you want to automatize it) and some select object.

Dec 31, 2009 at 5:41am

Thanks very much – I’ll look forward to that!

Jan 1, 2010 at 1:41pm

I hope I understand correctly

I think you can do this with a Max messagebox containing “bang” cross wired back to the input of the Live buttton. It doesn’t go into an on/off loop, it just fires the once and re-sets the button back to off. It’s quite cool. I have this working in a patch for re-setting track sends that I’ll be posting up on soon.



Jan 7, 2010 at 2:14pm

I’d like to see that, i’ve never used a pattr before and the APC40 has it claims momentary buttons for stop clips but when you map them they become toggles which i can’t seem to change with M4L….. Help anyone?


Jan 7, 2010 at 9:34pm

All I have been able to get is more of a one shot button, not really momentary. I am still on the hunt for a solution to this one.

I dont quite grasp how to make pattr object “fake it”

Jan 8, 2010 at 11:22am

I’ve got it working with the APC as if you observe what state a button is in it will tell you with a 1 when it’s pressed down and 0 when you release it….

Can’t do it with midi mapping though only through the control_surface live path….


Jan 8, 2010 at 3:19pm

I saw someones patch on the Ableton forums that is using this method to make the Solo’s momentary, is that a correct comparison to what you are talking about?

Jan 8, 2010 at 8:43pm

No in that version he’s calling a set call to the live api, the buttons on the apc when in ableton mode 1 are momentary so you just need to observe there state, this can then be tapped to give you momentary control….

Have a look at Mike Chenetz’s launchpad tutorial patches and you’ll see how to observe them, then you simply connect the output to a live.text button and then to a toggle….


Sep 29, 2010 at 2:00am

So I’ve been having a problem where if I press a live.button too many times, too quickly it starts acting like a toggle instead of a momentary. I’ve been substituting live.button for live.numbox. When you map it, it acts the same as live.button no matter how fast you press it.

It looks stupid, but im only making utility type things for myself, so it doesn’t bother me too much. I know I could always hardwire it, but… meh.. Lookin forward to that being fixed though.

Dec 29, 2013 at 3:53am

I was looking for a similar solution, and I have found a fantastic one.
I can now assign a button to a shift function in Ableton (without MIDI Learn), which sets all incoming button messages from my controller to momentary as long as the shift button is active.

M4L cannot access external MIDI ports by default, there is however a way to set up a patch that hijacks incoming MIDI messages from any port before they reach Ableton Live (and the custom MIDI assignments within it!!) — the patch and further file installation instructions are to be found here:
This basically allows for reshaping incoming MIDI messages before they actually reach Ableton and transform them before they go back to the controller in use. Bombastic.

in order to set any button’s messages to momentary alignment, one has to merely unpack the incoming MIDI message and pack it again after setting the incoming velocity to 64, this way a toggle function of a Live button will get a switch message again when the button is released (its 0 message is turned to a 64 message).
The incorporation of a shift button additionally allows gated routing and choice between momentary function and the usual toggle mode. Hijacking the outgoing MIDI message from Ableton then again enables individual LED feedback, i.e. blinking red when pressed etc.

very revealing and utterly practical. Best of luck!


You must be logged in to reply to this topic.