@DMR hi, thanks for the tips!
The new mode I want to add is for controlling the x0x Heart, so there will be pitch CV, gate, and two triggers for accent and slide. I envisage accent being triggered by high velocity MIDI notes, and slide triggers being sent on overlapping notes.
Should be doable, I think. Have to think which of the existing modes to replace, though.
2) in DMR’s excellent list above is the crucial step. You need to work out how the CVpal works. That may be harder than you expect, even if you are familiar with C+, because C+ written for embedded targets with constrained memory and storage tends to be very compact and terse, rather than being written for readability and easy comprehension as you might write code for a desktop computer where you have huge amounts of resources available, relatively speaking. Don’t expect to instantly grasp what is going on in the code unless you are a professional C++ software engineer who can reverse engineer whole apps in their head in a single reading of the source (I’ve worked with and been humbled by such people). But study it enough and it will start to make sense. That’s what I found with the Braids code, at least.
I’ve had a brief look at parts of the source. It didn’t look too bad, though not very thoroughly commented, as I recall.
I don’t have any experience with C++ at all, unfortunately. I have used several C-based scripting languages (JavaScript, PHP most recently, also some C, a tiny bit of Objective C, a long time ago), so I have some idea of the basic syntax. I’m not big on OOP, though, so this may be a project doomed to disillusionment and failure…
The CVpal code is necessary rather brief, and thus there are only a handful of classes each with a handful of methods. I don’t think the OOP aspects should be too intimidating.