Using a Control Change Message to increment incoming Program Change Messages

This method using a Gig Script (via Window > Show Gig Script Editor) to intercept the PC messages and CC messages from your controller to manage the rackspace changes and the tracking of which bank of 16 you are on.

For this to work, give your controller an alias via GP’s Rig Manager, and then replace XTOUCH below with your alias name.

The only limitation with what I’ve done, is that you get no on-screen feedback of which bank you are on.

Var
    XTOUCH : MidiInDevice
    Bank : Integer = 0
    RacksInBank : Integer = 16
    
On ProgramChangeEvent(m : ProgramChangeMessage) from XTOUCH
    SwitchToRackspace(GetProgramChangeNumber(m) + RacksInBank * Bank, 0)    
End

On ControlChangeEvent(m : ControlChangeMessage) Matching 102 from XTOUCH
    Bank = Bank - 1
    If Bank < 0 Then Bank = 0 End
End

On ControlChangeEvent(m : ControlChangeMessage) Matching 103 from XTOUCH
    Bank = Bank + 1
End