This is a solidly impressive looking effort, stephane.
Coincidentally, I've been hacking on
something similar over the past couple of weeks, to provide a better UI for managing articulations. We seem to have taken similar approaches, although given the limitations of Reaper, IMO there really only is one sensible way to solve this problem.
I'm curious if/how you've managed to overcome these issues:
1. There's no way to refresh a .reabank file after making changes. It seems to be necessary to restart Reaper (or perhaps just reloading the project would work -- it's just as disruptive) for it to pick up changes. Have you found a way to beat Reaper into submission here?
2. Did you find a way to programmatically set the .reabank file for a MIDI item? As far as I could see this has to be done manually.
3. I'm guessing you need a JSFX inserted on the track to convert program change events to something the VSTi can handle (such as note-based keyswitches)? I don't see this as much of an issue, but it's the only solution I could find. I'm curious if you've implemented it a different way and managed to get the main Reascript intercepting/translating the program changes.
Thanks for giving us an early preview of your work!