diff options
authorDavid Robillard <d@drobilla.net>2011-03-18 08:11:54 +0000
committerDavid Robillard <d@drobilla.net>2011-03-18 08:11:54 +0000
commitc818294fc259072596557ff27b2d63c50c02ed5a (patch)
parent4563511f171291a30f36d74ffb1ff81efcd6042e (diff)
Define pre-roll special case.
2 files changed, 8 insertions, 0 deletions
diff --git a/core.lv2/ChangeLog b/core.lv2/ChangeLog
index 507a791..1a4e8a8 100644
--- a/core.lv2/ChangeLog
+++ b/core.lv2/ChangeLog
@@ -11,6 +11,7 @@ lv2core (UNRELEASED) unstable; urgency=low
* More precisely define properties with OWL
* Move project metadata to manifest
* Add lv2:enumeration port property.
+ * Define run() pre-roll special case (sample_count == 0).
-- David Robillard <d@drobilla.net> UNRELEASED
diff --git a/core.lv2/lv2.h b/core.lv2/lv2.h
index 7706ef1..189cbd3 100644
--- a/core.lv2/lv2.h
+++ b/core.lv2/lv2.h
@@ -198,6 +198,13 @@ typedef struct _LV2_Descriptor {
things that the plugin MUST NOT do within the run() function (see
lv2.ttl for details).
+ As a special case, when @a sample_count == 0, the plugin should update
+ any output ports that represent a single instant in time (e.g. control
+ ports, but not audio ports). This is particularly useful for latent
+ plugins, which should update their latency output port so hosts can
+ pre-roll plugins to compute latency. Plugins MUST NOT crash when
+ @a sample_count == 0.
@param instance Instance to be run.
@param sample_count The block size (in samples) for which the plugin