Wholesale change automation from points to linear


(boonier) #1

So I’ve recorded some multi parameter automation for a whole track in one take, but as it defaulted to Points, I would like to change all the recorded automation to Linear. As far as I can tell, it is not possible to change this all in one go, as multiple patterns can’t be selected. I have 6 parameters and as you can probably imagine, that’s a lot of faff to change to Linear.

Is there a simple way to do this (without re-recording it), or does it need to be done with a tool?

cheers


(danoise) #2

does it need to be done with a tool?

Can be achieved with a bit of scripting.

I prepared this snippet for you, which can be run through the scripting console:

Click to view contents

– Set all envelopes in song to the specified PLAYMODE
– (applies to the selected automation parameter…)

do

–renoise.PatternTrackAutomation.PLAYMODE_POINTS
–renoise.PatternTrackAutomation.PLAYMODE_LINEAR
–renoise.PatternTrackAutomation.PLAYMODE_CUBIC
local playmode = renoise.PatternTrackAutomation.PLAYMODE_LINEAR
local rns = renoise.song()
local prm = rns.selected_automation_parameter
if not prm then
print(“No parameter selected”)
return
end

local trk_idx = rns.selected_track_index
for seq_idx,patt_idx in ipairs(rns.sequencer.pattern_sequence) do
local patt = rns.patterns[patt_idx]
local ptrk = patt:track(trk_idx)
local pauto = ptrk:find_automation(prm)
if pauto then
pauto.playmode = playmode
end
end
end

It’s simple enough:

1.Enable scripting tools

  1. Open the terminal (Tools > Scripting Terminal & Editor)

  2. Create a new document (File > New)

  3. Paste the code above

  4. Click “Execute”


(boonier) #3

Ah nice, thanks for this.

I suspected a bit of scripting would put this right, especially after I was perusing the api docs last night. I keep meaning to make a tool, so perhaps this looks like a nice candidate :slight_smile:

cheers