Hello there - yeah, its been a constant frustration for me, too, especially with some plugins able to transmit some midi information, but not all parameters, and precise documentation hard to find or non-existent. As above, it's really down to the plug in. As you've noticed, the most you'll get from most web-sites is that a plug-in will midi learn, which isn't terribly helpful.
For a daw I use cubase, and for me so far in the VST plugins I've played with the most comprehensive midi implementation has probably been with the blue cat audio plugins. There is a generic midi remote in cubase that is extremely useful for midi out of parameters and information from daw/plug-in to external controller, but takes a little thought to program. This still relies on the programmer of the plugin to make the parameters available, though.
Might seem a little odd, making hardware controllers for what is essentially a software emulation of an older piece of hardware
, but there is some rationale behind it, at least for me. It's far more satisfying to have the immediacy of knobs, dials and displays than use a mouse, and eg for my basic amplitude controller I can place it so I don't have to reach across a desk whilst trying not to bang my guitar, and I can't afford all the original hardware...
I would suggest using encoders rather than pots for your controller, though - after all, if a parameter changes in the daw, from eg automation data, the position of the pot won't represent the value of that parameter anymore. This is got round in some midi controllers by holding the transmitted value from the daw until the pot is moved through that value, which is a bit kludgy. I've got a jl cooper fadermaster that basically does that. With an encoder, you can update the encoder value in your code without needing to move it, although I do appreciate that encoders are more expensive than pots. Optical encoders, which are admittedly more expensive than mechanical ones, take a little less programming as they don't need de-bouncing of the switches for an accurate reading, but the big advantage of them for me is that they can be moved faster without skipping counts. I've had pretty good success with fairly cheap 360/600 ppr (pulses per rotation) encoders from china/HK, which come in at around 10gbp or so each. The very cheap mechanical "KY-40" type encoders with switch come in at under 1gbp still work, they're just not as responsive and you can't be as rough with them. For optical encoders, just divide down the number of pulses you read to fit your purpose. My early projects started using 1 rotary encoder, led button switches via an mcp23017 ic to choose what parameter was being controlled by the encoder, and an ili9341 lcd display to display the values.
Motorised faders seem more trouble than they're worth, to be honest - and they're fairly expensive, too. I've never tried programming one, but I've got a jl cooper mcs 3800 daw controller that has them, and never really use it. Again, feedback never seems to be immediate enough, although the flying fader thing does look pretty impressive
. Personally, I'd rather have visual feedback from a dedicated display.
Not posted on here for a while, this hobby was sort of put to one side during covid, due to my work-life being insane and my wife working from home. Hopefully can pick it back up again.
Best of luck with your project.
Paul.