Can The Api Be Used To Create Exponential/linear Curves

Is it possible, or does one really have to actually step them out one by one?

Haven`t done this myself but I am sure exponential could be done with a for loop and something like the math.pow standard Lua function

Prints 2 to the power of (i)

for i = 1,10 do  

Ok with dblues maths help from here I had a go at this:


Gives a log curve. Change to_power_of in first line for different curves:
You need to add the curve manually or with some other code first.

local to_power_of = 20  
local input_min = 0  
local input_max = math.pow(64,to_power_of)  
local output_min = 0  
local output_max = 1  
for i = 1,64 do  
 local input = math.pow(i,to_power_of)  
 local normalised_input = (input - input_min) / (input_max - input_min)  
 local scaled_output = output_min + (normalised_input * (output_max - output_min))[1].tracks[1].automation[1]:add_point_at(i, scaled_output)  

you can also get a straight line by changing to_power_of to 1 (though not the most efficient way)

works wonderfully, and it seems that this can be directly used to write to a volume-automation. unfortunately i suppose the pattern_matrix does not give currtrak + currpatt so that one could actually make a menu_entry into the pattern matrix to make fade-ins and fade-outs for the volume automation…

Not sure myself, you`ll have to check the documentation for this.

ok, identified one problem. It’s hardwired to [1], which is whichever automation was first automated. How would one go about modifying this so that it reads selected_parameter_index? Is there a way to “match by name”?


Lane = nil
for i=1 ,[x].tracks[y].automation
If[x].tracks[y].automation[i] == Volume and[x].tracks[y].automation[i] == TrackVolPan
then Lane =[x].tracks[y].automation[i]

if Lane = nil then create new
else Lane is the automation lane you want to use.

Or do I misunderstand? Assume you’ve found Pattern and Track from Edit Position. Although there may be an easier way…

EDIT: Added DSP Name as well as others may have a parameter called Volume.