aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/resize-port.lv2
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2022-07-07 18:59:32 -0400
committerDavid Robillard <d@drobilla.net>2022-07-17 18:14:00 -0400
commit1eccbe4355685b322194df72b5de2382d5290b3b (patch)
tree0677b5c2f577a5024c351a164527f4bdd91a639b /lv2/resize-port.lv2
parentd4a970f6962dda28133290194832b726b566ddab (diff)
downloadlv2-1eccbe4355685b322194df72b5de2382d5290b3b.tar.xz
Rearrange source tree to be directly usable by dependants
This allows the LV2 source distribution to be used as an include path for compilers and an LV2_PATH for applications, at the expense of self-contained bundles. That's a nice idea, but it made LV2 itself weird and annoying to depend on. This rearranges things so that directories in the source tree correspond more closely to installation directories. To make this possible, the "aux" directory in the documentation output has been changed to "style", to avoid the reserved name "aux" on Windows.
Diffstat (limited to 'lv2/resize-port.lv2')
-rw-r--r--lv2/resize-port.lv2/manifest.ttl9
-rw-r--r--lv2/resize-port.lv2/resize-port.meta.ttl74
-rw-r--r--lv2/resize-port.lv2/resize-port.ttl36
3 files changed, 119 insertions, 0 deletions
diff --git a/lv2/resize-port.lv2/manifest.ttl b/lv2/resize-port.lv2/manifest.ttl
new file mode 100644
index 0000000..9fae8b8
--- /dev/null
+++ b/lv2/resize-port.lv2/manifest.ttl
@@ -0,0 +1,9 @@
+@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+
+<http://lv2plug.in/ns/ext/resize-port>
+ a lv2:Specification ;
+ lv2:minorVersion 1 ;
+ lv2:microVersion 0 ;
+ rdfs:seeAlso <resize-port.ttl> .
+
diff --git a/lv2/resize-port.lv2/resize-port.meta.ttl b/lv2/resize-port.lv2/resize-port.meta.ttl
new file mode 100644
index 0000000..d44620c
--- /dev/null
+++ b/lv2/resize-port.lv2/resize-port.meta.ttl
@@ -0,0 +1,74 @@
+@prefix dcs: <http://ontologi.es/doap-changeset#> .
+@prefix doap: <http://usefulinc.com/ns/doap#> .
+@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#> .
+@prefix rsz: <http://lv2plug.in/ns/ext/resize-port#> .
+
+<http://lv2plug.in/ns/ext/resize-port>
+ a doap:Project ;
+ doap:name "LV2 Resize Port" ;
+ doap:shortdesc "Dynamically sized LV2 port buffers." ;
+ doap:created "2007-00-00" ;
+ doap:developer <http://drobilla.net/drobilla#me> ;
+ doap:release [
+ doap:revision "1.0" ;
+ 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 "Initial release."
+ ]
+ ]
+ ] ;
+ lv2:documentation """
+
+This extension defines a feature, rsz:resize, which allows plugins to
+dynamically resize their output port buffers.
+
+In addition to the dynamic feature, there are properties which describe the
+space required for a particular port buffer which can be used statically in
+data files.
+
+"""^^lv2:Markdown .
+
+rsz:resize
+ lv2:documentation """
+
+A feature to resize output port buffers in LV2_Plugin_Descriptor::run().
+
+To support this feature, the host must pass an LV2_Feature to the plugin's
+instantiate method with URI LV2_RESIZE_PORT__resize and a pointer to a
+LV2_Resize_Port_Resize structure. This structure provides a resize_port
+function which plugins may use to resize output port buffers as necessary.
+
+"""^^lv2:Markdown .
+
+rsz:asLargeAs
+ lv2:documentation """
+
+Indicates that a port requires at least as much buffer space as the port with
+the given symbol on the same plugin instance. This may be used for any ports,
+but is generally most useful to indicate an output port must be at least as
+large as some input port (because it will copy from it). If a port is
+asLargeAs several ports, it is asLargeAs the largest such port (not the sum of
+those ports' sizes).
+
+The host guarantees that whenever an ObjectPort's run method is called, any
+output `O` that is rsz:asLargeAs an input `I` is connected to a buffer large
+enough to copy `I`, or `NULL` if the port is lv2:connectionOptional.
+
+"""^^lv2:Markdown .
+
+rsz:minimumSize
+ lv2:documentation """
+
+Indicates that a port requires a buffer at least this large, in bytes. Any
+host that supports the resize-port feature MUST connect any port with a
+minimumSize specified to a buffer at least as large as the value given for this
+property. Any host, especially those that do NOT support dynamic port
+resizing, SHOULD do so or reduced functionality may result.
+
+"""^^lv2:Markdown .
+
diff --git a/lv2/resize-port.lv2/resize-port.ttl b/lv2/resize-port.lv2/resize-port.ttl
new file mode 100644
index 0000000..6f42c8f
--- /dev/null
+++ b/lv2/resize-port.lv2/resize-port.ttl
@@ -0,0 +1,36 @@
+@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#> .
+@prefix rsz: <http://lv2plug.in/ns/ext/resize-port#> .
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+<http://lv2plug.in/ns/ext/resize-port>
+ a owl:Ontology ;
+ rdfs:label "LV2 Resize Port" ;
+ rdfs:comment "Dynamically sized LV2 port buffers." ;
+ rdfs:seeAlso <resize-port.meta.ttl> ;
+ owl:imports <http://lv2plug.in/ns/lv2core> .
+
+rsz:resize
+ a lv2:Feature ;
+ rdfs:label "resize" ;
+ rdfs:comment "A feature for resizing output port buffers." .
+
+rsz:asLargeAs
+ a rdf:Property ,
+ owl:DatatypeProperty ;
+ rdfs:domain lv2:Port ;
+ rdfs:range lv2:Symbol ;
+ rdfs:label "as large as" ;
+ rdfs:comment "Port that this port must have at least as much buffer space as." .
+
+rsz:minimumSize
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
+ rdfs:domain lv2:Port ;
+ rdfs:range xsd:nonNegativeInteger ;
+ rdfs:label "minimum size" ;
+ rdfs:comment "Minimum buffer size required by a port, in bytes." .
+