aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/event
diff options
context:
space:
mode:
Diffstat (limited to 'lv2/event')
-rw-r--r--lv2/event/event-helpers.h255
-rw-r--r--lv2/event/event.h306
-rw-r--r--lv2/event/event.meta.ttl256
-rw-r--r--lv2/event/event.ttl87
-rw-r--r--lv2/event/manifest.ttl9
-rw-r--r--lv2/event/meson.build41
6 files changed, 0 insertions, 954 deletions
diff --git a/lv2/event/event-helpers.h b/lv2/event/event-helpers.h
deleted file mode 100644
index bf1b885..0000000
--- a/lv2/event/event-helpers.h
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- Copyright 2008-2015 David Robillard <d@drobilla.net>
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-
-#ifndef LV2_EVENT_HELPERS_H
-#define LV2_EVENT_HELPERS_H
-
-/**
- @file event-helpers.h Helper functions for the LV2 Event extension
- <http://lv2plug.in/ns/ext/event>.
-*/
-
-#include "lv2/core/attributes.h"
-#include "lv2/event/event.h"
-
-#include <stdbool.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-LV2_DISABLE_DEPRECATION_WARNINGS
-
-/** @file
- * Helper functions for the LV2 Event extension
- * <http://lv2plug.in/ns/ext/event>.
- *
- * These functions are provided for convenience only, use of them is not
- * required for supporting lv2ev (i.e. the events extension is defined by the
- * raw buffer format described in lv2_event.h and NOT by this API).
- *
- * Note that these functions are all static inline which basically means:
- * do not take the address of these functions. */
-
-/** Pad a size to 64 bits (for event sizes) */
-static inline uint16_t
-lv2_event_pad_size(uint16_t size)
-{
- return (uint16_t)((size + 7U) & ~7U);
-}
-
-/** Initialize (empty, reset..) an existing event buffer.
- * The contents of buf are ignored entirely and overwritten, except capacity
- * which is unmodified. */
-static inline void
-lv2_event_buffer_reset(LV2_Event_Buffer* buf,
- uint16_t stamp_type,
- uint8_t* data)
-{
- buf->data = data;
- buf->header_size = sizeof(LV2_Event_Buffer);
- buf->stamp_type = stamp_type;
- buf->event_count = 0;
- buf->size = 0;
-}
-
-/** Allocate a new, empty event buffer. */
-static inline LV2_Event_Buffer*
-lv2_event_buffer_new(uint32_t capacity, uint16_t stamp_type)
-{
- const size_t size = sizeof(LV2_Event_Buffer) + capacity;
- LV2_Event_Buffer* buf = (LV2_Event_Buffer*)malloc(size);
- if (buf != NULL) {
- buf->capacity = capacity;
- lv2_event_buffer_reset(buf, stamp_type, (uint8_t*)(buf + 1));
- return buf;
- }
- return NULL;
-}
-
-/** An iterator over an LV2_Event_Buffer.
- *
- * Multiple simultaneous read iterators over a single buffer is fine,
- * but changing the buffer invalidates all iterators. */
-typedef struct {
- LV2_Event_Buffer* buf;
- uint32_t offset;
-} LV2_Event_Iterator;
-
-/** Reset an iterator to point to the start of `buf`.
- * @return True if `iter` is valid, otherwise false (buffer is empty) */
-static inline bool
-lv2_event_begin(LV2_Event_Iterator* iter, LV2_Event_Buffer* buf)
-{
- iter->buf = buf;
- iter->offset = 0;
- return (buf->size > 0);
-}
-
-/** Check if `iter` is valid.
- * @return True if `iter` is valid, otherwise false (past end of buffer) */
-static inline bool
-lv2_event_is_valid(LV2_Event_Iterator* iter)
-{
- return (iter->buf && (iter->offset < iter->buf->size));
-}
-
-/** Advance `iter` forward one event.
- * `iter` must be valid.
- * @return True if `iter` is valid, otherwise false (reached end of buffer) */
-static inline bool
-lv2_event_increment(LV2_Event_Iterator* iter)
-{
- if (!lv2_event_is_valid(iter)) {
- return false;
- }
-
- LV2_Event* const ev = (LV2_Event*)(iter->buf->data + iter->offset);
-
- iter->offset +=
- lv2_event_pad_size((uint16_t)((uint16_t)sizeof(LV2_Event) + ev->size));
-
- return true;
-}
-
-/** Dereference an event iterator (get the event currently pointed at).
- * `iter` must be valid.
- * `data` if non-NULL, will be set to point to the contents of the event
- * returned.
- * @return A Pointer to the event `iter` is currently pointing at, or NULL
- * if the end of the buffer is reached (in which case `data` is
- * also set to NULL). */
-static inline LV2_Event*
-lv2_event_get(LV2_Event_Iterator* iter, uint8_t** data)
-{
- if (!lv2_event_is_valid(iter)) {
- return NULL;
- }
-
- LV2_Event* const ev = (LV2_Event*)(iter->buf->data + iter->offset);
-
- if (data) {
- *data = (uint8_t*)ev + sizeof(LV2_Event);
- }
-
- return ev;
-}
-
-/** Write an event at `iter`.
- * The event (if any) pointed to by `iter` will be overwritten, and `iter`
- * incremented to point to the following event (i.e. several calls to this
- * function can be done in sequence without twiddling iter in-between).
- * @return True if event was written, otherwise false (buffer is full). */
-static inline bool
-lv2_event_write(LV2_Event_Iterator* iter,
- uint32_t frames,
- uint32_t subframes,
- uint16_t type,
- uint16_t size,
- const uint8_t* data)
-{
- if (!iter->buf) {
- return false;
- }
-
- if (iter->buf->capacity - iter->buf->size < sizeof(LV2_Event) + size) {
- return false;
- }
-
- LV2_Event* const ev = (LV2_Event*)(iter->buf->data + iter->offset);
-
- ev->frames = frames;
- ev->subframes = subframes;
- ev->type = type;
- ev->size = size;
- memcpy((uint8_t*)ev + sizeof(LV2_Event), data, size);
- ++iter->buf->event_count;
-
- size = lv2_event_pad_size((uint16_t)(sizeof(LV2_Event) + size));
- iter->buf->size += size;
- iter->offset += size;
-
- return true;
-}
-
-/** Reserve space for an event in the buffer and return a pointer to
- the memory where the caller can write the event data, or NULL if there
- is not enough room in the buffer. */
-static inline uint8_t*
-lv2_event_reserve(LV2_Event_Iterator* iter,
- uint32_t frames,
- uint32_t subframes,
- uint16_t type,
- uint16_t size)
-{
- const uint16_t total_size = (uint16_t)(sizeof(LV2_Event) + size);
- if (iter->buf->capacity - iter->buf->size < total_size) {
- return NULL;
- }
-
- LV2_Event* const ev = (LV2_Event*)(iter->buf->data + iter->offset);
-
- ev->frames = frames;
- ev->subframes = subframes;
- ev->type = type;
- ev->size = size;
- ++iter->buf->event_count;
-
- const uint16_t padded_size = lv2_event_pad_size(total_size);
- iter->buf->size += padded_size;
- iter->offset += padded_size;
-
- return (uint8_t*)ev + sizeof(LV2_Event);
-}
-
-/** Write an event at `iter`.
- * The event (if any) pointed to by `iter` will be overwritten, and `iter`
- * incremented to point to the following event (i.e. several calls to this
- * function can be done in sequence without twiddling iter in-between).
- * @return True if event was written, otherwise false (buffer is full). */
-static inline bool
-lv2_event_write_event(LV2_Event_Iterator* iter,
- const LV2_Event* ev,
- const uint8_t* data)
-{
- const uint16_t total_size = (uint16_t)(sizeof(LV2_Event) + ev->size);
- if (iter->buf->capacity - iter->buf->size < total_size) {
- return false;
- }
-
- LV2_Event* const write_ev = (LV2_Event*)(iter->buf->data + iter->offset);
-
- *write_ev = *ev;
- memcpy((uint8_t*)write_ev + sizeof(LV2_Event), data, ev->size);
- ++iter->buf->event_count;
-
- const uint16_t padded_size = lv2_event_pad_size(total_size);
- iter->buf->size += padded_size;
- iter->offset += padded_size;
-
- return true;
-}
-
-LV2_RESTORE_WARNINGS
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* LV2_EVENT_HELPERS_H */
diff --git a/lv2/event/event.h b/lv2/event/event.h
deleted file mode 100644
index 045ac12..0000000
--- a/lv2/event/event.h
+++ /dev/null
@@ -1,306 +0,0 @@
-/*
- Copyright 2008-2016 David Robillard <d@drobilla.net>
- Copyright 2006-2007 Lars Luthman <lars.luthman@gmail.com>
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-
-#ifndef LV2_EVENT_H
-#define LV2_EVENT_H
-
-/**
- @defgroup event Event
- @ingroup lv2
-
- Generic time-stamped events.
-
- See <http://lv2plug.in/ns/ext/event> for details.
-
- @{
-*/
-
-// clang-format off
-
-#define LV2_EVENT_URI "http://lv2plug.in/ns/ext/event" ///< http://lv2plug.in/ns/ext/event
-#define LV2_EVENT_PREFIX LV2_EVENT_URI "#" ///< http://lv2plug.in/ns/ext/event#
-
-#define LV2_EVENT__Event LV2_EVENT_PREFIX "Event" ///< http://lv2plug.in/ns/ext/event#Event
-#define LV2_EVENT__EventPort LV2_EVENT_PREFIX "EventPort" ///< http://lv2plug.in/ns/ext/event#EventPort
-#define LV2_EVENT__FrameStamp LV2_EVENT_PREFIX "FrameStamp" ///< http://lv2plug.in/ns/ext/event#FrameStamp
-#define LV2_EVENT__TimeStamp LV2_EVENT_PREFIX "TimeStamp" ///< http://lv2plug.in/ns/ext/event#TimeStamp
-#define LV2_EVENT__generatesTimeStamp LV2_EVENT_PREFIX "generatesTimeStamp" ///< http://lv2plug.in/ns/ext/event#generatesTimeStamp
-#define LV2_EVENT__generic LV2_EVENT_PREFIX "generic" ///< http://lv2plug.in/ns/ext/event#generic
-#define LV2_EVENT__inheritsEvent LV2_EVENT_PREFIX "inheritsEvent" ///< http://lv2plug.in/ns/ext/event#inheritsEvent
-#define LV2_EVENT__inheritsTimeStamp LV2_EVENT_PREFIX "inheritsTimeStamp" ///< http://lv2plug.in/ns/ext/event#inheritsTimeStamp
-#define LV2_EVENT__supportsEvent LV2_EVENT_PREFIX "supportsEvent" ///< http://lv2plug.in/ns/ext/event#supportsEvent
-#define LV2_EVENT__supportsTimeStamp LV2_EVENT_PREFIX "supportsTimeStamp" ///< http://lv2plug.in/ns/ext/event#supportsTimeStamp
-
-// clang-format on
-
-#define LV2_EVENT_AUDIO_STAMP 0 ///< Special timestamp type for audio frames
-
-#include "lv2/core/attributes.h"
-
-#include <stdint.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-LV2_DISABLE_DEPRECATION_WARNINGS
-
-/**
- The best Pulses Per Quarter Note for tempo-based uint32_t timestamps.
- Equal to 2^12 * 5 * 7 * 9 * 11 * 13 * 17, which is evenly divisible
- by all integers from 1 through 18 inclusive, and powers of 2 up to 2^12.
-*/
-LV2_DEPRECATED
-static const uint32_t LV2_EVENT_PPQN = 3136573440U;
-
-/**
- An LV2 event (header only).
-
- LV2 events are generic time-stamped containers for any type of event.
- The type field defines the format of a given event's contents.
-
- This struct defines the header of an LV2 event. An LV2 event is a single
- chunk of POD (plain old data), usually contained in a flat buffer (see
- LV2_EventBuffer below). Unless a required feature says otherwise, hosts may
- assume a deep copy of an LV2 event can be created safely using a simple:
-
- memcpy(ev_copy, ev, sizeof(LV2_Event) + ev->size); (or equivalent)
-*/
-LV2_DEPRECATED
-typedef struct {
- /**
- The frames portion of timestamp. The units used here can optionally be
- set for a port (with the lv2ev:timeUnits property), otherwise this is
- audio frames, corresponding to the sample_count parameter of the LV2 run
- method (frame 0 is the first frame for that call to run).
- */
- uint32_t frames;
-
- /**
- The sub-frames portion of timestamp. The units used here can optionally
- be set for a port (with the lv2ev:timeUnits property), otherwise this is
- 1/(2^32) of an audio frame.
- */
- uint32_t subframes;
-
- /**
- The type of this event, as a number which represents some URI
- defining an event type. This value MUST be some value previously
- returned from a call to the uri_to_id function defined in the LV2
- URI map extension (see lv2_uri_map.h).
- There are special rules which must be followed depending on the type
- of an event. If the plugin recognizes an event type, the definition
- of that event type will describe how to interpret the event, and
- any required behaviour. Otherwise, if the type is 0, this event is a
- non-POD event and lv2_event_unref MUST be called if the event is
- 'dropped' (see above). Even if the plugin does not understand an event,
- it may pass the event through to an output by simply copying (and NOT
- calling lv2_event_unref). These rules are designed to allow for generic
- event handling plugins and large non-POD events, but with minimal hassle
- on simple plugins that "don't care" about these more advanced features.
- */
- uint16_t type;
-
- /**
- The size of the data portion of this event in bytes, which immediately
- follows. The header size (12 bytes) is not included in this value.
- */
- uint16_t size;
-
- /* size bytes of data follow here */
-} LV2_Event;
-
-/**
- A buffer of LV2 events (header only).
-
- Like events (which this contains) an event buffer is a single chunk of POD:
- the entire buffer (including contents) can be copied with a single memcpy.
- The first contained event begins sizeof(LV2_EventBuffer) bytes after the
- start of this struct.
-
- After this header, the buffer contains an event header (defined by struct
- LV2_Event), followed by that event's contents (padded to 64 bits), followed
- by another header, etc:
-
- | | | | | | |
- | | | | | | | | | | | | | | | | | | | | | | | | |
- |FRAMES |SUBFRMS|TYP|LEN|DATA..DATA..PAD|FRAMES | ...
-*/
-LV2_DEPRECATED
-typedef struct {
- /**
- The contents of the event buffer. This may or may not reside in the
- same block of memory as this header, plugins must not assume either.
- The host guarantees this points to at least capacity bytes of allocated
- memory (though only size bytes of that are valid events).
- */
- uint8_t* data;
-
- /**
- The size of this event header in bytes (including everything).
-
- This is to allow for extending this header in the future without
- breaking binary compatibility. Whenever this header is copied,
- it MUST be done using this field (and NOT the sizeof this struct).
- */
- uint16_t header_size;
-
- /**
- The type of the time stamps for events in this buffer.
- As a special exception, '0' always means audio frames and subframes
- (1/UINT32_MAX'th of a frame) in the sample rate passed to instantiate.
-
- INPUTS: The host must set this field to the numeric ID of some URI
- defining the meaning of the frames/subframes fields of contained events
- (obtained by the LV2 URI Map uri_to_id function with the URI of this
- extension as the 'map' argument, see lv2_uri_map.h). The host must
- never pass a plugin a buffer which uses a stamp type the plugin does not
- 'understand'. The value of this field must never change, except when
- connect_port is called on the input port, at which time the host MUST
- have set the stamp_type field to the value that will be used for all
- subsequent run calls.
-
- OUTPUTS: The plugin may set this to any value that has been returned
- from uri_to_id with the URI of this extension for a 'map' argument.
- When connected to a buffer with connect_port, output ports MUST set this
- field to the type of time stamp they will be writing. On any call to
- connect_port on an event input port, the plugin may change this field on
- any output port, it is the responsibility of the host to check if any of
- these values have changed and act accordingly.
- */
- uint16_t stamp_type;
-
- /**
- The number of events in this buffer.
-
- INPUTS: The host must set this field to the number of events contained
- in the data buffer before calling run(). The plugin must not change
- this field.
-
- OUTPUTS: The plugin must set this field to the number of events it has
- written to the buffer before returning from run(). Any initial value
- should be ignored by the plugin.
- */
- uint32_t event_count;
-
- /**
- The size of the data buffer in bytes.
- This is set by the host and must not be changed by the plugin.
- The host is allowed to change this between run() calls.
- */
- uint32_t capacity;
-
- /**
- The size of the initial portion of the data buffer containing data.
-
- INPUTS: The host must set this field to the number of bytes used
- by all events it has written to the buffer (including headers)
- before calling the plugin's run().
- The plugin must not change this field.
-
- OUTPUTS: The plugin must set this field to the number of bytes
- used by all events it has written to the buffer (including headers)
- before returning from run().
- Any initial value should be ignored by the plugin.
- */
- uint32_t size;
-} LV2_Event_Buffer;
-
-/**
- Opaque pointer to host data.
-*/
-LV2_DEPRECATED
-typedef void* LV2_Event_Callback_Data;
-
-/**
- Non-POD events feature.
-
- To support this feature the host must pass an LV2_Feature struct to the
- plugin's instantiate method with URI "http://lv2plug.in/ns/ext/event"
- and data pointed to an instance of this struct. Note this feature
- is not mandatory to support the event extension.
-*/
-LV2_DEPRECATED
-typedef struct {
- /**
- Opaque pointer to host data.
-
- The plugin MUST pass this to any call to functions in this struct.
- Otherwise, it must not be interpreted in any way.
- */
- LV2_Event_Callback_Data callback_data;
-
- /**
- Take a reference to a non-POD event.
-
- If a plugin receives an event with type 0, it means the event is a
- pointer to some object in memory and not a flat sequence of bytes
- in the buffer. When receiving a non-POD event, the plugin already
- has an implicit reference to the event. If the event is stored AND
- passed to an output, lv2_event_ref MUST be called on that event.
- If the event is only stored OR passed through, this is not necessary
- (as the plugin already has 1 implicit reference).
-
- @param event An event received at an input that will not be copied to
- an output or stored in any way.
-
- @param context The calling context. Like event types, this is a mapped
- URI, see lv2_context.h. Simple plugin with just a run() method should
- pass 0 here (the ID of the 'standard' LV2 run context). The host
- guarantees that this function is realtime safe iff the context is
- realtime safe.
-
- PLUGINS THAT VIOLATE THESE RULES MAY CAUSE CRASHES AND MEMORY LEAKS.
- */
- uint32_t (*lv2_event_ref)(LV2_Event_Callback_Data callback_data,
- LV2_Event* event);
-
- /**
- Drop a reference to a non-POD event.
-
- If a plugin receives an event with type 0, it means the event is a
- pointer to some object in memory and not a flat sequence of bytes
- in the buffer. If the plugin does not pass the event through to
- an output or store it internally somehow, it MUST call this function
- on the event (more information on using non-POD events below).
-
- @param event An event received at an input that will not be copied to an
- output or stored in any way.
-
- @param context The calling context. Like event types, this is a mapped
- URI, see lv2_context.h. Simple plugin with just a run() method should
- pass 0 here (the ID of the 'standard' LV2 run context). The host
- guarantees that this function is realtime safe iff the context is
- realtime safe.
-
- PLUGINS THAT VIOLATE THESE RULES MAY CAUSE CRASHES AND MEMORY LEAKS.
- */
- uint32_t (*lv2_event_unref)(LV2_Event_Callback_Data callback_data,
- LV2_Event* event);
-} LV2_Event_Feature;
-
-LV2_RESTORE_WARNINGS
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-/**
- @}
-*/
-
-#endif /* LV2_EVENT_H */
diff --git a/lv2/event/event.meta.ttl b/lv2/event/event.meta.ttl
deleted file mode 100644
index e9c26bc..0000000
--- a/lv2/event/event.meta.ttl
+++ /dev/null
@@ -1,256 +0,0 @@
-@prefix dcs: <http://ontologi.es/doap-changeset#> .
-@prefix doap: <http://usefulinc.com/ns/doap#> .
-@prefix ev: <http://lv2plug.in/ns/ext/event#> .
-@prefix foaf: <http://xmlns.com/foaf/0.1/> .
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-
-<http://lv2plug.in/ns/ext/event>
- a doap:Project ;
- doap:license <http://opensource.org/licenses/isc> ;
- doap:name "LV2 Event" ;
- doap:shortdesc "A port-based real-time generic event interface." ;
- doap:created "2008-00-00" ;
- doap:developer <http://drobilla.net/drobilla#me> ,
- <http://lv2plug.in/ns/meta#larsl> ;
- doap:release [
- doap:revision "1.14" ;
- doap:created "2022-05-26" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.18.4.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Fix spelling errors."
- ]
- ]
- ] , [
- doap:revision "1.12" ;
- doap:created "2014-08-08" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.10.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Minor documentation improvements."
- ]
- ]
- ] , [
- doap:revision "1.10" ;
- doap:created "2013-01-13" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.4.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Fix incorrect return type in lv2_event_get()."
- ]
- ]
- ] , [
- doap:revision "1.8" ;
- doap:created "2012-10-14" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.2.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Make event iterator gracefully handle optional ports."
- ] , [
- rdfs:label "Remove asserts from event-helper.h."
- ] , [
- rdfs:label "Use more precise domain and range for EventPort properties."
- ] , [
- rdfs:label "Use consistent label style."
- ]
- ]
- ] , [
- doap:revision "1.6" ;
- doap:created "2012-04-17" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.0.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Fix bug in lv2_event_reserve()."
- ] , [
- rdfs:label "Fix incorrect ranges of some properties."
- ] , [
- rdfs:label "Merge with unified LV2 package."
- ]
- ]
- ] , [
- doap:revision "1.4" ;
- doap:created "2011-11-21" ;
- doap:file-release <http://lv2plug.in/spec/lv2-event-1.4.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Update packaging."
- ]
- ]
- ] , [
- doap:revision "1.2" ;
- doap:created "2011-05-26" ;
- doap:file-release <http://lv2plug.in/spec/lv2-event-1.2.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Add build system (for installation)."
- ] , [
- rdfs:label "Convert documentation to HTML and use lv2:documentation."
- ] , [
- rdfs:label "Use lv2:Specification to be discovered as an extension."
- ]
- ]
- ] , [
- doap:revision "1.0" ;
- doap:created "2010-11-24" ;
- doap:file-release <http://lv2plug.in/spec/lv2-event-1.0.tar.gz> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Initial release."
- ]
- ]
- ] ;
- lv2:documentation """
-
-<span class="warning">This extension is deprecated.</span> New implementations
-should use <a href="atom.html">LV2 Atom</a> instead.
-
-This extension defines a generic time-stamped event port type, which can be
-used to create plugins that read and write real-time events, such as MIDI,
-OSC, or any other type of event payload. The type(s) of event supported by
-a port is defined in the data file for a plugin, for example:
-
- :::turtle
- <http://example.org/some-plugin>
- 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" ;
- ] .
-
-"""^^lv2:Markdown .
-
-ev:EventPort
- lv2:documentation """
-
-Ports of this type will be connected to a struct of type LV2_Event_Buffer,
-defined in event.h. These ports contain a sequence of generic events (possibly
-several types mixed in a single stream), the specific types of which are
-defined by some URI in another LV2 extension.
-
-"""^^lv2:Markdown .
-
-ev:Event
- a rdfs:Class ;
- rdfs:label "Event" ;
- lv2:documentation """
-
-An ev:EventPort contains an LV2_Event_Buffer which contains a sequence of these
-events. The binary format of LV2 events is defined by the LV2_Event struct in
-event.h.
-
-Specific event types (such as MIDI or OSC) are defined by extensions, and
-should be rdfs:subClassOf this class.
-
-"""^^lv2:Markdown .
-
-ev:TimeStamp
- lv2:documentation """
-
-This defines the meaning of the 'frames' and 'subframes' fields of an LV2_Event
-(both unsigned 32-bit integers).
-
-"""^^lv2:Markdown .
-
-ev:FrameStamp
- lv2:documentation """
-
-The default time stamp unit for an LV2 event: the frames field represents audio
-frames (in the sample rate passed to instantiate), and the subframes field is
-1/UINT32_MAX of a frame.
-
-"""^^lv2:Markdown .
-
-ev:generic
- lv2:documentation """
-
-Indicates that this port does something meaningful for any event type. This is
-useful for things like event mixers, delays, serialisers, and so on.
-
-If this property is set, hosts should consider the port suitable for any type
-of event. Otherwise, hosts should consider the port 'appropriate' only for the
-specific event types listed with :supportsEvent. Note that plugins must
-gracefully handle unknown event types whether or not this property is present.
-
-"""^^lv2:Markdown .
-
-ev:supportsEvent
- lv2:documentation """
-
-Indicates that this port supports or "understands" a certain event type.
-
-For input ports, this means the plugin understands and does something useful
-with events of this type. For output ports, this means the plugin may generate
-events of this type. If the plugin never actually generates events of this
-type, but might pass them through from an input, this property should not be
-set (use ev:inheritsEvent for that).
-
-Plugins with event input ports must always gracefully handle any type of event,
-even if it does not 'support' it. This property should always be set for event
-types the plugin understands/generates so hosts can discover plugins
-appropriate for a given scenario (for example, plugins with a MIDI input).
-Hosts are not expected to consider event ports suitable for some type of event
-if the relevant :supportsEvent property is not set, unless the ev:generic
-property for that port is also set.
-
-
-"""^^lv2:Markdown .
-
-ev:inheritsEvent
- lv2:documentation """
-
-Indicates that this output port might pass through events that arrived at some
-other input port (or generate an event of the same type as events arriving at
-that input). The host must always check the stamp type of all outputs when
-connecting an input, but this property should be set whenever it applies.
-
-
-"""^^lv2:Markdown .
-
-ev:supportsTimeStamp
- lv2:documentation """
-
-Indicates that this port supports or "understands" a certain time stamp type.
-Meaningful only for input ports, the host must never connect a port to an event
-buffer with a time stamp type that isn't supported by the port.
-
-"""^^lv2:Markdown .
-
-ev:generatesTimeStamp
- lv2:documentation """
-
-Indicates that this port may output a certain time stamp type, regardless of
-the time stamp type of any input ports.
-
-If the port outputs stamps based on what type inputs are connected to, this
-property should not be set (use the ev:inheritsTimeStamp property for that).
-Hosts MUST check the time_stamp value of any output port buffers after a call
-to connect_port on ANY event input port on the plugin.
-
-If the plugin changes the stamp_type field of an output event buffer during a
-call to run(), the plugin must call the stamp_type_changed function provided by
-the host in the LV2_Event_Feature struct, if it is non-NULL.
-
-"""^^lv2:Markdown .
-
-ev:inheritsTimeStamp
- lv2:documentation """
-
-Indicates that this port follows the time stamp type of an input port.
-
-This property is not necessary, but it should be set for outputs that base
-their output type on an input port so the host can make more sense of the
-plugin and provide a more sensible interface.
-
-"""^^lv2:Markdown .
-
diff --git a/lv2/event/event.ttl b/lv2/event/event.ttl
deleted file mode 100644
index 119e606..0000000
--- a/lv2/event/event.ttl
+++ /dev/null
@@ -1,87 +0,0 @@
-@prefix ev: <http://lv2plug.in/ns/ext/event#> .
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix owl: <http://www.w3.org/2002/07/owl#> .
-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-
-<http://lv2plug.in/ns/ext/event>
- a owl:Ontology ;
- owl:deprecated true ;
- rdfs:label "LV2 Event" ;
- rdfs:comment "A port-based real-time generic event interface." ;
- rdfs:seeAlso <event.h> ,
- <event-helpers.h> ,
- <event.meta.ttl> ;
- owl:imports <http://lv2plug.in/ns/lv2core> .
-
-ev:EventPort
- a rdfs:Class ;
- rdfs:label "Event Port" ;
- rdfs:subClassOf lv2:Port ;
- rdfs:comment "An LV2 event port." .
-
-ev:Event
- a rdfs:Class ;
- rdfs:label "Event" ;
- rdfs:comment "A single generic time-stamped event." .
-
-ev:TimeStamp
- a rdfs:Class ;
- rdfs:label "Event Time Stamp" ;
- rdfs:comment "The time stamp of an Event." .
-
-ev:FrameStamp
- a rdfs:Class ;
- rdfs:subClassOf ev:TimeStamp ;
- rdfs:label "Audio Frame Time Stamp" ;
- rdfs:comment "The default time stamp unit for an event." .
-
-ev:generic
- a lv2:PortProperty ;
- rdfs:label "generic event port" ;
- rdfs:comment "Port works with generic events." .
-
-ev:supportsEvent
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:domain ev:EventPort ;
- rdfs:range rdfs:Class ;
- rdfs:label "supports event type" ;
- rdfs:comment "An event type supported by this port." .
-
-ev:inheritsEvent
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:domain ev:EventPort ,
- lv2:OutputPort ;
- rdfs:range lv2:Port ;
- rdfs:label "inherits event type" ;
- rdfs:comment "Output port inherits event types from an input port." .
-
-ev:supportsTimeStamp
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:domain ev:EventPort ,
- lv2:InputPort ;
- rdfs:range rdfs:Class ;
- rdfs:label "supports time stamp type" ;
- rdfs:comment "A time stamp type supported by this input port." .
-
-ev:generatesTimeStamp
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:domain ev:EventPort ,
- lv2:OutputPort ;
- rdfs:range rdfs:Class ;
- rdfs:label "generates time stamp type" ;
- rdfs:comment "A time stamp type generated by this input port." .
-
-ev:inheritsTimeStamp
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:domain ev:EventPort ,
- lv2:OutputPort ;
- rdfs:range lv2:Port ;
- rdfs:label "inherits time stamp type" ;
- rdfs:comment "Output port inherits time stamp types from an input port." .
-
diff --git a/lv2/event/manifest.ttl b/lv2/event/manifest.ttl
deleted file mode 100644
index 230fe73..0000000
--- a/lv2/event/manifest.ttl
+++ /dev/null
@@ -1,9 +0,0 @@
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-
-<http://lv2plug.in/ns/ext/event>
- a lv2:Specification ;
- lv2:minorVersion 1 ;
- lv2:microVersion 14 ;
- rdfs:seeAlso <event.ttl> .
-
diff --git a/lv2/event/meson.build b/lv2/event/meson.build
deleted file mode 100644
index 020acc8..0000000
--- a/lv2/event/meson.build
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'event'
-path = 'ns' / 'ext' / 'event'
-
-event_data = files(
- 'event.meta.ttl',
- 'event.ttl',
- 'manifest.ttl',
-)
-
-headers = files(
- 'event-helpers.h',
- 'event.h',
-)
-
-# Install specification bundle
-install_data(event_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / path)
-endif
-
-# Build documentation
-if build_docs
- lv2_event_docs = custom_target(
- name + '.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../../html',
- '--style-uri=../../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('event.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns' / 'ext',
- output: name + '.html',
- )
-endif