Hey all!
I have a simple enough question, but I don't know the best practice for solving it, so figured I'd ask.
There's an LV2 synth running in a LV2 host. The synth exposes its operation trough control ports.
Option 1:
The plugin can bind incoming MIDI events to these control ports values, allowing "standard" MIDI maps to be made for the synth.
Use cases include using the synth on another machine with the same hardware: easy operation, layout identical to before.
Downside: these MIDI binding values are hard coded in the plugin, and can't be changed. Also the host may update the control port (which has been effected by the MIDI stream) and causes a parameter jump.
Option 2:
The host has to implement its own form of binding the MIDI events to the control ports.
Downsides: the plugin has no control over what causes what effect, so no standardized maps can be made.
Application specific MIDI mapping... which is nasty.
I think the "safe option" is number 2, each application sorts this thing out itself, and the user has to map the same synth per host.
The MIDI mapping situation on Windows and MacOS is terrible (IMO), with various different "software re-map" features like Novation Automap, and Bores midi translator just getting in the way even more.
Can anybody see a solution to using the same MIDI map for the same instrument in different software, without hard-coding it in the plugin?
Or another solution? -Harry