[Edit: I reworded this to hopefully be more clear]
It helps to know: If you double click a bank, it will pull up the typical Kontakt instrument GUI you’re used to, in it’s full blown edit mode. But you’ve got it exactly right. But I actually separate everything into it’s own bank… including mallet types. The bank change is the upper ‘layer’. Fixed pitches for rolls, hits, etc. is the lower layer… and is pitches are universally mapped to the same fixed pitches from one bank to another. MIDI note 25 (C#0 in Kontakt) is always a roll for all percussion.
Yes, program change before note on… HOWEVER, it’s best to follow this exact order: Program Change >> Keyswitch >> Resend current CC value >> musical Note-on events. with enough time between each one for it to update (Kontakt is slower than VI-Pro at this, so just test there and it will work accross the board). Expression maps should really work this way too honestly.
Resending CC’s, or “CC Chasing” is to update the new articulation to the current dynamic level per se. If Dorico has CC lanes that doesn’t matter really. If rewire is used and Cubase is used to draw/record CC’s, then you have problems unless you CC chase… because rewire is never perfectly in sync, and not really all that reliable. You get hanging notes, missed CC changes, missed articulation changes. Not to mention tiny issues in VI-Pro, Kontakt, and VEPro that lend to it. But rewire is the real culprit.
If Dorico sends things out in that order, then 1) by the time you guys do get to rewire, it will already work well even against Rewire’s imperfect sync issues and 2) it will work with any typical articulation switching method as it’s all before note-on anyway… as well as Kontakt and VI-Pro’s more robust ways of working… regardless of configuration, rewire, etc… and thereby allowing simple universal maps for sample libraries for Dorico. IMHO it’s just simpler all around.
Back to your questions:
“Would your intention be to produce a single percussion map in our editor for all of the sounds in your entire bank?”
Yes… ish. I quickly discovered that pitched percussion, having various techniques, had to have a separate mapping scheme. So my Timpani, Marimba (idiophones, etc) are entirely separate Kontakt bank instances… on their own MIDI channels. So I use program changes for the playing techniques layer in this case: rolls in one Kontakt bank and hits in another. There’s other ways that could be done, but you really need two different mapping schemes: pitched and unpitched. There’s no decent way around that. That’s especially true with how deeply sampled high-end libraries are getting every year. Just look at how many drums and mallet types Berlin has. They have multiple sizes of bass drum, piccolo snares, and the lot. So flexibility here is definitely going to be essential sooner than later (sorry, not your favorite news I bet lol)
If it helps to know, here’s all the mapping schemes I using right now in my current setup. I don’t expect the last one to suit to Dorico. Percussion is obviously the most challenging concern right now.
Timpani & Pitched
The Orchestra (a mapping scheme designed for Spitfire, VSL and Berlin to all fit in one universal bank/matrix layout)
LABS (50 or so odd instruments I keep on one track for quick access for film work… toy piano, music box, etc)
Hopefully you stayed sane after reading all this.