Hy there,
I’ve tried to create my first own Script and after a lot of searching, combining and testing the first Part is working.
I’ve defined different FX Parameter on different Busses and now I can connect them to a Knob or Slider. The only thing that will not work ist to define the Filter Cutoff and the Resonance. I think that this should be quite simple but maybe not for me.
The idea for the second Part is to put the defined Parameter into two Menues. Each is connectet to a Knob or Slider, so I can choose which Parameter will be Controlled, like a little Mod Matrix.
But what is the best way to do it?
The Script at the Moment (later I will add more Parameters but for the moment it is enough) is as followed:
--Define FX Parameters
effects = this.program:findEffects(true)
--REVerence Mix
function onBoostChange()
local revmixEffect = this.parent:getBus("FX1"):getEffect("REVerence")
if revmixEffect then
revmixEffect:setParameter("mix", Reverbmix)
end
end
defineParameter("Reverbmix","Reverb Mix",50,0,100,1,onBoostChange)
--REVerence Time
function onBoostChange()
local revtimeEffect = this.parent:getBus("FX1"):getEffect("REVerence")
if revtimeEffect then
revtimeEffect:setParameter("time", Reverbtime)
end
end
defineParameter("Reverbtime","Reverb Time",100,10,150,1,onBoostChange)
--REVerence Size
function onBoostChange()
local revsizeEffect = this.parent:getBus("FX1"):getEffect("REVerence")
if revsizeEffect then
revsizeEffect:setParameter("size", Reverbsize)
end
end
defineParameter("Reverbsize","Reverb Size",100,10,150,1,onBoostChange)
--Delay Mix
function onBoostChange()
local delaymixEffect = this.parent:getBus("FX1"):getEffect("Multi Delay")
if delaymixEffect then
delaymixEffect:setParameter("Mix", Delaymix)
end
end
defineParameter("Delaymix","Delay Mix",0,0,100,1,onBoostChange)
--Delay Time
function onBoostChange()
local delaytimeoverEffect = this.parent:getBus("FX1"):getEffect("Multi Delay")
if delaytimeoverEffect then
delaytimeoverEffect:setParameter("delaytimeoverall", Freetime)
end
end
defineParameter("Freetime","Free Time",500,0.1,5000,0.1,onBoostChange)
--Chorus Mix
function onBoostChange()
local chorusmixEffect = this.parent:getBus("FX2"):getEffect("Chorus")
if chorusmixEffect then
chorusmixEffect:setParameter("Mix", Chorusmix)
end
end
defineParameter("Chorusmix","Chorus Mix",50,0,100,1,onBoostChange)
--Chorus Rate
function onBoostChange()
local chorusrateEffect = this.parent:getBus("FX2"):getEffect("Chorus")
if chorusrateEffect then
chorusrateEffect:setParameter("Rate", Chorusrate)
end
end
defineParameter("Chorusrate","Chorus Rate",1.00,0.01,10.00,0.01,onBoostChange)
--Distortion Hardclip
function onBoostChange()
local disthcEffect = this.parent:getBus("FX3"):getEffect("Distortion")
if disthcEffect then
disthcEffect:setParameter("hardclip", Hardclip)
end
end
defineParameter("Hardclip","Hard Clip",0,0,100,1,onBoostChange)
--Distortion Softclip
function onBoostChange()
local distscEffect = this.parent:getBus("FX3"):getEffect("Distortion")
if distscEffect then
distscEffect:setParameter("softclip", Softclip)
end
end
defineParameter("Softclip","Soft Clip",0,0,100,1,onBoostChange)
--Filter not working because I don't know
--I think there ist the Layer and Zone missing
defineParameter { name = "Cutoff", default = 20000, min = 20, max = 20000, increment = 1 }
What is needed? I get lost in all of the “find”, “get”, “search”, “function” etc options.
And it is possible to reverse the Values so that the start is maybe at 100 and the end at 0? I’ve tried to do it with the definition but there is an error that says “max must be greater than min”.
Thanks for some input!