Setting ALL breakpoints at clip start/end through scripting?

Discuss music production with Ableton Live.
Post Reply
TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Setting ALL breakpoints at clip start/end through scripting?

Post by TomViolenz » Sun Nov 10, 2013 10:26 am

Hey guys,
I came across this very interesting article on the nature of scripting: http://arstechnica.com/information-tech ... utomation/
(Very much worth a read!)

It made me aware of the fact that I possibly missed a whole layer to Live up to this point: its scripting functionality.
As far as I recall the openness of Live to scripting is one of its strong points listed by experts. This brought me to thinking about a problem I have with the way Live records (or doesn't!) automation into clips (Session or Arrangement) and how this problem could possibly be remedied through scripting.

Here a short recap of my very simple problem:
I want Live to record the state of every automatable parameter into the clip (Session and Arrangement) by setting a break point at the beginning and another one at the end.
This way I can play around with my instruments and totally change the sound they produce after I already recorded something and it will still sound the same when I play that recorded clip again. (Now only automation gets recorded for parameters that I actively automate)

Live does not have that functionality and it might be a long time, if ever, before it gets added.

I can of course do it manually and go into the automation envelope section in the clip and set the break points for all parameters one by one myself, but that is VERY tedious.
But if I understand scripting correctly it shouldn't be too hard to automate that procedure.
The script would basically involve: read all parameter states on record start and set breakpoint to the current value; read all parameter states on record end and set break point at current value.
It would be best if this script could be set up so it does this every time I hit record, without me having to trigger it.

Would this be doable?
What method would be best/easiest to use? (M4L, clyphx, Apple script (or its Windows equivalent), User remote scripts)
If someone has his "scripting in Live" chopps down and could hack this up in minutes, would you be willing to share that script/knowledge?

I was also thinking that, if I'm indead right, and this can be achieved through scripting easily, then we should possibly make a thread where we collect and share all the useful little scripts that one might have created for use in Live. It could become a powerful resource!

Thanks for your input guys! :)

oddstep
Posts: 1732
Joined: Tue Feb 12, 2008 9:47 pm
Location: Plymouth the great

Re: Setting ALL breakpoints at clip start/end through scripting?

Post by oddstep » Sun Nov 10, 2013 2:46 pm

I could imagine doing it in max for live. It would be a substantial task though, as I would have to learn a lot about the api and iterative looping through parameter sets.
It would be possible in a user remote script - but you'd need to get your head around python as well as the api. the max for live device kapture does something similar... gets a snapshot of live settings and save them for recall later. i would start by dismantling that.

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: Setting ALL breakpoints at clip start/end through scripting?

Post by TomViolenz » Sun Nov 10, 2013 2:59 pm

oddstep wrote:I could imagine doing it in max for live. It would be a substantial task though, as I would have to learn a lot about the api and iterative looping through parameter sets.
It would be possible in a user remote script - but you'd need to get your head around python as well as the api. the max for live device kapture does something similar... gets a snapshot of live settings and save them for recall later. i would start by dismantling that.
Hm, so it's not easy? How about clyphx? The snap device does already record all the values at the time you snap.
If that could be automated to do once at start and once at end, one would only have to find out how to print the values back into the clip. (It would probably work the same in M4L but for clyphx you dont have to learn Python)

Does clyphx have that capability?
Also what about Apple Script, does it not have access to those functions in Live?

oddstep
Posts: 1732
Joined: Tue Feb 12, 2008 9:47 pm
Location: Plymouth the great

Re: Setting ALL breakpoints at clip start/end through scripting?

Post by oddstep » Sun Nov 10, 2013 4:15 pm

You don't need python to use max. If you've got clpyhx you should definitely try to use that. Maybe with iac routing of midi to trigger clips. Maybe.

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: Setting ALL breakpoints at clip start/end through scripting?

Post by TomViolenz » Mon Nov 11, 2013 9:37 am

oddstep wrote:You don't need python to use max. If you've got clpyhx you should definitely try to use that. Maybe with iac routing of midi to trigger clips. Maybe.
You mean triggering clips in order for the values to be recorded into the clips? But this triggering would then take over the function of the normal recording (so it could be written into the clip while recording) right? Or do you mean as a second round of recording after the initial one (not the prefered solution)
And yeah, I misunderstood you, I thought one needs Python for M4L, I never looked into M4L beyond using a few devices. I wonder though, is this really something that all the M4L tinkerers never thought of? There should already be something close, if it is possible at all, no?!

yur2die4
Posts: 7154
Joined: Sat Oct 03, 2009 3:02 am
Location: Menasha, Wisconsin
Contact:

Re: Setting ALL breakpoints at clip start/end through scripting?

Post by yur2die4 » Mon Nov 11, 2013 3:06 pm

One thing that may be close which I've seen in a few different places is the ability to 'capture' the current settings of all devices in a channel or set.

If you can associate that with a clip automatically??? That might get you what you need. But it could also be very messy.

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: Setting ALL breakpoints at clip start/end through scripting?

Post by TomViolenz » Mon Nov 11, 2013 8:31 pm

yur2die4 wrote:One thing that may be close which I've seen in a few different places is the ability to 'capture' the current settings of all devices in a channel or set.

If you can associate that with a clip automatically??? That might get you what you need. But it could also be very messy.
Are there functions in M4L that can print to the clip envelopes?

yur2die4
Posts: 7154
Joined: Sat Oct 03, 2009 3:02 am
Location: Menasha, Wisconsin
Contact:

Re: Setting ALL breakpoints at clip start/end through scripting?

Post by yur2die4 » Mon Nov 11, 2013 8:43 pm

I'm not sure. But I imagine the closest thing to realizing this would perhaps first be looking at the various capturing implementation and then instead of a triggered clip launching a ton of automation nodes, it'd launch the associated capture data for its particular channel.

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: Setting ALL breakpoints at clip start/end through scripting?

Post by TomViolenz » Mon Nov 11, 2013 9:26 pm

yur2die4 wrote:I'm not sure. But I imagine the closest thing to realizing this would perhaps first be looking at the various capturing implementation and then instead of a triggered clip launching a ton of automation nodes, it'd launch the associated capture data for its particular channel.
I see, off to looking into learning M4L I guess...

I'm actually surprised it's not more straight forward. I thought that would be the definition of scripting, making highly repetitive tasks automatable.

dr.mysterium
Posts: 88
Joined: Sat Jul 14, 2012 6:15 pm

Re: Setting ALL breakpoints at clip start/end through scripting?

Post by dr.mysterium » Tue Nov 12, 2013 3:38 pm

Snap function in ClyphX does this exactly.
Snap tracks, devices, groups, mixer settings, or everything, etc.
ClyphX solves most problems.

Snap device settings to clip, record automation of changes to clip with session record.
Repeat.
Also, if you merge all your midi remote control data into one stream on one midi channel,
You can record ALL CONTROL MOVEMENTS into ONE CLIP.
Merge midi control into one midi port using CopperLan, let's choose VMIDI 1.
in Ableton preferences set VMIDI 1 as REMOTE.
Now Duplicate this data Stream into VMIDI 2.
Enable VMIDI 2 as TRACK INPUT under Midi prefs in Ableton.
Create a track, select VMIDI 2 as input. Start recording clips of control movements.
Download LoopMIDI. Install and set as REMOTE IN under midi prefs in ableton.
Set output of VMIDI 2 track as LOOP MIDI, now your routing the recorded midi control signal
Back to a MIDI REMOTE INPUT allowing this clip automation to control Ableton.
I am Dr. M. Solo artist, member of 86BiTz, host of the Perfect Glitch Show, & the Live Jam Video Stream. Music on Soundcloud and BandCamp. Jam Archive on Patreon•••• I master audio & produce video of all of the above as Tremendm Labs on YouTube.

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: Setting ALL breakpoints at clip start/end through scripting?

Post by TomViolenz » Tue Nov 12, 2013 4:10 pm

Snap device settings to clip, record automation of changes to clip with session record.
Could you eleborate on that process?! I'm familiar with the snap function, but this only stores that data in the name of another clip (not the one where I like the data to be in). Could you explain the step where I print the snap values to the Midi clip I'm working on (the envelope section, not its name)

dr.mysterium
Posts: 88
Joined: Sat Jul 14, 2012 6:15 pm

Re: Setting ALL breakpoints at clip start/end through scripting?

Post by dr.mysterium » Tue Nov 12, 2013 7:50 pm

Create a SNAP, enable automation recording, arm the track, trigger this SNAP clip to start the recording. You have now set the begining breakpoint 'envelopes' based on your snap. You've basically recorded the automation of the snap 'snapping'. Leave the recording running, tweak knobs till the end. Remove snap from the name of the clip, because you have recorded the automation of the 'snap' into the envelopes of the clip.
I am Dr. M. Solo artist, member of 86BiTz, host of the Perfect Glitch Show, & the Live Jam Video Stream. Music on Soundcloud and BandCamp. Jam Archive on Patreon•••• I master audio & produce video of all of the above as Tremendm Labs on YouTube.

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: Setting ALL breakpoints at clip start/end through scripting?

Post by TomViolenz » Tue Nov 12, 2013 8:03 pm

dr.mysterium wrote:Create a SNAP, enable automation recording, arm the track, trigger this SNAP clip to start the recording. You have now set the begining breakpoint 'envelopes' based on your snap. You've basically recorded the automation of the snap 'snapping'. Leave the recording running, tweak knobs till the end. Remove snap from the name of the clip, because you have recorded the automation of the 'snap' into the envelopes of the clip.
It's not quite as in the background as I wanted, but I like it.
Would this also work in Arrangement?
Also: what to do about the end break points? If I change something after I recorded it and it is not "tethered" to the end of the clip, it will also change the value in the clip... (only important in Arrangement)

interceptor
Posts: 435
Joined: Mon Jun 27, 2005 9:26 pm
Location: Norway

Re: Setting ALL breakpoints at clip start/end through scripting?

Post by interceptor » Fri Dec 08, 2017 3:09 pm

Any solutions to this topic?

Would be a very powerful thing if we could write all current track parameters as clip automation.

Im aware of pplabs trackpresets, but i dont know if that would be as seamless as just having all the automation in the clip itself.

Post Reply