From 1eccbe4355685b322194df72b5de2382d5290b3b Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 7 Jul 2022 18:59:32 -0400 Subject: 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. --- lv2/resize-port/manifest.ttl | 9 ---- lv2/resize-port/meson.build | 40 ---------------- lv2/resize-port/resize-port.h | 89 ------------------------------------ lv2/resize-port/resize-port.meta.ttl | 74 ------------------------------ lv2/resize-port/resize-port.ttl | 37 --------------- 5 files changed, 249 deletions(-) delete mode 100644 lv2/resize-port/manifest.ttl delete mode 100644 lv2/resize-port/meson.build delete mode 100644 lv2/resize-port/resize-port.h delete mode 100644 lv2/resize-port/resize-port.meta.ttl delete mode 100644 lv2/resize-port/resize-port.ttl (limited to 'lv2/resize-port') diff --git a/lv2/resize-port/manifest.ttl b/lv2/resize-port/manifest.ttl deleted file mode 100644 index 9fae8b8..0000000 --- a/lv2/resize-port/manifest.ttl +++ /dev/null @@ -1,9 +0,0 @@ -@prefix lv2: . -@prefix rdfs: . - - - a lv2:Specification ; - lv2:minorVersion 1 ; - lv2:microVersion 0 ; - rdfs:seeAlso . - diff --git a/lv2/resize-port/meson.build b/lv2/resize-port/meson.build deleted file mode 100644 index cd18a2c..0000000 --- a/lv2/resize-port/meson.build +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 2022 David Robillard -# SPDX-License-Identifier: CC0-1.0 OR ISC - -name = 'resize-port' -path = 'ns' / 'ext' / 'resize-port' - -resize_port_data = files( - 'resize-port.meta.ttl', - 'resize-port.ttl', - 'manifest.ttl', -) - -headers = files( - 'resize-port.h', -) - -# Install specification bundle -install_data(resize_port_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_resize_port_docs = custom_target( - name + '.html', - command: lv2specgen_command_prefix + [ - '--docdir=../../html', - '--style-uri=../../aux/style.css', - '@INPUT@', - '@OUTPUT@', - ], - depends: doc_deps, - input: files('resize-port.ttl'), - install: true, - install_dir: lv2_docdir / 'ns' / 'ext', - output: name + '.html', - ) -endif diff --git a/lv2/resize-port/resize-port.h b/lv2/resize-port/resize-port.h deleted file mode 100644 index a3a11c4..0000000 --- a/lv2/resize-port/resize-port.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - 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_RESIZE_PORT_H -#define LV2_RESIZE_PORT_H - -/** - @defgroup resize-port Resize Port - @ingroup lv2 - - Dynamically sized LV2 port buffers. - - @{ -*/ - -#include -#include - -// clang-format off - -#define LV2_RESIZE_PORT_URI "http://lv2plug.in/ns/ext/resize-port" ///< http://lv2plug.in/ns/ext/resize-port -#define LV2_RESIZE_PORT_PREFIX LV2_RESIZE_PORT_URI "#" ///< http://lv2plug.in/ns/ext/resize-port# - -#define LV2_RESIZE_PORT__asLargeAs LV2_RESIZE_PORT_PREFIX "asLargeAs" ///< http://lv2plug.in/ns/ext/resize-port#asLargeAs -#define LV2_RESIZE_PORT__minimumSize LV2_RESIZE_PORT_PREFIX "minimumSize" ///< http://lv2plug.in/ns/ext/resize-port#minimumSize -#define LV2_RESIZE_PORT__resize LV2_RESIZE_PORT_PREFIX "resize" ///< http://lv2plug.in/ns/ext/resize-port#resize - -// clang-format on - -#ifdef __cplusplus -extern "C" { -#endif - -/** A status code for state functions. */ -typedef enum { - LV2_RESIZE_PORT_SUCCESS = 0, /**< Completed successfully. */ - LV2_RESIZE_PORT_ERR_UNKNOWN = 1, /**< Unknown error. */ - LV2_RESIZE_PORT_ERR_NO_SPACE = 2 /**< Insufficient space. */ -} LV2_Resize_Port_Status; - -/** Opaque data for resize method. */ -typedef void* LV2_Resize_Port_Feature_Data; - -/** Host feature to allow plugins to resize their port buffers. */ -typedef struct { - /** Opaque data for resize method. */ - LV2_Resize_Port_Feature_Data data; - - /** - Resize a port buffer to at least `size` bytes. - - This function MAY return an error, in which case the port buffer was not - resized and the port is still connected to the same location. Plugins - MUST gracefully handle this situation. - - This function is in the audio threading class. - - The host MUST preserve the contents of the port buffer when resizing. - - Plugins MAY resize a port many times in a single run callback. Hosts - SHOULD make this as inexpensive as possible. - */ - LV2_Resize_Port_Status (*resize)(LV2_Resize_Port_Feature_Data data, - uint32_t index, - size_t size); -} LV2_Resize_Port_Resize; - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -/** - @} -*/ - -#endif /* LV2_RESIZE_PORT_H */ diff --git a/lv2/resize-port/resize-port.meta.ttl b/lv2/resize-port/resize-port.meta.ttl deleted file mode 100644 index d44620c..0000000 --- a/lv2/resize-port/resize-port.meta.ttl +++ /dev/null @@ -1,74 +0,0 @@ -@prefix dcs: . -@prefix doap: . -@prefix foaf: . -@prefix lv2: . -@prefix rdfs: . -@prefix rsz: . - - - a doap:Project ; - doap:name "LV2 Resize Port" ; - doap:shortdesc "Dynamically sized LV2 port buffers." ; - doap:created "2007-00-00" ; - doap:developer ; - doap:release [ - doap:revision "1.0" ; - doap:created "2012-04-17" ; - doap:file-release ; - dcs:blame ; - 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/resize-port.ttl b/lv2/resize-port/resize-port.ttl deleted file mode 100644 index a6712e7..0000000 --- a/lv2/resize-port/resize-port.ttl +++ /dev/null @@ -1,37 +0,0 @@ -@prefix lv2: . -@prefix owl: . -@prefix rdf: . -@prefix rdfs: . -@prefix rsz: . -@prefix xsd: . - - - a owl:Ontology ; - rdfs:label "LV2 Resize Port" ; - rdfs:comment "Dynamically sized LV2 port buffers." ; - rdfs:seeAlso , - ; - owl:imports . - -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." . - -- cgit v1.2.1