From c818294fc259072596557ff27b2d63c50c02ed5a Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 18 Mar 2011 08:11:54 +0000 Subject: Define pre-roll special case. --- core.lv2/ChangeLog | 1 + core.lv2/lv2.h | 7 +++++++ 2 files changed, 8 insertions(+) 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 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 -- cgit v1.2.1