I do that with Logic's Environment
It is simple to write an Environment where you say :
If I receive a program change = to 1, I send C0
.....
Until B0
Then you describe a Multi instrument
Prog 1 = Staccato
Prog 2 = Legato
and so on
MacBook Pro M3 MAX 128 GB 8TB - 2 x 48" screen --- Logic Pro --- Mir Pro 3D --- Most of the VI libs, a few Synch... libs --- Quite a few Kontakt libs --- CS80 fanatic