How to Stop live.path from Auto-Banging on Device Load?
Hi everyone,
I created a m4l device with the sole purpose of expanding the currently selected track in Ableton Live when I press a keyboard shortcut. The device works perfectly when I press the button (mapped to the keyboard shortcut). However, there’s a problem:
When I load the device (e.g., it’s in my default Ableton template), the expansion is automatically triggered on session load. After debugging, I’ve found the issue:
The problem comes from this specific block:
live.path live_set view selected_track view
This object sends a bang immediately when the device is loaded, which causes my "Expand View" logic to trigger. I still need this path to function normally (when the button is pressed) while preventing it from auto-banging on device load.
Does anyone know how to stop live.path
from sending a bang on initialization while keeping the functionality intact? How can i solve this issue ?
Here’s my device patch for reference:
and here is the image for the device

Would a load bang into a gate help? I’ve done that with live.thisdevice into a trigger with 1 b 0. Closes the gate, loadbangs what you need to, opens the gate for later use. I think I had to delay the 1 a bit in a few cases.
Thanks, Greg, for your suggestion, it got me thinking. I ended up finding a simpler and more elegant solution using a message object. Here’s what I did:
I routed the output of live.path live_set view selected_track view into the right inlet of a message object which stores the data from live.path when the device loads but doesn’t trigger anything (which was the problem I needed to fix).
I connected the left inlet of the message object to my button.
The result I got is this:
On device load, the live.path data is stored in the message object without affecting live.object or triggering any output.
When I press the button, it triggers the message object to send the stored data forward to live.object.
It’s clean and works perfectly.. btw thanks again for pointing me in the right direction..

Hey Source, thanks ... After testing your method, I have to say it’s the most elegant and straightforward solution i found for this issue.
The trick was to split the block live.path live_set view selected_track view
into a message
object that feeds into a separate live.path
object .