From 4db67120efca2d4c200d2e1ba5cf3d7b97cab97e Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 22 Sep 2018 20:38:01 +0200 Subject: Install standard headers to simpler include paths --- lv2/buf-size/buf-size.h | 44 +++++++++++++ lv2/buf-size/buf-size.ttl | 129 +++++++++++++++++++++++++++++++++++++ lv2/buf-size/lv2-buf-size.doap.ttl | 44 +++++++++++++ lv2/buf-size/manifest.ttl | 9 +++ 4 files changed, 226 insertions(+) create mode 100644 lv2/buf-size/buf-size.h create mode 100644 lv2/buf-size/buf-size.ttl create mode 100644 lv2/buf-size/lv2-buf-size.doap.ttl create mode 100644 lv2/buf-size/manifest.ttl (limited to 'lv2/buf-size') diff --git a/lv2/buf-size/buf-size.h b/lv2/buf-size/buf-size.h new file mode 100644 index 0000000..900f8fa --- /dev/null +++ b/lv2/buf-size/buf-size.h @@ -0,0 +1,44 @@ +/* + Copyright 2007-2016 David Robillard + + 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_BUF_SIZE_H +#define LV2_BUF_SIZE_H + +/** + @defgroup buf-size Buffer Size + + Access to, and restrictions on, buffer sizes; see + for details. + + @{ +*/ + +#define LV2_BUF_SIZE_URI "http://lv2plug.in/ns/ext/buf-size" ///< http://lv2plug.in/ns/ext/buf-size +#define LV2_BUF_SIZE_PREFIX LV2_BUF_SIZE_URI "#" ///< http://lv2plug.in/ns/ext/buf-size# + +#define LV2_BUF_SIZE__boundedBlockLength LV2_BUF_SIZE_PREFIX "boundedBlockLength" ///< http://lv2plug.in/ns/ext/buf-size#boundedBlockLength +#define LV2_BUF_SIZE__fixedBlockLength LV2_BUF_SIZE_PREFIX "fixedBlockLength" ///< http://lv2plug.in/ns/ext/buf-size#fixedBlockLength +#define LV2_BUF_SIZE__maxBlockLength LV2_BUF_SIZE_PREFIX "maxBlockLength" ///< http://lv2plug.in/ns/ext/buf-size#maxBlockLength +#define LV2_BUF_SIZE__minBlockLength LV2_BUF_SIZE_PREFIX "minBlockLength" ///< http://lv2plug.in/ns/ext/buf-size#minBlockLength +#define LV2_BUF_SIZE__nominalBlockLength LV2_BUF_SIZE_PREFIX "nominalBlockLength" ///< http://lv2plug.in/ns/ext/buf-size#nominalBlockLength +#define LV2_BUF_SIZE__powerOf2BlockLength LV2_BUF_SIZE_PREFIX "powerOf2BlockLength" ///< http://lv2plug.in/ns/ext/buf-size#powerOf2BlockLength +#define LV2_BUF_SIZE__sequenceSize LV2_BUF_SIZE_PREFIX "sequenceSize" ///< http://lv2plug.in/ns/ext/buf-size#sequenceSize + +/** + @} +*/ + +#endif /* LV2_BUF_SIZE_H */ diff --git a/lv2/buf-size/buf-size.ttl b/lv2/buf-size/buf-size.ttl new file mode 100644 index 0000000..f8a9d60 --- /dev/null +++ b/lv2/buf-size/buf-size.ttl @@ -0,0 +1,129 @@ +@prefix bufsz: . +@prefix lv2: . +@prefix opts: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . + + + a lv2:Specification ; + rdfs:seeAlso , + ; + lv2:documentation """ +

This extension defines a facility for plugins to get information about the +block length (the sample_count parameter of LV2_Descriptor::run) and +port buffer sizes, as well as several features which can be used to restrict +the block length.

+ +

This extension defines features and properties but has no special purpose +API of its own. The host provides all the relevant information to the plugin +as options.

+ +

To require restrictions on the block length, plugins can require additional +features: bufsz:boundedBlockLength, bufsz:powerOf2BlockLength, and +bufsz:fixedBlockLength. These features are data-only, that is they merely +indicate a restriction and do not carry any data or API.

+""" . + +bufsz:boundedBlockLength + a lv2:Feature ; + lv2:documentation """ +

A feature that indicates the host will provide both the bufsz:minBlockLength +and bufsz:maxBlockLength options to the plugin. Plugins that copy data from +audio inputs can require this feature to ensure they know how much space is +required for auxiliary buffers. Note the minimum may be zero, this feature is +mainly useful to ensure a maximum is available.

+ +

All hosts SHOULD support this feature, since it is simple to support and +necessary for any plugins that may need to copy the input.

+""" . + +bufsz:fixedBlockLength + a lv2:Feature ; + lv2:documentation """ +

A feature that indicates the host will always call LV2_Descriptor::run() +with the same value for sample_count. This length MUST be provided as the +value of both the bufsz:minBlockLength and bufsz:maxBlockLength options.

+ +

Note that requiring this feature may severely limit the number of hosts +capable of running the plugin.

+""" . + +bufsz:powerOf2BlockLength + a lv2:Feature ; + lv2:documentation """ +

A feature that indicates the host will always call LV2_Descriptor::run() +with a power of two sample_count. Note that this feature does not guarantee +the value is the same each call, to guarantee a fixed power of two block length +plugins must require both this feature and bufsz:fixedBlockLength.

+ +

Note that requiring this feature may severely limit the number of hosts +capable of running the plugin.

+""" . + +bufsz:coarseBlockLength + a lv2:Feature ; + rdfs:label "coarse block length" ; + lv2:documentation """ +

A feature that indicates the plugin prefers coarse, regular block lengths. +For example, plugins that do not implement sample-accurate control use this +feature to indicate that the host should not split the run cycle because +controls have changed.

+ +

Note that this feature is merely a hint, and does not guarantee a fixed +block length. The run cycle may be split for other reasons, and the blocksize +itself may change anytime.

+""" . + +bufsz:maxBlockLength + a rdf:Property , + owl:DatatypeProperty , + opts:Option ; + rdfs:label "maximum block length" ; + rdfs:range xsd:nonNegativeInteger ; + lv2:documentation """ +

The maximum block length the host will ever request the plugin to process at +once, that is, the maximum sample_count parameter that will ever +be passed to LV2_Descriptor::run().

+""" . + +bufsz:minBlockLength + a rdf:Property , + owl:DatatypeProperty , + opts:Option ; + rdfs:label "minimum block length" ; + rdfs:range xsd:nonNegativeInteger ; + lv2:documentation """ +

The minimum block length the host will ever request the plugin to process at +once, that is, the minimum sample_count parameter that will ever +be passed to LV2_Descriptor::run().

+""" . + +bufsz:nominalBlockLength + a rdf:Property , + owl:DatatypeProperty , + opts:Option ; + rdfs:label "nominal block length" ; + rdfs:range xsd:nonNegativeInteger ; + lv2:documentation """ +

The typical block length the host will request the plugin to process at +once, that is, the typical sample_count parameter that will +be passed to LV2_Descriptor::run(). This will usually be equivalent, or close +to, the maximum block length, but there are no strong guarantees about this +value whatsoever. Plugins may use this length for optimization purposes, but +MUST NOT assume the host will always process blocks of this length. In +particular, the host MAY process longer blocks.

+""" . + +bufsz:sequenceSize + a rdf:Property , + owl:DatatypeProperty , + opts:Option ; + rdfs:label "sequence size" ; + rdfs:range xsd:nonNegativeInteger ; + lv2:documentation """ +

The maximum size of a sequence, in bytes. This should be provided as an +option by hosts that support event ports (including but not limited to MIDI), +so plugins have the ability to allocate auxiliary buffers large enough to copy +the input.

""" . diff --git a/lv2/buf-size/lv2-buf-size.doap.ttl b/lv2/buf-size/lv2-buf-size.doap.ttl new file mode 100644 index 0000000..bc6ffe9 --- /dev/null +++ b/lv2/buf-size/lv2-buf-size.doap.ttl @@ -0,0 +1,44 @@ +@prefix dcs: . +@prefix doap: . +@prefix foaf: . +@prefix rdfs: . + + + a doap:Project ; + doap:name "LV2 Buf Size" ; + doap:shortdesc "Access to, and restrictions on, buffer sizes." ; + doap:created "2012-08-07" ; + doap:developer ; + doap:release [ + doap:revision "1.4" ; + doap:created "2015-09-18" ; + doap:file-release ; + dcs:blame ; + dcs:changeset [ + dcs:item [ + rdfs:label "Add bufsz:nominalBlockLength option." + ] , [ + rdfs:label "Add bufsz:coarseBlockLength feature." + ] + ] + ] , [ + doap:revision "1.2" ; + doap:created "2012-12-21" ; + doap:file-release ; + dcs:blame ; + dcs:changeset [ + dcs:item [ + rdfs:label "Fix typo in bufsz:sequenceSize label." + ] + ] + ] , [ + doap:revision "1.0" ; + doap:created "2012-10-14" ; + doap:file-release ; + dcs:blame ; + dcs:changeset [ + dcs:item [ + rdfs:label "Initial release." + ] + ] + ] . diff --git a/lv2/buf-size/manifest.ttl b/lv2/buf-size/manifest.ttl new file mode 100644 index 0000000..aeccc99 --- /dev/null +++ b/lv2/buf-size/manifest.ttl @@ -0,0 +1,9 @@ +@prefix lv2: . +@prefix rdfs: . + + + a lv2:Specification ; + lv2:minorVersion 1 ; + lv2:microVersion 4 ; + rdfs:seeAlso . + -- cgit v1.2.1