[Devel] Trigger Event Type Extension

Jeremy Salwen jeremysalwen at gmail.com
Tue May 31 19:36:59 PDT 2011

I'm a bit confused about the relationship between Events and Atoms...

Event ports seem like they want to define A "supportsEvent" property, which
defines which types of events they will take. (

the supportsEvent property takes a "ev:Event", which says "Specific event
types (e.g. MIDI, OSC) are defined by extensions, and should be
rdfs:subClassOf this class."

However, the Atom ttl (http://lv2plug.in/ns/ext/atom/) Does not ever define
an event type.   It mentions that "An Atom can be trivially constructed
in-place from an Event", but it doesn't describe what type of events can be
turned into an Atom, and how to define a port which which receives events of
this type.  AtomPort seems to be for passing a single value, not passing
multiple events.

If I'm defining a port which takes a "Bang" type, what is the code
equivalent to

lv2:port [
		a ev:EventPort, lv2:InputPort ;
		lv2:index 0 ;
		ev:supportsEvent <http://lv2plug.in/ns/ext/midi#MidiEvent> ;

		lv2:symbol "midi_input" ;
		lv2:name "MIDI input" ;
	] .


What should I put instead of <http://lv2plug.in/ns/ext/midi#MidiEvent> ?


On Tue, May 31, 2011 at 8:25 PM, David Robillard <d at drobilla.net> wrote:

> On Mon, 2011-05-16 at 18:45 -0400, Jeremy Salwen wrote:
> > Hi David:
> >
> > I've fixed the indentation to match the other extensions, and changed
> > it to lv2:documentation: see
> > http://columbia.edu/~jas2312/lv2-trigger-2.0.tar.gz
> >
> > I was aware that you can't just start using the ns/ext namespace, but
> > I wasn't sure how to get approval for it besides posting the extension
> > on the mailing list. (I certainly wouldn't just write plugins using it
> > without getting some sort of approval.)
> >
> > Also, you said that it was too narrow in scope.  What would you
> > suggest is also included with it?  Another event type with some sort
> > of velocity parameter?
> I forgot, there is this:
> http://lv2plug.in/ns/ext/atom#Bang
> Note that "atoms" are binary compatible with events, they are
> essentially events with the timestamp lopped off, and the same types can
> be used for both.
> However, I am really frustrated by the extremely stupid use of uint16_t
> for event types, which causes a ton of wide-reaching URI-map relates
> hassles, so I almost want to throw away this compatibility with atoms
> and eventually deprecate the event extension altogether...
> So, I am not sure what to suggest.  I am using atom:Bang for such
> things, for now, anyway.
> -dr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lv2plug.in/pipermail/devel-lv2plug.in/attachments/20110531/ba83869e/attachment-0001.htm>

More information about the Devel mailing list