Switch isn't switching

You’re right.

It’s probably because the Vintage Compressor attackmode (Punch) parameter is integer with values 1 and 2 while the switch expects values 0 and 1. The weird thing is it that clicking on the macro page switch does change the value of the parameter but you can’t tell what’s the state of the parameter.

You could work around this by creating a simple UI script that would work like interface between the switch and the parameter.

defineParameter("PunchValue", nil, 1,1,2,1, function() punchValueChange() end)
defineParameter("PunchSwitch", nil, 0,0,1,1, function() punchSwitchChange() end)

function punchValueChange()
  PunchSwitch = PunchValue - 1
end

function punchSwitchChange()
  PunchValue = PunchSwitch + 1
end

Connect the attackmode parameter of the compressor to “PunchValue” and the switch to “PunchSwitch”.