This should answer some of your questions: 3rd-Party Developers Support & SDKs | Steinberg
It’s a numeric parameter.
But if you want a on/off switch then a boolean parameter might work better.
Try this:
defineParameter("Detune", nil, false, function()detuneChanged()end)
function detuneChanged()
if Detune then
this.parent:getZone():setParameter("Pitch.Random", 0.85)
else
this.parent:getZone():setParameter("Pitch.Random", 0)
end
end
Or if you have a program with more than one zone:
defineParameter("Detune", nil, false, function()detuneChanged()end)
function detuneChanged()
local zones = this.parent:findZones(true)
for i, zone in ipairs(zones) do
if Detune then
zone:setParameter("Pitch.Random", 0.85)
else
zone:setParameter("Pitch.Random", 0)
end
end
end