I have a boss fc50 foot controller. It has 5 switches for pc messages (1-5) and an a/b footswitch to select pc 6 to 10
The issue is i would like to select the a/b switch to access pc 6-10 HOWEVER I don’t want the pc selection to be changed immediately. I would like to select the a/b bank button and for no pc change to be made in the 6-10 bank until i select 6-10 buttons.
To clear up my point with an example... say i am on pc2 and i would like to get to pc9. To do this with the current configuration of the pedal i would need to hit the a/b pedal which would automatically select pc7 then i would need to hit the pc9 button on that bank. So i don’t want pc7 to be selected when i hit the a/b button.
You've essentially defined the algorithm for this. If we call PCs 1..5 and 6..10 as "banks", you want to block (ignore) the first PC on a new bank. The following should do it. I used aliases to make the code more readable. You can use any variables you're not already using, if you combine this in a larger script..
If load Alias I0 newMode Alias J0 oldMode Ass oldMode = 0 End
# process Program Change messages If MT == C0 # mode value is 0 for first 5 PCs, 1 for the rest Ass newMode = 0 If M1 > 5 Ass newMode = 1 End # block first PC in new bank, caused by a/b switch If newMode != oldMode Block End # remember current mode Ass oldMode = newMode End