[LAD] "enhanced event port" LV2 extension proposal

Dave Robillard drobilla at connect.carleton.ca
Fri Nov 30 04:00:15 UTC 2007


On Fri, 2007-11-30 at 04:19 +0100, David Olofson wrote:
> > There are of course infinite ways to do 'events' for plugins (and an
> > infinite number of interpretations of what 'events' means).  Nice
> > thing about LV2 is you can do them all.  Something like your
> > non-flat event stuff (with queueing and linked lists and dispatching
> > and such, rather than plain old directly connected buffers) may find
> > a place in LV2 as well -
> 
> Right; dispatching and stuff... I think this is about where the 
> confusion starts. How is this supposed to be done here? Are 
> LV2 "enhanced event ports" opaque, all-in-one, somewhat like 
> the "raw" MIDI I'm talking about above, or how are LV2 hosts supposed 
> to deal with them?

They're simply byte arrays of timestamped 'events', where an 'event' is
some length of bytes.

[timestamp|size|data|timestamp|size|data|timestamp|size|data]

(This is current MIDI; add type or whatever results from this thread)

Idea being that timestamps are in frames and everything is in-band and
sample accurate and processed in blocks along with the audio.  Hosts can
just directly connect the pointers of an input and output port to the
same buffer and have the plugins talk to each other, or blindly memcpy
the whole thing around.  Just Like Audio(TM).

-DR-





More information about the Linux-audio-dev mailing list