Sending patch changes from Logic to Kontakt

Seeking input on best practices for sending MIDI patch changes from Logic to a standalone Kontakt 5 running on a separate PC build. I am experimenting with my Logic 8 setup just because it is handy, but assume the same techniques will apply on Logic 9.

The Kontakt feature in question is its "instrument bank", which allows many articulations to reside on the same MIDI channel. The instrument banks can be saved collectively to a "multi-instrument."

So my multi uses MIDI channels 1 and 2, and is connected to Logic on a physical MIDI port 8. By sending a patch change 1, 2, 3, 4, 5 or 6, I can get sustain, fortepiano, Sforza, staccato, tremolo or pizz on either the violin on channel 1 or the cello on channel 2.

I created a multi-instrument in the environment (called Kontakt 5) and it plays back fine. If I manually insert program changes (in Logic, patches must be decremented by one, i.e. patch 1 in Kontakt = patch 0 in Logic), they are recognized when sent over to Kontakt. (Right now I am just playing Kontakt out of its own amp, not trying to record.)

I see the hyper editor has a lane called "Program" but have not had consistent success trying to use it, but thought maybe that would be a shortcut. The reference manual search for program change or patch change was not very fruitful.

Before I attempted this with Logic, I set it up in Pro Tools 10. In PT, each track has a number of automation lanes (which are normally hidden), including one for "program change" -- what Logic calls "patch" change. To accomplish this in PT, you use the pencil tool to insert a dot, switch to pointer tool, double click and enter the appropriate number: i.e., 6 = pizz. It is a very clean method.

I tried that in the hyper editor using the pencil tool to create a "tick" and then click-holding -- which will scroll the 128 program changes (of which I have only implemented six changes in my example).

Not much good luck in the hyper editor, but I got the patches to change by using the MIDI event list (manually copying a program change and inserting, entering the appropriate measure number, and entering the patch -- i.e., 5 = pizz [6-1].

Just wonder if there is a more elegant way than using the event editor. The hyper editor could be quicker...
I discovered that the hyper editor must be zoomed in as large as possible in order to select the possible program changes. In its default size, it is too small. I also noticed that the "MIDI tool" editor (that also permits velocity changes, pressure and CC changes) in Finale has a program change feature that mimics Logic's hyper editor program change lane.


Here is a slightly more elegant way of using the Event List for this.

* Set the program change to the value you want in the channel strip parameters for the selected instrument.

* place your playhead where you want the program change,

* put the transport in "record toggle" mode, and then just tick on the check box in the track instrument's program change field.

Then take Logic out of Record toggle mode. A new MIDI region will be created with the program change event exactly where the playhead was positioned at.