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