I have the VI now for a couple of month and after struggling with managing all those controls I finally came up with a solution I want to present. I would like to get some feedback how other users dealing with this issue or having suggestions how to improve my approach.
VI Minor Issue: Preset vs Matrix
First of all I consider it a design flaw that the Perform setup is only stored with the Preset and not with the Matrix. I use the performance controller extensively and saving a tweaked Matrix doesn't make sense because all the performance assignments are gone when reloading that custom Matrix.
That's why I'm only saving Presets even if there is only one Matrix in it.
VI Major Issue: Keyswitche Placement (Matrix and Patches)
One major downside with the factory presets is the location of the Keyswitches. If it is a Bass instrument, the Keyswitches are in the upper range, if you are dealing with a Treble instrument then the keyswitches are in the lower key range. Maybe the Matrisx Keys are on the upper range and the Patch switches are in the lower range, etc. If you don't memorize the position then you have to finger around on the keys or look up the assignment on the GUI after you load a Preset. And we all now how cumbersome the Key focus issue of the VI window is.
After lots of frustration, I came up with the following solution:
1) One Universal Keyswitch and Controller Assignment Setup
I created a personal standardized Key assignment. That means after I load a new Preset or Matrix, I change the Key Switch assignment and apply my Controller Assignment and save it as a Custom Preset. The next time I open up that Custom Preset, all my custom assignments are in place. I know that is extra work but I think it pays of in the long run.
2) Separate Controller Keyboard
So step one is to use the same assignments for all the Presets I use. This is not a problem for the controller but more for the Keyswitches. To make sure that the keyswitches are not overlapping with musical keys of the actual instruments, I use the two lowest octaves in the MIDI specs C-2 to B-1. Most 88-key keyboards don't have those keys so I got a 2 octave M-Audio KeyRig Keyboard that can be easily placed on top of your master keyboard.
3) Key Assignment
C-2 to G#-2 is used for Matrix Switching in the Preset
A-2 and B-2 is used for A/B switching
C-1 to B-2 is used for H-Span switching of the Patches
Whenever I load one of my customized Presets I'm ready to go. I don't have to remember where the keyswitches are. i.e. I can quickly step through the C-1 to B-2 to find the tremolo patch
4) Controller Assignment
I use the rotary knobs on the M-Audio keyboard for the Controller Assignment
CC2 (Breath): Vel X-fade
CC8 (Balance): Slot X-fade
CC74 (Brightness): Filter
CC73 (Attack): Master Attack
CC72 (Release): Master Release
CC11 (Expression): Expression
CC14: Vel X-Fade on/off (This is assigned to a button)
5) Color Coding for Keyswitches
Having the Keyswitches always in the same keyrange has another big advantage when it comes to editing in the Matrix (Piano Roll) or Score Editor. You can setup your score layout to ignore all the notes below C0, so they don't "mess up" your score. And in the Matrix Editor, you will always know that those notes "down there" are keyswitches and not actual notes.
I use Logic Pro and that provides another cool feature that helps with Editing. I use the Environment to route the MIDI messages from the M-Audio keyboard through a couple of transformer objects that do the following thing before they go into the Sequencer.
"Set Vel=90 if note<A-2": all the Matrix switches notes become yellow
"Set Vel=127 if not=A-2...B-2: All A/B switches notes become red
"Set Vel=1 if note>B-2": all Patch switches notes become purple
This becomes nice visual aid when staring at lot of notes in a Matrix editor, to distinguish musical notes from keyswitch notes. Those keyswitche notes you played on that little M-Audio keyboard will always displayed in the the same color, so you can not only spot them as keyswitches and not confuse them with musical notes but you also see right away based on the color if it is a Matrix, A/B or a Patch switch.
So that's it. Do you guys have different or similar solutions and are there some issues I have overlooked with my setup?