pm’d, but for the curious…
when the encoders are used to control _delta and _duration in the original script, they perform two actions:
function enc(n,d)
...
elseif page == 1 then
if n == 2 then
_delta = sc.clip(d*0.01 + _delta, 0.01,1) --first thing
metro_send.time = _delta --second thing
end
if n == 3 then
_duration = sc.clip(d*0.01 + _duration, 0,1) --first thing
engine.pong(sc.linexp(_duration, 0,1, 0.2,23)) --second thing
end
end
end
if we want to create another controller option for those two variables, we just need to ensure that we’re performing the necessary second action as well 
so instead of:
params:set_action("_duration", function(x)
_duration = x --just the first thing
end)
we’ll need:
params:set_action("_duration", function(x)
_duration = x --first thing
engine.pong(sc.linexp(_duration, 0,1, 0.2,23)) --second thing
end)