I'm making a bunch of Super controls that act as voice presets. These super controls connect to other controls, which send commands. The commands have to be in a specific order, and when they complete they change the voice successfully. I'm having some trouble with a specific bank of voices. Apparently it takes some time to have all of the commands take effect. All of the other banks change to the saved voice when I tap the super control button. However, for this specific bank I actually have to hold down the super control button for about a second for the voice to change. If I just tap it, it doesn't change.
All of the preset buttons have a control hierarchy as follows:
Preset Supercontrol -> Mode Change Supercontrol -> SysEx Message
-> Bank Super Control ->MSB CC
->LSB CC
-> Voice Program Change
Its complicated, but works. I'm assuming that the messages are only sent as long as I'm depressing the control button, and when I stop the execution stops. How can I make sure all of the messages are sent?