This thread will focus on the FCB1010, but the tips should be transferable to many devices. There is a great thread here with some sample sysex downloads here, but I wanted to take a little time and speak of the programming philosophy when using a MIDI controller with the KPA.
PC vs CC
The most basic understanding of MIDI control of multi-fx units is the concept of Program Change (PC) and Control Change (CC) messages. A PC message is used to switch between patches/presets (called rigs in the KPA) while a CC message is used to modify some parameters within a patch/preset (ex toggle effect on off, control volume, etc). A PC message primarily consists of one value, the program number. A CC message primarily consists of two values, the CC number you want to control and a corresponding value. The MIDI spec is all based around a 128 step system which can be interpreted as 0-127 or 1-128 depending on the controller you have. What does this mean? In terms of PC changes, you can only send commands to toggle between 128 programs (or in some cases 128 banks of 128 programs, though your MFX must be designed with this in mind). In terms of CC messages, it means you can control a max of 128 parameters within a patch each of which with a 128 step resolution from 0 to 100% (or whatever min/max scale the parameter offers).
KPA PC Mapping
At a bare minimum, you will have to assign PC numbers to any rig which you want to control with a footswitch. Within a rig, press the system menu and find the page with the option to set the Program # Assign. The KPA allows assignment of 128 rigs.
KPA CC Mapping
As of this writing, the KPA offers the following CC hard coded mapping which is available in the KPA reference manual on pages 58 and 59. In the case of toggleing on/off effects, the min CC value represents the bypassed state and anything else represents the engaged state. The KPA also offers some more advanced mapping using NRPN, but I won't be getting into that. The info is available beginning on page 67 of the reference manual. Its important to note hear that the KPA does not offer two-way MIDI communication at this time. In other words, you can only send MIDI commands to the KPA, the KPA will not send information back to your foot controller.
#1 Wah Pedal
#7 Volume Pedal
#16 All Stomps Invert
#17 Stomp A on/off
#18 Stomp B on/off
#19 Stomp C on/off
#20 Stomp D on/off
#22 Stomp X on/off*
#24 Stomp MOD on/off
#26 Delay on/off (cuts tail)
#27 Delay on/off (keeps tail)
#28 Reverb on/off (cuts tail)
#29 Reverb on/off (keeps tail)
#30 Tap
#31 Tuner Select
#33 Rotary Speaker (slow/fast)
#68 Delay Mix
#69 Delay Feedback
#70 Reverb Mix
#71 Reverb Time
#72 Gain
Basic Control Philosophy
Now the fun part. As mentioned in the last section, there is no two-way communication between a foot controller and the KPA. What this essentially means is not only must you program your rigs in the KPA to get the sounds you want, but also program presets within your footcontroller to switch and potentially synch with your KPA rigs. The most basic of MIDI foot controllers only offer program up/down movement. If you go this route, you must take into consideration PC mapping within the KPA and assign PC numbers to the patches you need to access to in succession (example clean rig PC 1, dirty rig PC 2, lead rig PC 3). With the FCB1010 and more advanced MIDI controllers, you can assign any MIDI PC number to any footswitch including the same PC to multiple footswitches if so desired. Why would you want to assign the same PC to multiple footswitches? You might have a favorite clean tone which you want to assign to multiple banks or, more importantly, remember that you can also send CC messages with PC messages to toggle an effect on/off (ex footswitch 1 sends PC 1, footswitch 2 sends PC 1 and CC 17 value 127 to engage effect slot A). So a basic assignment would look like this: PC 1 ExpressionA CC1 0-127 ExpressionB CC7 0-127. This loads what ever rig is assign PC 1 and assigns the expression pedals to wah and volume. In this example, you must have wah assigned to the rig and I'd also suggest the mode which bypasses@stop which allows it to auto engage whenever the expression pedal starts to move. You can apply this same model to multiple PC numbers and have something like the FCB1010 programmed in a matter of minutes.
Advanced Control Philosophy
If you have an FCB1010 with the UNO chip installed or another more advanced controller, you have the option for a much finer level of control of the KPA. the biggest advantage is "stompbox" or "IA" control over the unit. In the case of the FCB1010, this allow you to split the floorboard into 2 rows, one which sends PC messages, and a second which sends global CC messages allowing the LEDs to all reflect their last state. For example, with the stock FCB1010 if footswitch 1 is selceted and you step on footswitch 6, their leds are mutually exclusive. With the UNO in stomp mode, when you step on 6 the leds for both footswitch 1 and 6 are illuminated. Based on the way you perform, there are some considerations for how to use stomp switches. As mentioned with the FCB, the stomps are global in nature (though you can set the initial state on a preset by preset basis). If you desire the ability to send a PC message, then engage an effect via CC message, and then send a new PC message and have the effect you tunred ion persist across rigs then you must lock that effect. Locking an effect makes that effect global matching the FCB's operation. I personally use a mix of locked and unlocked effects. Also worth noting is the stomp switches in UNO stomp mode have their own expression pedal assignments. If you don't want any change in expression pedal operation when you enagage a stomp, you need to program the expression pedals to mirror your other expression assignments. Now, those who really understand the FCB and MIDI might at this point be thinking there's no difference in the FCB stock and UNO operation other than the LED state. However, along with the LED state you also have the ability to set up CC's to send alternating messages (which is something I could not get to work correctly with the stock firmware) and you have the ability to load sysex files without putting the FCB into global config mode (kinda a pain). To give you an idea of what is possible with the UNO equiped FCB1010, here's an explanation of my performance layout. FS refers to FCB1010 footswitch.
FS1 - PC1 ExpressionA CC1 0-127 ExpressionB CC7 0-127: Morgan AC20 Clean
FS2 - PC2 ExpressionA CC1 0-127 ExpressionB CC7 0-127: Morgan AC20 Gritty (this rig is a copy of the clean rig with a bit more gain)
FS3 - PC3 ExpressionA CC33 0-127 ExpressionB CC7 0-127: Morgan AC20 Rotary (this rig is a copy of the clean rig with rotary engaged and Expression A toggles between slow and fast)
FS4 - PC4 ExpressionA CC1 0-127 ExpressionB CC7 0-127: Morgan AC20 Dirty (this rig is a copy of the clean rig with more gain)
FS5 - PC5 ExpressionA CC1 0-127 ExpressionB CC7 0-127: German Fuzzy (variation on Bill Ruppert's German Fuzz rig with the Morgan AC20 cab)
A word on the rigs. All the Morgan rigs are set up identically from an effects stand point as follows (in order of effects slot): wah, EQ (always on), empty, Flange, Trem, Rotary. As you can see, wah is auto engaged by ExpressionA and the EQ is always on so I don't need to assign a FS to slot a or b.
FS6 - CC19 ExpressionA CC1 0-127 ExpressionB CC7 0-127 (reserved for future use)
FS7 - CC20 ExpressionA CC1 0-127 ExpressionB CC7 0-127 (Flange, this is unlocked as I only use it in spots and don't need the effect state to cross rigs)
FS6 - CC22 ExpressionA CC1 0-127 ExpressionB CC7 0-127 (Trem, this is locked as I need the effect state to cross rigs)
FS6 - CC27 ExpressionA CC69 ?-94 ExpressionB CC7 0-127 (Delay, this is not locked as I have some different settings I use across patches, I also assign Expression A to up the delay feedback to 100% allowing it to self oscilate)
FS6 - CC70 ExpressionA CC1 0-127 ExpressionB CC7 0-127 (Reverb, rather than using this to toggle on/of reverb, I sent alternating CC values of 10 and 94 for a more subtle reverb setting and a huge wet setting for some more spacey stuff I do)
As you can see, I didn't assign a CC to control my Rotary effect and that's because I need to do a quick switch in the song I use it in and don't want to have to hit more than one switch at a time (dirty to clean and engage rotary vs dirty to clean with rotary). Clearly everyone's performance effects needs are different, this model isn't intended to be the "right" way to set things up only an example. In fact, I use a Line 6 M5 to augment my setup which I need to wire into the equation.
Conclusion, Don't Be Afraid
While MIDI programming can certainly be intimidating, its not so complex if you simply take your time to learn the systems your working with. Sitting down for a couple hours and teaching yourself this stuff will pay off enormously. Hope this document is helpful. For reference, I use the official UNO editor, FCB/UNO CONTROL CENTER, with my FCB1010, its not free but worth the money IMHO: http://www.lg-fcb.com/lgfcb_software.php. In the US, you can get the UNO from here (2 day turnaround for me): http://mysite.verizon.net/reso…oundelectronics/id55.html.
Good luck, and don't get discouraged. Once you've done it a couple times, you should be able to program an FCB1010 or any MIDI pedal in a matter of minutes.