If you'd like to build the Cabbage part Rory, this is what I have right now. I think it works. It doesn't catch all the errors yet (fterror is a leftover from fareygen), but I'll be a little busy for the next couple of days. From what I've seen in Cabbage, it's not going to be that difficult to adapt. The syntax is this:
x1 and x2 in a segment can't -obviously- have the same value. cx1 can -but shouldn't- be equal to x1 or x2. This means handles in Cabbage should not be allowed to cross over the x-point of another handle, either to the left or to the right.
"quadbezier" sets p4 (gen routine) to -1. That was what fareygen does. Shall we change that?
As you already know, you'll need to add make_plugin(quadbezier quadbezier.c) to Opcodes/CMakeLists.txt.
quadbezier.c.zip (1.4 KB)