Damned Dirty Ape
It's not impossible. It might not even be all that hard, if I take the easy way out. In the underlying articulation data structure managed by the JSFX, I've allocated 4 bits for the group number, which would support 16 total groups.After creating a bank for a next complex instrument, I want to return to my old (impossible?) request for more overall groups.. I remember, that Cubase has 4 groups, but it's not enough too - there are a couple of instruments with a lot of independent switchable options (for this bass 8 groups needed, see att.pic) - is it very hard limit to programming?
The basic problem is that there are a number of arrays in the JSFX that are multiples of MAX_GROUPS, and many code paths that iterate over those arrays. This means that by increasing the max number of groups from 4 to 16, some things will take 4x more memory and execute 4x slower.
That kind of increase is uncomfortable to me for what actually is a pretty fringe use-case. Needing more than 4 groups is rare. So I'd rather optimize things properly so that we're iterating over the number of groups in use, rather than MAX_GROUPS. And that just takes more effort than is worth spending right now while I have more pressing problems to solve (like the GUI bank editor ).
A related problem is that the more groups you use, the higher the probability you'll be hit by the chasing problem: Reaper doesn't know about Reaticulate groups and only chases the last program on a given channel, as you know. It can be worked around putting the different groups in different banks assigned to separate source channels, but that's a bit of a hack. So I'd rather explore this idea and see if it's workable before bumping the groups limit.