If the job can be done using the generic bits of the midi specification such as continuous controllers then I'd agree it should be easy, and the controllers out there will be OK.
However, for me this isn't enough. Here's why.
I have a Yamaha MU80 module which has some really usable sounds and a very flexible performance mode. I would be overjoyed if one of the hardware controllers out there could send real-time variable performance setting sys-ex to my Yamaha MU80. This is not done via CC messages but via Yamaha paraneter change SysEx with the variable controller value embedded in the SysEx. So far nothing I've found can do this.
I appreciate this is quite a specific issue but to control any complicated piece of equipment neccesarily requires complex control codes, and these may be outside the scope of the hardware that's out there.
Maybe I've been a bit over depressing but I don't want our friend to go out there and spend hard earned cash on something that doesn't do the job!
_________________________
John Allcock