"Fade Out and jump to next action"-Button

Hey all,

regarding the “fade to” or “fade out” function: I am sure that this is possible, however I struggle to find out myself how to do this:

I would like to implement a canvas button that fades out tracks at the end of a song, and then kind of jumps to the next section/song. If I understand the “fade” command correctly, it just decreases the volume, but ableton keeps playing.

However, I sometimes end a song in a “loop” section (= e.g. 4 bars keep playing for an outro solo, e.g. with a percussion loop playing), and want to end the song by fading out click- and stem-tracks, so the band stops “freely”, and the ableton automatically stops playing after fade out and jumps to the beginning of the next song (or the respective behaviour that is programmed in the ableset setlist).

Hope that this is understandable :wink:

Best,

Sebastian

Hey @Sebastian,

You can do this by using the following script:

sendOsc("/mixer/click/fadeTo", 0);
await sleep(200);
await waitForOscChange("/mixer/click/isFading");
sendOsc("/loop/escape");

In my case, I’m just fading out the “Click” group, but you can assign an arbitrary group to both your click and stems so they fade out together.

The script starts the fade, then waits for 200ms to ensure the isFading property has been updated to true, and then waits for it to update again, which would mean that the fade has completed. It then sends the OSC command to escape the loop.

You could also send /global/stop to stop playback instead, if you prefer.

Would that work for you? :slight_smile:

I think I understand the principle - will try that out. Does the Volume automatically jumps back to “normal” after moving to the next section?

Hi Sebastian,

Yes, after fading out, the next song’s volume will be back at normal level.
Each fade only affects the current song’s targeted groups.

Let us know how it goes!

trying to get this to work, i am attempting to use this as a custom OSC command. I’ve also tried as a “press” command in canva. Neither is working. Not sure if i am missing a simple step. Thank you for your help

Hey Nick!

That’s likely because this needs to be added as a script instead of a Custom OSC command.

Try running it as a script and tell me how it goes.
I’m looking forward to your reply!

Hi! Brief question - I got the fade out working, however I want the following to happen after fade out: stop playback, and then jump to next song (with Volumes back to normal 0dB). Any tipps for that?

Hey @Sebastian,

This should work for your use case:

sendOsc("/mixer/click/fadeTo", 0);
await sleep(200);
await waitForOscChange("/mixer/click/isFading");
sendOsc("/global/stop"); // stops playback
await waitForOscChange("/global/isPlaying"); // waits for playback to stop
sendOsc("/setlist/jumpBySongs", 1); // jumps to next song
sendOsc("/mixer/click/volume", 0.85); // resets volume to 0dB

Let me know if this works for you :slight_smile: