Thank you for your interest.
I am not trying to use groups. I have a very complex setup which works beautifully. But every time I need to add a new articulation I have to cover dozens of additional combinations, each containing multiple CCs. This is where your great tool is very useful for me (if it can exclude already used CC number).
Having same CC# in different group could never happen, simply because I put all CCs manually for every combination. This is not the case for your tools which (rightly) adds all output mapping entries.
Let me give you another example of use case.
Consider the following Expression Map:
arco: CC20 = 0 (Direction Group 1)
legato: CC20 = 10 (Direction Group 1)
Tremolo: CC20 = 15 (Attribute Group 2)
Let’s say we have one tremolo note within a legato passage.
Let’s play this passage:
1st note legato … 2nd tremolo … 3rd note back to legato.
If another CC# is used for Tremolo in group 2, say CC30 = 15, then using your tool, legato will play AND tremolo will also play at the same time for the second note. Because CC30=15 (tremolo) will just be added to CC20=10 (legato) for that slot.
If I put Tremolo in the group 1 as the other directions, we will have:
1st note legato … 2nd note tremolo … 3rd note (no articulation) arco! (should be legato)