Hey so I had a hard time figuring this out and couldn’t find any helpful info on the web, but now I’ve got it all worked out and thought I’d share my process with you all.
First off, I am using the cymatic LP-16 to play a backing track, click track, bass track, and cue tracks (recorded spoken countoffs and reminders), along with midi program changes for one guitar rig and one drum sampler using different midi channels for each device.
I started by creating a pro tools session with all of our tracks for one song lined up to the session start, and created 2 midi tracks each with the output set to the my interface midi out, channel 1 for the guitar rig and channel 2 for the drum sampler. I switched the track view to program change and manually inserted all my program change messages. You can add more tracks for additional songs in couple different ways, I decided to group my tracks and create playlists for each additional song so I could swap through them easily. After that we ran our rehearsals off of this pro tools session for a couple weeks as we dialed in the levels of our backing tracks and made sure all the program changes were working. Midi from my interface was controlling all of our devices correctly.
When I went to export midi what I discovered is that you need to change your midi tracks to clip view, then consolidate them into solid clips that match the length of your consolidated audio tracks. After that select your midi tracks, making sure the clips are all selected together before you export because the export will only use your selected clip(s), and the start-end time is also determined by the selection. In the export midi window select the Single (0) option and save your file. Assuming your output settings on the midi tracks are still set to your interface and specific midi channels, the export will correctly maintain those midi channel assignments and you’re good to go!