I am a user of Ableton Live. MIDI Program Change works fine "through" Ableton Live during recording, but is not retained during recording for playback. This is a well-known fact, but I have found what I believe to be an elegant little solution in the form of a Max Standalone with two virtual MIDI I/O port pairs.
MIDI Program Change comes in with the rest of the MIDI controller's data, but is separated out and transformed into MIDI note data. Notes 0 - 15 represent the 16 MIDI Channels, and the velocity value represents the Program Change number.
Passed through Live, the MIDI notes can then be recorded, then upon playback (and record, for that matter) passed back through the standalone for de-coding back into MIDI Program Change commands to be forwarded on to the tone generators. Elegant ? Who uses notes in that range anyway, right ? :-)
Before I begin this project, I would like to know if this is already something out there, or not. If not, would anyone be interested in having the same tool for themselves, and care to work with me on it ? Collaboration is good.
Looking forward to some responses on this.