Automageddon - I’m not 100% sure about what your understanding is, so I’ll just describe it
It was supposed to be a visual surface that mimicked the physical control surface - knobs, selector buttons, etc. - of the hardware synth (rather than any synthesis). Initially, it was just to send parameter changes, and the emphasis wasn’t just on control changes (which can be done with the CC device, albeit in a limited way) but also on heavily device-specific sysex stuff. In the case of the Virus, this could be patch saving, hardware input assignation, that sort of thing. I hadn’t implemented any receiving because my Virus B has knackered buttons anyway, though it wouldn’t have been hard to do - you could send a sysex request then store all returned data…etc.
Next step would have been to do the receiving properly, then to do some proper sysex library stuff, then to ensure that it would be easy for someone to edit the Duplex Application for their own synth and adjust the XML sysex params accordingly. I also had high ambitions for patch-name transfer, keeping the Duplex device in sync with patches on the hardware, and so on, but that probably would have been nightmarishly difficult.
I’m talking about this in the past tense for two reasons. Firstly, I got a Virus TI Snow last night and it does all of this perfectly Secondly, I tried my code out with my Roland JV-1010 and discovered THIS (quick version: life is too short to set about writing sysex software for Roland devices…jesus christ).
If I was less busy, I’d probably pursue this further just out of interest, but I want to concentrate on some other tools. The other reason is that I suspect danoise and others are coming up with what’s sure to be a much more solidly implemented range of sysex features, either in Duplex or in other tools. I’ll be keeping an eye on what they do…
Hope that explains it