[LV2] should plugins somehow indicate whether they support MPE?

David Robillard d at drobilla.net
Thu Jun 29 14:42:52 PDT 2017

On Tue, 2017-06-20 at 18:11 +0200, Stefan Westerfeld wrote:
> > Suport could be annotated on the port with an atom:suppports
> > property.
> > 
> > mybundle:myplug
> >   a lv2:Plugin ;
> > 
> >   lv2:port [
> >     a lv2:InputPort, atom:AtomPort ;
> >     lv2:index 0 ;
> >     lv2:symbol "myPort" ;
> >     atom:bufferType atom:Sequence ;
> >     atom:supports midi:MidiEvent, midi:MpeMessage ;
> >   ] .
> > 
> > And midi.ttl be extended with a definition of midi:MpeMessage

Yes, this is the straightforward and reasonable way to indicate MPE
support (or support for whatever other messages, really).  Obviously
MPE is not an ideal way to control plugins, but I think designing an
LV2 protocol for that is a separate issue (if one that's a long time
coming, tied with the genera event-based control stuff which there's
already been some work towards)

> Ok. So we can wait for that to happen before annotating it.

Ideally, but if it's a blocker we can throw a definition up somewhere. 
Not the end of the world if the actual definition changes, really,
since it's external anyway.

> But this would mean that LV2 somehow would need to have
>  - a protocol (other than midi) to send note on events, so that a
> note id can be
>    assigned by the host
>  - a way to send per-note expression control changes
>  - a way to define per-note controls

Indeed.  Ideally hosts would translate MPE (or OSC or whatever) to a
more powerful LV2 native thing, but we'd need that thing first.


More information about the Devel mailing list