My apologies to the V-Synth people. I guess this thread should be somewhere else.
Hi Calvin7s
Conversions are really quite straight forward and probably the least exciting thing to program.
The 'good' thing about Roland's synths is that they often just added to the current model to create the next model. So in many ways they were backward compatible.
So you have a history, say, starting from the JD Romplers to the JVs to XV to the Fantoms (architecture changed quit a bit in the FanG ) to the SonicCell to the Integra (which has a foot in both FanG and XV streams).
The FanG morphed in to the FAs and the JPs to a certain extent. Then they went retro.
The beautiful V-Synth really stands apart from these streams. You could still do a lot of XV patches on the V-Synth, but it's not as easy to do the reverse.
So to convert from one to the other you take all the parameters that are the same on both machines (to make that harder Roland often changed the parameter name) and move the value to it. That is about 85% to 90% of the job done.
The often renamed and always re-positioned waves have to be either matched or a good substitute found. This is why you need the two synths in front of you.
In the 4 Tone synths the only other thing is to find the matching MFX and sort out the jumbled parameters - in the sysex Roland just calls these "MFX Parameter 1", MFX Parameter 2", "MFX Parameter 3" etc and any parameter can be anywhere.
As you are just reading a sysex file, creating a new file with the swapped parameters and then saving it, you can use any programming language. C++ is fast in its execution, but for this job it doesn't have to be.
There are lots of easier programming languages out there especially for the new coder. Save yourself some heartache and start with one of those.
Jamie O'Connell wrote MidiOx firstly in C then, I believe, in C++. I heard a rumor that he joined Cakewalk, so I guess he works for Roland.
It started its life as an example of how to write Midi code written by Microsoft and supplied with their C then Visual C++ compilers. It never worked and it would never work as MS wouldn't change it. Despite being told about it they kept including it a way to write a Midi program in each version of their compiler.
As this was both my first C project and my first Midi project I gave up, but Jamie didn't and created MidiOx.
Real time Midi programs use to need to be fast, but with the speed of modern computers that may not necessarily be true now. So I would still start with something other than C++.
I haven't had a need for a new language, so perhaps someone else can suggest something more current.
All the best
Royce