Hi all,
I’m currently migrating from Fractal to Gig Performer, and one feature I really missed was auto-engage wah.
So I built a simple GPScript solution:
-
Wah engages instantly when you move the pedal from heel
-
When you return to heel (~95–100%), it waits a bit (~750 ms)
-
Then it auto-bypasses
-
If you move the pedal again before the delay, it stays active
Feels very natural and avoids accidental cut-offs.
No extra footswitch needed — just expression pedal + script.
Var
WAH_POS : Widget
WAH_BYPASS : Widget
wahIsOn : Boolean = false
heelStartMs : Double = -1.0
lastPos : Double = 1.0
heelThreshold : Double = 0.95
disengageDelay : Double = 600.0
Initialization
SetTimersRunning(true)
lastPos = GetWidgetValue(WAH_POS)
// Si está fuera del heel, encendido
If lastPos < heelThreshold Then
wahIsOn = true
SetWidgetValue(WAH_BYPASS, 1.0)
Else
wahIsOn = false
SetWidgetValue(WAH_BYPASS, 0.0)
End
End
On WidgetValueChanged(newValue : Double) from WAH_POS
lastPos = newValue
// Sales del heel -> activar inmediatamente
If newValue < heelThreshold Then
heelStartMs = -1.0
If not wahIsOn Then
wahIsOn = true
SetWidgetValue(WAH_BYPASS, 1.0)
End
Else
// Entraste en heel -> empezar conteo
If heelStartMs < 0.0 Then
heelStartMs = TimeSinceStartup()
End
End
End
On TimerTick(milliseconds : Double)
If wahIsOn Then
// Si sigue en heel el tiempo suficiente -> bypass
If lastPos >= heelThreshold Then
If heelStartMs >= 0.0 Then
If (milliseconds - heelStartMs) >= disengageDelay Then
wahIsOn = false
SetWidgetValue(WAH_BYPASS, 0.0)
heelStartMs = -1.0
End
End
Else
heelStartMs = -1.0
End
End
End
• WAH_POS → widget que recibe el pedal de expresión
• WAH_BYPASS → widget/button mapeado al bypass del wah