Is it possible to kill more than one timer with a single action?

I have 24 tracks in Ableton Live. Launching a clip in one of the tracks not only starts the clip playing, but also displays the clips waveform at the bottom of the Live window.

I use MT to add another feature to my Live Set. Normally, moving the Volume fader for any track will just adjust the track's volume. I added a translator in MT that sends a message to Live forcing the clip for that track to be displayed.

This works nicely until I move several Volume faders at a time. When I do that, the graphic display for Live freezes. All VU meters freeze and the display of fader positions does too. I believe that's because Live is getting constant messages to display first one clip waveform and then the next etc etc... for all faders being moved... and this causes a real burst of conflicting messages, which Live sorts through - freezing the screen, and eventually resolving the "crisis" and resuming graphic display to normal.

I've tried using a timer to delay the messages to Live which a fader is moved. That just delays the freezing - which then happens once the timer elapses.

But I now have a new scheme:

  • Each vol fader movement starts a timer (as before). The initial delay is set to 150ms.
  • When the timer elapses it sends a message to force clip waveform display for that track (as before)
  • But, I've added translators to the preset for these actions, These translators precede the translator that sends the message to display the clip waveform.
  • These added translators that kill all the timers for waveform display (24 of them).
  • This kill action happens with no delay, so that all timers are killed immediately and then when all fader movement has stopped, the last fader to have been moved will start its display timer, causing it's clip waveform to be displayed after 150 ms.

All well and good, except it's clunky, and requires me to add 24 kill timer translators for each of 24 tracks. This seems stupid. Since I don't have enough global variables to enable me to set a flag for each fader which has been moved, I can't pare down the number of messages that are sent. Anyway, I'd still need to have 24 translators for each. The only advantage would be that I wouldn't actually have to send a kill timer, depending on whether or not a particular fader has been moved. I suppose I could pack all these flags into a single word, but that's a lot of programming I'd have to do for not a lot of gain.

Is there a way to jump to a preset that is called each time I want to kill all timers? Or maybe a way to kill more than one timer with a single translator?

Thanks,

Gabriel

Hi Gabriel,

Unfortunately if you want to kill 24 timers, you will need a translator for each timer you want to kill. Of course the incoming action for these 24 timers could itself be a timer “Kill all 24”. You would need a translator for an outgoing action of timer “Kill All 24” to drive the 24 timer killing translators.

Or you could set up a preset when enabled “upon preset enabled” have translators that kill each of them for you and then when you are done, just disable the preset in your last translator of the new preset”.

Sometimes you can use presets to avoid the use of more global variables, just enabling and disabling the preset instead of changing the value of a global variable.

 

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

 

Thanks Steve,

This gives me something to chew on. One of these approaches may be better than what I’m doing now.

Gabriel