Don't try this at home, kids! So I have a prototype box where I play with power supply designs. The current iteration in it is surely insane but it works quite well, and is actually similar to this idea.
It uses an LM317 but only to produce a low current 30V reference from 24V RMS transformer. I then use that to drive an LM358 way beyond spec and very close to exploding. The 358's input is a DAC with a 4v reference and then the opamp has a 10X gain and the a second stage provides the feedback from a TIP3055 to do the actual higher current linear regulation.
Inefficient, very sketchy, needs short circuit protection added because high current surges will blow the opamp - luckily the DAC survives, and it needs to accept the fact that it can't really handle 30V output. I don't actually trust it, but it does provide negative rail too
Software side is an arduino mini, CC is currently in software (eek!). The LCD is a raspberry pi that controls the arduino via serial. The code is here
https://github.com/calston/piwerlabBut the biggest purpose this serves in my lab is a set of touch screen controlled relays for 6x IEC AC connectors at the back which goes to my soldering iron, scope, etc.