In the sketch, I have TuneArray to store CC values, when I enable the function button on the APC40. Then, it loads the values from PW/PhaseArray to use those values for those functions, instead. But, the APC40 doesn't know the difference. So as soon as I touch an encoder that had been moved from the other array, it jumps to the last touched value from the other function, because that's where the APC40 still is.
Yes, I still have the expensive 600 ppr encoders from my originally aborted attempt. But, then I'd also need a DIY MCU (Hmm.. the controller's Latte Panda 3 Delta already has one on board) to handle MIDI communications, build a clunky looking $30 case, add $20 MIDI DIN connectors, etc.
For only $99, I can have a commercially engineered & mfr'd product that's ready to rock, with useful bells & whistles Out Of the Box.
I would like to believe that my time is worth more than $10 per month of frustrating R&D.
On the other hand, you might have a very valid point, with that regards.

Roj