Advice on patch editor

i’m somewhere far along the road of my midi editor plug. however a new problem occured and this one is a more of a logistics/ide problem.

when it comes to synths that have realitme control with CC/RPN/SysEx midi messages it’s not a problem. But some synths (Casio CZ series SCI SixTrack/MultiTrack) have a weird midi implementation. The patch is edites inside the librarian/editor software after all parameters are set the patch is constructed into one big SysEx message and sent to the device as a PATCH. This is problematic because theese are very complicated messages, where a parameter can modify just some bits ina byte, and the biggest problem timing and midi capacity.

My question is, is it worth it to implement a librarian that will work in that way (as an addition to the normal realtime way) ina VST environment, if so what timing problems might be there (how often can you send such big messages to devices), how will VST take it (in terms of blocking when sendind bigass messages to MIDI device). And how to give the user a way to build XML definitions for such editor (how could the user write an XML describing where each bit/byte will go).

Any ideas are much welcome.

I guess your big stumbling block would be that VSTs won’t be able to send sysex messages until all the hosts catch up with the latest VSTSDK standard. Would it be better as just a stand-alone app?

that’s not a problem as i’m sending the MIDI to Hardware devices like a standalone app (sending to the VST Host is just an option for simpleer CC based synths, propably most of the newer ones).

[quote=“atomix1040”]i’m somewhere far along the road of my midi editor plug. however a new problem occured and this one is a more of a logistics/ide problem.

when it comes to synths that have realitme control with CC/RPN/SysEx midi messages it’s not a problem. But some synths (Casio CZ series SCI SixTrack/MultiTrack) have a weird midi implementation. The patch is edites inside the librarian/editor software after all parameters are set the patch is constructed into one big SysEx message and sent to the device as a PATCH. This is problematic because theese are very complicated messages, where a parameter can modify just some bits ina byte, and the biggest problem timing and midi capacity.

My question is, is it worth it to implement a librarian that will work in that way (as an addition to the normal realtime way) ina VST environment, if so what timing problems might be there (how often can you send such big messages to devices), how will VST take it (in terms of blocking when sendind bigass messages to MIDI device). And how to give the user a way to build XML definitions for such editor (how could the user write an XML describing where each bit/byte will go).

Any ideas are much welcome.[/quote]

My editor plugin BitControl does exactly what you describe – every parameter change is sent as an entire patch. But I don’t use the host MIDI output mechanism; I open a system port directly. No complaints yet.

The project is open-source, so feel free to examine the code.

best of luck --mpa

i like your project and the Crumar BitOne synth is very nice, i’ve got two analog polyphonics myself. I will definetly look closely at “BitPatch.cc” from your code cause i need to get in depth look on those sysex messages. I want my editor to be dynamic, a XML file will describe the whole synth/panel, user will be able to create custom own editor surfaces for his synths or any hybrid for any hardware. Thanks a lot for help.

Did you come into any problmes with timing issues with such long sysex messages?