Duplex-Like Framework For Progamming Hardware?

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 :D 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

KING, Thank you!
im get back to you when i have some settings and parameters DONE.

works fine now!
Two important thing i imagine in Duplex UI and parameters. I can not use parameters like Balance -64->64, the negative number is get me an error.
The Another one is the Group name. Is it possible to view groupnames in the UI? TopLeft or BottomLeft corners? Maybe a parameter in the group line something like this:

You can’t really send negative numbers as MIDI CC, only 7bit signed integers (0-127)

you are right. my bad. :D

i configure some osc in duplex (blofeld editor) , select waldorf blofeld out, but cc changes wont go to the blofeld. (no midi out activity)
is there any config for that?
i use only this:

but cant find any document for the device.lua file. what i need to configure? --==============================================================================

class “WaldorfBlofeld” (MidiDevice)

function WaldorfBlofeld:__init(display_name, message_stream, port_in, port_out)
TRACE(“WaldorfBlofeld:__init”, display_name, message_stream, port_in, port_out)

MidiDevice.__init(self, display_name, message_stream, port_in, port_out)

self.loopback_received_messages = false
self.dump_midi = false
end


– setup a Mixer and Effect application

duplex_configurations:insert {

– configuration properties
name = “Instrument Editor”,
pinned = true,

– device properties
device = {
class_name = “WaldorfBlofeld”,
display_name = “Waldorf Blofeld”,
device_port_in = “Waldorf Blofeld”,
device_port_out = “Waldorf Blofeld”,
control_map = “Controllers/WaldorfBlofeldDesktop/WaldorfBlofeldDesktop.xml”,
thumbnail = “WaldorfBlofeldDesktop.bmp”,
protocol = DEVICE_MIDI_PROTOCOL,
},

thank you

Your WaldorfBlofeld.lua probably also needs something like this:
– setup a “MixConsole” and “PatternMatrix” as apps
applications = {
Mixer = {
mappings = {
osc_dials = {
group_name = “OSC1”,
},
},
},

Did you add these definitions to your main device lua file?
You can also pick for instance the Ohm64 as an example and analyze to learn from it.

thats wht i forget! Thank you.