I have a similar situation. In my case, I use Gig Performer as an external MIDI instrument that Logic sends MIDI messages to.
For the controllers to Logic, I do that as normal in Logic. The keyboard always uses Channel 1. Logic can accept Omni. Each track has a different output channel: Piano is Ch. 1, drums are Ch. 2, etc.
To accomplish this, I created a virtual MIDI port, named “Virtual GP.” In my rackspace, for instruments that I want played for backing tracks or automated by the sequencer, I feed that sequencer with a “Virtual GP” input plugin. I will map or filter the channels as needed. Launch Logic and GP and I can compose, using GP as the instrument.
Here’s the cool part. Put the MIDI File Player in the global rackspace and feed it to a “Virtual GP” output plugin. After you’ve finished composing backing tracks, export a MIDI file from Logic, load it into the MIDI Player, and you exactly replicate the Logic performance in Gig Performer.
Yes, you could compose with the instruments in Logic, export the audio, and use the audio player, but this lets you tweak the sound in the rackspace to a large degre. Maybe you want to repitch the snare, put a gate and reverb on it, use a better piano plugin, whatever. You can do this without having to go back to Logic to re-render. Also, any song part changes and other automation that you composed in Logic behaves exactly the same after exporting and using the MIDI File Player.
I definitely had teething problems doing stupid stuff like updating the sequence in Logic, exporting the MIDI to the wrong folder, and wondering why GP didn’t do what I wanted, but after refining my process and understanding the peculiarities, it’s really satisfying to compose background tracks and automation, bring it into Gig Performer, press play on my foot switch, and get exactly what I had from Logic and to still be able to tweak my live sound.