aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/core
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/core
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/core')
-rw-r--r--lv2/core/attributes.h59
-rw-r--r--lv2/core/lv2.h485
-rw-r--r--lv2/core/lv2_util.h103
-rw-r--r--lv2/core/lv2core.meta.ttl915
-rw-r--r--lv2/core/lv2core.ttl675
-rw-r--r--lv2/core/manifest.ttl15
-rw-r--r--lv2/core/meson.build44
-rw-r--r--lv2/core/meta.ttl224
-rw-r--r--lv2/core/people.ttl51
9 files changed, 0 insertions, 2571 deletions
diff --git a/lv2/core/attributes.h b/lv2/core/attributes.h
deleted file mode 100644
index 81791a2..0000000
--- a/lv2/core/attributes.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- Copyright 2018 David Robillard <d@drobilla.net>
-
- 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_CORE_ATTRIBUTES_H
-#define LV2_CORE_ATTRIBUTES_H
-
-/**
- @defgroup attributes Attributes
- @ingroup lv2
-
- Macros for source code attributes.
-
- @{
-*/
-
-#if defined(__GNUC__) && __GNUC__ > 3
-# define LV2_DEPRECATED __attribute__((__deprecated__))
-#else
-# define LV2_DEPRECATED
-#endif
-
-#if defined(__clang__)
-# define LV2_DISABLE_DEPRECATION_WARNINGS \
- _Pragma("clang diagnostic push") \
- _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"")
-#elif defined(__GNUC__) && __GNUC__ > 4
-# define LV2_DISABLE_DEPRECATION_WARNINGS \
- _Pragma("GCC diagnostic push") \
- _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
-#else
-# define LV2_DISABLE_DEPRECATION_WARNINGS
-#endif
-
-#if defined(__clang__)
-# define LV2_RESTORE_WARNINGS _Pragma("clang diagnostic pop")
-#elif defined(__GNUC__) && __GNUC__ > 4
-# define LV2_RESTORE_WARNINGS _Pragma("GCC diagnostic pop")
-#else
-# define LV2_RESTORE_WARNINGS
-#endif
-
-/**
- @}
-*/
-
-#endif /* LV2_CORE_ATTRIBUTES_H */
diff --git a/lv2/core/lv2.h b/lv2/core/lv2.h
deleted file mode 100644
index 84c40a5..0000000
--- a/lv2/core/lv2.h
+++ /dev/null
@@ -1,485 +0,0 @@
-/*
- LV2 - An audio plugin interface specification.
- Copyright 2006-2012 Steve Harris, David Robillard.
-
- Based on LADSPA, Copyright 2000-2002 Richard W.E. Furse,
- Paul Barton-Davis, Stefan Westerfeld.
-
- 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_H_INCLUDED
-#define LV2_H_INCLUDED
-
-/**
- @defgroup lv2 LV2
-
- The LV2 specification.
-
- @{
-*/
-
-/**
- @defgroup lv2core LV2 Core
-
- Core LV2 specification.
-
- See <http://lv2plug.in/ns/lv2core> for details.
-
- @{
-*/
-
-#include <stdint.h>
-
-// clang-format off
-
-#define LV2_CORE_URI "http://lv2plug.in/ns/lv2core" ///< http://lv2plug.in/ns/lv2core
-#define LV2_CORE_PREFIX LV2_CORE_URI "#" ///< http://lv2plug.in/ns/lv2core#
-
-#define LV2_CORE__AllpassPlugin LV2_CORE_PREFIX "AllpassPlugin" ///< http://lv2plug.in/ns/lv2core#AllpassPlugin
-#define LV2_CORE__AmplifierPlugin LV2_CORE_PREFIX "AmplifierPlugin" ///< http://lv2plug.in/ns/lv2core#AmplifierPlugin
-#define LV2_CORE__AnalyserPlugin LV2_CORE_PREFIX "AnalyserPlugin" ///< http://lv2plug.in/ns/lv2core#AnalyserPlugin
-#define LV2_CORE__AudioPort LV2_CORE_PREFIX "AudioPort" ///< http://lv2plug.in/ns/lv2core#AudioPort
-#define LV2_CORE__BandpassPlugin LV2_CORE_PREFIX "BandpassPlugin" ///< http://lv2plug.in/ns/lv2core#BandpassPlugin
-#define LV2_CORE__CVPort LV2_CORE_PREFIX "CVPort" ///< http://lv2plug.in/ns/lv2core#CVPort
-#define LV2_CORE__ChorusPlugin LV2_CORE_PREFIX "ChorusPlugin" ///< http://lv2plug.in/ns/lv2core#ChorusPlugin
-#define LV2_CORE__CombPlugin LV2_CORE_PREFIX "CombPlugin" ///< http://lv2plug.in/ns/lv2core#CombPlugin
-#define LV2_CORE__CompressorPlugin LV2_CORE_PREFIX "CompressorPlugin" ///< http://lv2plug.in/ns/lv2core#CompressorPlugin
-#define LV2_CORE__ConstantPlugin LV2_CORE_PREFIX "ConstantPlugin" ///< http://lv2plug.in/ns/lv2core#ConstantPlugin
-#define LV2_CORE__ControlPort LV2_CORE_PREFIX "ControlPort" ///< http://lv2plug.in/ns/lv2core#ControlPort
-#define LV2_CORE__ConverterPlugin LV2_CORE_PREFIX "ConverterPlugin" ///< http://lv2plug.in/ns/lv2core#ConverterPlugin
-#define LV2_CORE__DelayPlugin LV2_CORE_PREFIX "DelayPlugin" ///< http://lv2plug.in/ns/lv2core#DelayPlugin
-#define LV2_CORE__DistortionPlugin LV2_CORE_PREFIX "DistortionPlugin" ///< http://lv2plug.in/ns/lv2core#DistortionPlugin
-#define LV2_CORE__DynamicsPlugin LV2_CORE_PREFIX "DynamicsPlugin" ///< http://lv2plug.in/ns/lv2core#DynamicsPlugin
-#define LV2_CORE__EQPlugin LV2_CORE_PREFIX "EQPlugin" ///< http://lv2plug.in/ns/lv2core#EQPlugin
-#define LV2_CORE__EnvelopePlugin LV2_CORE_PREFIX "EnvelopePlugin" ///< http://lv2plug.in/ns/lv2core#EnvelopePlugin
-#define LV2_CORE__ExpanderPlugin LV2_CORE_PREFIX "ExpanderPlugin" ///< http://lv2plug.in/ns/lv2core#ExpanderPlugin
-#define LV2_CORE__ExtensionData LV2_CORE_PREFIX "ExtensionData" ///< http://lv2plug.in/ns/lv2core#ExtensionData
-#define LV2_CORE__Feature LV2_CORE_PREFIX "Feature" ///< http://lv2plug.in/ns/lv2core#Feature
-#define LV2_CORE__FilterPlugin LV2_CORE_PREFIX "FilterPlugin" ///< http://lv2plug.in/ns/lv2core#FilterPlugin
-#define LV2_CORE__FlangerPlugin LV2_CORE_PREFIX "FlangerPlugin" ///< http://lv2plug.in/ns/lv2core#FlangerPlugin
-#define LV2_CORE__FunctionPlugin LV2_CORE_PREFIX "FunctionPlugin" ///< http://lv2plug.in/ns/lv2core#FunctionPlugin
-#define LV2_CORE__GatePlugin LV2_CORE_PREFIX "GatePlugin" ///< http://lv2plug.in/ns/lv2core#GatePlugin
-#define LV2_CORE__GeneratorPlugin LV2_CORE_PREFIX "GeneratorPlugin" ///< http://lv2plug.in/ns/lv2core#GeneratorPlugin
-#define LV2_CORE__HighpassPlugin LV2_CORE_PREFIX "HighpassPlugin" ///< http://lv2plug.in/ns/lv2core#HighpassPlugin
-#define LV2_CORE__InputPort LV2_CORE_PREFIX "InputPort" ///< http://lv2plug.in/ns/lv2core#InputPort
-#define LV2_CORE__InstrumentPlugin LV2_CORE_PREFIX "InstrumentPlugin" ///< http://lv2plug.in/ns/lv2core#InstrumentPlugin
-#define LV2_CORE__LimiterPlugin LV2_CORE_PREFIX "LimiterPlugin" ///< http://lv2plug.in/ns/lv2core#LimiterPlugin
-#define LV2_CORE__LowpassPlugin LV2_CORE_PREFIX "LowpassPlugin" ///< http://lv2plug.in/ns/lv2core#LowpassPlugin
-#define LV2_CORE__MixerPlugin LV2_CORE_PREFIX "MixerPlugin" ///< http://lv2plug.in/ns/lv2core#MixerPlugin
-#define LV2_CORE__ModulatorPlugin LV2_CORE_PREFIX "ModulatorPlugin" ///< http://lv2plug.in/ns/lv2core#ModulatorPlugin
-#define LV2_CORE__MultiEQPlugin LV2_CORE_PREFIX "MultiEQPlugin" ///< http://lv2plug.in/ns/lv2core#MultiEQPlugin
-#define LV2_CORE__OscillatorPlugin LV2_CORE_PREFIX "OscillatorPlugin" ///< http://lv2plug.in/ns/lv2core#OscillatorPlugin
-#define LV2_CORE__OutputPort LV2_CORE_PREFIX "OutputPort" ///< http://lv2plug.in/ns/lv2core#OutputPort
-#define LV2_CORE__ParaEQPlugin LV2_CORE_PREFIX "ParaEQPlugin" ///< http://lv2plug.in/ns/lv2core#ParaEQPlugin
-#define LV2_CORE__PhaserPlugin LV2_CORE_PREFIX "PhaserPlugin" ///< http://lv2plug.in/ns/lv2core#PhaserPlugin
-#define LV2_CORE__PitchPlugin LV2_CORE_PREFIX "PitchPlugin" ///< http://lv2plug.in/ns/lv2core#PitchPlugin
-#define LV2_CORE__Plugin LV2_CORE_PREFIX "Plugin" ///< http://lv2plug.in/ns/lv2core#Plugin
-#define LV2_CORE__PluginBase LV2_CORE_PREFIX "PluginBase" ///< http://lv2plug.in/ns/lv2core#PluginBase
-#define LV2_CORE__Point LV2_CORE_PREFIX "Point" ///< http://lv2plug.in/ns/lv2core#Point
-#define LV2_CORE__Port LV2_CORE_PREFIX "Port" ///< http://lv2plug.in/ns/lv2core#Port
-#define LV2_CORE__PortProperty LV2_CORE_PREFIX "PortProperty" ///< http://lv2plug.in/ns/lv2core#PortProperty
-#define LV2_CORE__Resource LV2_CORE_PREFIX "Resource" ///< http://lv2plug.in/ns/lv2core#Resource
-#define LV2_CORE__ReverbPlugin LV2_CORE_PREFIX "ReverbPlugin" ///< http://lv2plug.in/ns/lv2core#ReverbPlugin
-#define LV2_CORE__ScalePoint LV2_CORE_PREFIX "ScalePoint" ///< http://lv2plug.in/ns/lv2core#ScalePoint
-#define LV2_CORE__SimulatorPlugin LV2_CORE_PREFIX "SimulatorPlugin" ///< http://lv2plug.in/ns/lv2core#SimulatorPlugin
-#define LV2_CORE__SpatialPlugin LV2_CORE_PREFIX "SpatialPlugin" ///< http://lv2plug.in/ns/lv2core#SpatialPlugin
-#define LV2_CORE__Specification LV2_CORE_PREFIX "Specification" ///< http://lv2plug.in/ns/lv2core#Specification
-#define LV2_CORE__SpectralPlugin LV2_CORE_PREFIX "SpectralPlugin" ///< http://lv2plug.in/ns/lv2core#SpectralPlugin
-#define LV2_CORE__UtilityPlugin LV2_CORE_PREFIX "UtilityPlugin" ///< http://lv2plug.in/ns/lv2core#UtilityPlugin
-#define LV2_CORE__WaveshaperPlugin LV2_CORE_PREFIX "WaveshaperPlugin" ///< http://lv2plug.in/ns/lv2core#WaveshaperPlugin
-#define LV2_CORE__appliesTo LV2_CORE_PREFIX "appliesTo" ///< http://lv2plug.in/ns/lv2core#appliesTo
-#define LV2_CORE__binary LV2_CORE_PREFIX "binary" ///< http://lv2plug.in/ns/lv2core#binary
-#define LV2_CORE__connectionOptional LV2_CORE_PREFIX "connectionOptional" ///< http://lv2plug.in/ns/lv2core#connectionOptional
-#define LV2_CORE__control LV2_CORE_PREFIX "control" ///< http://lv2plug.in/ns/lv2core#control
-#define LV2_CORE__default LV2_CORE_PREFIX "default" ///< http://lv2plug.in/ns/lv2core#default
-#define LV2_CORE__designation LV2_CORE_PREFIX "designation" ///< http://lv2plug.in/ns/lv2core#designation
-#define LV2_CORE__documentation LV2_CORE_PREFIX "documentation" ///< http://lv2plug.in/ns/lv2core#documentation
-#define LV2_CORE__enabled LV2_CORE_PREFIX "enabled" ///< http://lv2plug.in/ns/lv2core#enabled
-#define LV2_CORE__enumeration LV2_CORE_PREFIX "enumeration" ///< http://lv2plug.in/ns/lv2core#enumeration
-#define LV2_CORE__extensionData LV2_CORE_PREFIX "extensionData" ///< http://lv2plug.in/ns/lv2core#extensionData
-#define LV2_CORE__freeWheeling LV2_CORE_PREFIX "freeWheeling" ///< http://lv2plug.in/ns/lv2core#freeWheeling
-#define LV2_CORE__hardRTCapable LV2_CORE_PREFIX "hardRTCapable" ///< http://lv2plug.in/ns/lv2core#hardRTCapable
-#define LV2_CORE__inPlaceBroken LV2_CORE_PREFIX "inPlaceBroken" ///< http://lv2plug.in/ns/lv2core#inPlaceBroken
-#define LV2_CORE__index LV2_CORE_PREFIX "index" ///< http://lv2plug.in/ns/lv2core#index
-#define LV2_CORE__integer LV2_CORE_PREFIX "integer" ///< http://lv2plug.in/ns/lv2core#integer
-#define LV2_CORE__isLive LV2_CORE_PREFIX "isLive" ///< http://lv2plug.in/ns/lv2core#isLive
-#define LV2_CORE__latency LV2_CORE_PREFIX "latency" ///< http://lv2plug.in/ns/lv2core#latency
-#define LV2_CORE__maximum LV2_CORE_PREFIX "maximum" ///< http://lv2plug.in/ns/lv2core#maximum
-#define LV2_CORE__microVersion LV2_CORE_PREFIX "microVersion" ///< http://lv2plug.in/ns/lv2core#microVersion
-#define LV2_CORE__minimum LV2_CORE_PREFIX "minimum" ///< http://lv2plug.in/ns/lv2core#minimum
-#define LV2_CORE__minorVersion LV2_CORE_PREFIX "minorVersion" ///< http://lv2plug.in/ns/lv2core#minorVersion
-#define LV2_CORE__name LV2_CORE_PREFIX "name" ///< http://lv2plug.in/ns/lv2core#name
-#define LV2_CORE__optionalFeature LV2_CORE_PREFIX "optionalFeature" ///< http://lv2plug.in/ns/lv2core#optionalFeature
-#define LV2_CORE__port LV2_CORE_PREFIX "port" ///< http://lv2plug.in/ns/lv2core#port
-#define LV2_CORE__portProperty LV2_CORE_PREFIX "portProperty" ///< http://lv2plug.in/ns/lv2core#portProperty
-#define LV2_CORE__project LV2_CORE_PREFIX "project" ///< http://lv2plug.in/ns/lv2core#project
-#define LV2_CORE__prototype LV2_CORE_PREFIX "prototype" ///< http://lv2plug.in/ns/lv2core#prototype
-#define LV2_CORE__reportsLatency LV2_CORE_PREFIX "reportsLatency" ///< http://lv2plug.in/ns/lv2core#reportsLatency
-#define LV2_CORE__requiredFeature LV2_CORE_PREFIX "requiredFeature" ///< http://lv2plug.in/ns/lv2core#requiredFeature
-#define LV2_CORE__sampleRate LV2_CORE_PREFIX "sampleRate" ///< http://lv2plug.in/ns/lv2core#sampleRate
-#define LV2_CORE__scalePoint LV2_CORE_PREFIX "scalePoint" ///< http://lv2plug.in/ns/lv2core#scalePoint
-#define LV2_CORE__symbol LV2_CORE_PREFIX "symbol" ///< http://lv2plug.in/ns/lv2core#symbol
-#define LV2_CORE__toggled LV2_CORE_PREFIX "toggled" ///< http://lv2plug.in/ns/lv2core#toggled
-
-// clang-format on
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- Plugin Instance Handle.
-
- This is a handle for one particular instance of a plugin. It is valid to
- compare to NULL (or 0 for C++) but otherwise the host MUST NOT attempt to
- interpret it.
-*/
-typedef void* LV2_Handle;
-
-/**
- Feature.
-
- Features allow hosts to make additional functionality available to plugins
- without requiring modification to the LV2 API. Extensions may define new
- features and specify the `URI` and `data` to be used if necessary.
- Some features, such as lv2:isLive, do not require the host to pass data.
-*/
-typedef struct {
- /**
- A globally unique, case-sensitive identifier (URI) for this feature.
-
- This MUST be a valid URI string as defined by RFC 3986.
- */
- const char* URI;
-
- /**
- Pointer to arbitrary data.
-
- The format of this data is defined by the extension which describes the
- feature with the given `URI`.
- */
- void* data;
-} LV2_Feature;
-
-/**
- Plugin Descriptor.
-
- This structure provides the core functions necessary to instantiate and use
- a plugin.
-*/
-typedef struct LV2_Descriptor {
- /**
- A globally unique, case-sensitive identifier for this plugin.
-
- This MUST be a valid URI string as defined by RFC 3986. All plugins with
- the same URI MUST be compatible to some degree, see
- http://lv2plug.in/ns/lv2core for details.
- */
- const char* URI;
-
- /**
- Instantiate the plugin.
-
- Note that instance initialisation should generally occur in activate()
- rather than here. If a host calls instantiate(), it MUST call cleanup()
- at some point in the future.
-
- @param descriptor Descriptor of the plugin to instantiate.
-
- @param sample_rate Sample rate, in Hz, for the new plugin instance.
-
- @param bundle_path Path to the LV2 bundle which contains this plugin
- binary. It MUST include the trailing directory separator so that simply
- appending a filename will yield the path to that file in the bundle.
-
- @param features A NULL terminated array of LV2_Feature structs which
- represent the features the host supports. Plugins may refuse to
- instantiate if required features are not found here. However, hosts MUST
- NOT use this as a discovery mechanism: instead, use the RDF data to
- determine which features are required and do not attempt to instantiate
- unsupported plugins at all. This parameter MUST NOT be NULL, i.e. a host
- that supports no features MUST pass a single element array containing
- NULL.
-
- @return A handle for the new plugin instance, or NULL if instantiation
- has failed.
- */
- LV2_Handle (*instantiate)(const struct LV2_Descriptor* descriptor,
- double sample_rate,
- const char* bundle_path,
- const LV2_Feature* const* features);
-
- /**
- Connect a port on a plugin instance to a memory location.
-
- Plugin writers should be aware that the host may elect to use the same
- buffer for more than one port and even use the same buffer for both
- input and output (see lv2:inPlaceBroken in lv2.ttl).
-
- If the plugin has the feature lv2:hardRTCapable then there are various
- things that the plugin MUST NOT do within the connect_port() function;
- see lv2core.ttl for details.
-
- connect_port() MUST be called at least once for each port before run()
- is called, unless that port is lv2:connectionOptional. The plugin must
- pay careful attention to the block size passed to run() since the block
- allocated may only just be large enough to contain the data, and is not
- guaranteed to remain constant between run() calls.
-
- connect_port() may be called more than once for a plugin instance to
- allow the host to change the buffers that the plugin is reading or
- writing. These calls may be made before or after activate() or
- deactivate() calls.
-
- @param instance Plugin instance containing the port.
-
- @param port Index of the port to connect. The host MUST NOT try to
- connect a port index that is not defined in the plugin's RDF data. If
- it does, the plugin's behaviour is undefined (a crash is likely).
-
- @param data_location Pointer to data of the type defined by the port
- type in the plugin's RDF data (for example, an array of float for an
- lv2:AudioPort). This pointer must be stored by the plugin instance and
- used to read/write data when run() is called. Data present at the time
- of the connect_port() call MUST NOT be considered meaningful.
- */
- void (*connect_port)(LV2_Handle instance, uint32_t port, void* data_location);
-
- /**
- Initialise a plugin instance and activate it for use.
-
- This is separated from instantiate() to aid real-time support and so
- that hosts can reinitialise a plugin instance by calling deactivate()
- and then activate(). In this case the plugin instance MUST reset all
- state information dependent on the history of the plugin instance except
- for any data locations provided by connect_port(). If there is nothing
- for activate() to do then this field may be NULL.
-
- When present, hosts MUST call this function once before run() is called
- for the first time. This call SHOULD be made as close to the run() call
- as possible and indicates to real-time plugins that they are now live,
- however plugins MUST NOT rely on a prompt call to run() after
- activate().
-
- The host MUST NOT call activate() again until deactivate() has been
- called first. If a host calls activate(), it MUST call deactivate() at
- some point in the future. Note that connect_port() may be called before
- or after activate().
- */
- void (*activate)(LV2_Handle instance);
-
- /**
- Run a plugin instance for a block.
-
- Note that if an activate() function exists then it must be called before
- run(). If deactivate() is called for a plugin instance then run() may
- not be called until activate() has been called again.
-
- If the plugin has the feature lv2:hardRTCapable then there are various
- things that the plugin MUST NOT do within the run() function (see
- lv2core.ttl for details).
-
- As a special case, when `sample_count` is 0, the plugin should update
- any output ports that represent a single instant in time (for example,
- 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
- `sample_count` is 0.
-
- @param instance Instance to be run.
-
- @param sample_count The block size (in samples) for which the plugin
- instance must run.
- */
- void (*run)(LV2_Handle instance, uint32_t sample_count);
-
- /**
- Deactivate a plugin instance (counterpart to activate()).
-
- Hosts MUST deactivate all activated instances after they have been run()
- for the last time. This call SHOULD be made as close to the last run()
- call as possible and indicates to real-time plugins that they are no
- longer live, however plugins MUST NOT rely on prompt deactivation. If
- there is nothing for deactivate() to do then this field may be NULL
-
- Deactivation is not similar to pausing since the plugin instance will be
- reinitialised by activate(). However, deactivate() itself MUST NOT fully
- reset plugin state. For example, the host may deactivate a plugin, then
- store its state (using some extension to do so).
-
- Hosts MUST NOT call deactivate() unless activate() was previously
- called. Note that connect_port() may be called before or after
- deactivate().
- */
- void (*deactivate)(LV2_Handle instance);
-
- /**
- Clean up a plugin instance (counterpart to instantiate()).
-
- Once an instance of a plugin has been finished with it must be deleted
- using this function. The instance handle passed ceases to be valid after
- this call.
-
- If activate() was called for a plugin instance then a corresponding call
- to deactivate() MUST be made before cleanup() is called. Hosts MUST NOT
- call cleanup() unless instantiate() was previously called.
- */
- void (*cleanup)(LV2_Handle instance);
-
- /**
- Return additional plugin data defined by some extension.
-
- A typical use of this facility is to return a struct containing function
- pointers to extend the LV2_Descriptor API.
-
- The actual type and meaning of the returned object MUST be specified
- precisely by the extension. This function MUST return NULL for any
- unsupported URI. If a plugin does not support any extension data, this
- field may be NULL.
-
- The host is never responsible for freeing the returned value.
- */
- const void* (*extension_data)(const char* uri);
-} LV2_Descriptor;
-
-/**
- Helper macro needed for LV2_SYMBOL_EXPORT when using C++.
-*/
-#ifdef __cplusplus
-# define LV2_SYMBOL_EXTERN extern "C"
-#else
-# define LV2_SYMBOL_EXTERN
-#endif
-
-/**
- Put this (LV2_SYMBOL_EXPORT) before any functions that are to be loaded
- by the host as a symbol from the dynamic library.
-*/
-#ifdef _WIN32
-# define LV2_SYMBOL_EXPORT LV2_SYMBOL_EXTERN __declspec(dllexport)
-#else
-# define LV2_SYMBOL_EXPORT \
- LV2_SYMBOL_EXTERN __attribute__((visibility("default")))
-#endif
-
-/**
- Prototype for plugin accessor function.
-
- Plugins are discovered by hosts using RDF data (not by loading libraries).
- See http://lv2plug.in for details on the discovery process, though most
- hosts should use an existing library to implement this functionality.
-
- This is the simple plugin discovery API, suitable for most statically
- defined plugins. Advanced plugins that need access to their bundle during
- discovery can use lv2_lib_descriptor() instead. Plugin libraries MUST
- include a function called "lv2_descriptor" or "lv2_lib_descriptor" with
- C-style linkage, but SHOULD provide "lv2_descriptor" wherever possible.
-
- When it is time to load a plugin (designated by its URI), the host loads the
- plugin's library, gets the lv2_descriptor() function from it, and uses this
- function to find the LV2_Descriptor for the desired plugin. Plugins are
- accessed by index using values from 0 upwards. This function MUST return
- NULL for out of range indices, so the host can enumerate plugins by
- increasing `index` until NULL is returned.
-
- Note that `index` has no meaning, hosts MUST NOT depend on it remaining
- consistent between loads of the plugin library.
-*/
-LV2_SYMBOL_EXPORT
-const LV2_Descriptor*
-lv2_descriptor(uint32_t index);
-
-/**
- Type of the lv2_descriptor() function in a library (old discovery API).
-*/
-typedef const LV2_Descriptor* (*LV2_Descriptor_Function)(uint32_t index);
-
-/**
- Handle for a library descriptor.
-*/
-typedef void* LV2_Lib_Handle;
-
-/**
- Descriptor for a plugin library.
-
- To access a plugin library, the host creates an LV2_Lib_Descriptor via the
- lv2_lib_descriptor() function in the shared object.
-*/
-typedef struct {
- /**
- Opaque library data which must be passed as the first parameter to all
- the methods of this struct.
- */
- LV2_Lib_Handle handle;
-
- /**
- The total size of this struct. This allows for this struct to be
- expanded in the future if necessary. This MUST be set by the library to
- sizeof(LV2_Lib_Descriptor). The host MUST NOT access any fields of this
- struct beyond get_plugin() unless this field indicates they are present.
- */
- uint32_t size;
-
- /**
- Destroy this library descriptor and free all related resources.
- */
- void (*cleanup)(LV2_Lib_Handle handle);
-
- /**
- Plugin accessor.
-
- Plugins are accessed by index using values from 0 upwards. Out of range
- indices MUST result in this function returning NULL, so the host can
- enumerate plugins by increasing `index` until NULL is returned.
- */
- const LV2_Descriptor* (*get_plugin)(LV2_Lib_Handle handle, uint32_t index);
-} LV2_Lib_Descriptor;
-
-/**
- Prototype for library accessor function.
-
- This is the more advanced discovery API, which allows plugin libraries to
- access their bundles during discovery, which makes it possible for plugins to
- be dynamically defined by files in their bundle. This API also has an
- explicit cleanup function, removing any need for non-portable shared library
- destructors. Simple plugins that do not require these features may use
- lv2_descriptor() instead.
-
- This is the entry point for a plugin library. Hosts load this symbol from
- the library and call this function to obtain a library descriptor which can
- be used to access all the contained plugins. The returned object must not
- be destroyed (using LV2_Lib_Descriptor::cleanup()) until all plugins loaded
- from that library have been destroyed.
-*/
-LV2_SYMBOL_EXPORT
-const LV2_Lib_Descriptor*
-lv2_lib_descriptor(const char* bundle_path, const LV2_Feature* const* features);
-
-/**
- Type of the lv2_lib_descriptor() function in an LV2 library.
-*/
-typedef const LV2_Lib_Descriptor* (*LV2_Lib_Descriptor_Function)(
- const char* bundle_path,
- const LV2_Feature* const* features);
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-/**
- @}
- @}
-*/
-
-#endif /* LV2_H_INCLUDED */
diff --git a/lv2/core/lv2_util.h b/lv2/core/lv2_util.h
deleted file mode 100644
index f3766aa..0000000
--- a/lv2/core/lv2_util.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- Copyright 2016 David Robillard <d@drobilla.net>
-
- 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.
-*/
-
-/**
- @defgroup util Utilities
- @ingroup lv2core
- @{
-*/
-
-#include "lv2/core/lv2.h"
-
-#include <stdarg.h>
-#include <stdbool.h>
-#include <string.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- Return the data for a feature in a features array.
-
- If the feature is not found, NULL is returned. Note that this function is
- only useful for features with data, and can not detect features that are
- present but have NULL data.
-*/
-static inline void*
-lv2_features_data(const LV2_Feature* const* features, const char* const uri)
-{
- if (features) {
- for (const LV2_Feature* const* f = features; *f; ++f) {
- if (!strcmp(uri, (*f)->URI)) {
- return (*f)->data;
- }
- }
- }
- return NULL;
-}
-
-/**
- Query a features array.
-
- This function allows getting several features in one call, and detect
- missing required features, with the same caveat of lv2_features_data().
-
- The arguments should be a series of const char* uri, void** data, bool
- required, terminated by a NULL URI. The data pointers MUST be initialized
- to NULL. For example:
-
- @code
- LV2_URID_Log* log = NULL;
- LV2_URID_Map* map = NULL;
- const char* missing = lv2_features_query(
- features,
- LV2_LOG__log, &log, false,
- LV2_URID__map, &map, true,
- NULL);
- @endcode
-
- @return NULL on success, otherwise the URI of this missing feature.
-*/
-static inline const char*
-lv2_features_query(const LV2_Feature* const* features, ...)
-{
- va_list args;
- va_start(args, features);
-
- const char* uri = NULL;
- while ((uri = va_arg(args, const char*))) {
- void** data = va_arg(args, void**);
- bool required = (bool)va_arg(args, int);
-
- *data = lv2_features_data(features, uri);
- if (required && !*data) {
- va_end(args);
- return uri;
- }
- }
-
- va_end(args);
- return NULL;
-}
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-/**
- @}
-*/
diff --git a/lv2/core/lv2core.meta.ttl b/lv2/core/lv2core.meta.ttl
deleted file mode 100644
index 9faea9d..0000000
--- a/lv2/core/lv2core.meta.ttl
+++ /dev/null
@@ -1,915 +0,0 @@
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix dcs: <http://ontologi.es/doap-changeset#> .
-@prefix doap: <http://usefulinc.com/ns/doap#> .
-@prefix foaf: <http://xmlns.com/foaf/0.1/> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-
-<http://lv2plug.in/ns/lv2core>
- a doap:Project ;
- doap:license <http://opensource.org/licenses/isc> ;
- doap:name "LV2" ;
- doap:homepage <http://lv2plug.in> ;
- doap:created "2004-04-21" ;
- doap:shortdesc "An extensible open standard for audio plugins" ;
- doap:programming-language "C" ;
- doap:developer <http://plugin.org.uk/swh.xrdf#me> ,
- <http://drobilla.net/drobilla#me> ;
- doap:maintainer <http://drobilla.net/drobilla#me> ;
- doap:release [
- doap:revision "18.4" ;
- doap:created "2022-05-26" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.18.4.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Fix spelling errors."
- ]
- ]
- ] , [
- doap:revision "18.0" ;
- doap:created "2020-04-26" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.18.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Add lv2:Markdown datatype."
- ] , [
- rdfs:label "Deprecate lv2:reportsLatency."
- ]
- ]
- ] , [
- doap:revision "16.0" ;
- doap:created "2019-02-03" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.16.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Add lv2:MIDIPlugin class."
- ] , [
- rdfs:label "Rework port restrictions so that presets can be validated."
- ]
- ]
- ] , [
- doap:revision "14.0" ;
- doap:created "2016-09-18" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.14.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Add lv2_util.h with lv2_features_data() and lv2_features_query()."
- ] , [
- rdfs:label "Add lv2:enabled designation."
- ]
- ]
- ] , [
- doap:revision "12.4" ;
- doap:created "2015-04-07" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.12.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Relax domain of lv2:minimum lv2:maximum and lv2:default so they can be used to describe properties/parameters as well."
- ] , [
- rdfs:label "Add extern C and visibility attribute to LV2_SYMBOL_EXPORT."
- ] , [
- rdfs:label "Add lv2:isSideChain port property."
- ]
- ]
- ] , [
- doap:revision "12.2" ;
- doap:created "2014-08-08" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.10.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Clarify lv2_descriptor() and lv2_lib_descriptor() documentation."
- ]
- ]
- ] , [
- doap:revision "12.0" ;
- doap:created "2014-01-04" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.8.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Add lv2:prototype for property inheritance."
- ]
- ]
- ] , [
- doap:revision "10.0" ;
- doap:created "2013-02-17" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.4.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Add lv2:EnvelopePlugin class."
- ] , [
- rdfs:label "Add lv2:control for designating primary event-based control ports."
- ] , [
- rdfs:label "Set range of lv2:designation to lv2:Designation."
- ] , [
- rdfs:label "Make lv2:Parameter rdfs:subClassOf rdf:Property."
- ] , [
- rdfs:label "Reserve minor version 0 for unstable development plugins."
- ]
- ]
- ] , [
- doap:revision "8.2" ;
- doap:created "2012-10-14" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.2.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Use consistent label style."
- ]
- ]
- ] , [
- doap:revision "8.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 "Fix LV2_SYMBOL_EXPORT and lv2_descriptor prototype for Windows."
- ] , [
- rdfs:label "Add metadata concept of a designation, a channel or parameter description which can be assigned to ports for more intelligent use by hosts."
- ] , [
- rdfs:label "Add new discovery API which allows libraries to read bundle files during discovery, makes library construction/destruction explicit, and adds extensibility to prevent future breakage."
- ] , [
- rdfs:label "Relax the range of lv2:index so it can be used for things other than ports."
- ] , [
- rdfs:label "Remove lv2:Resource, which turned out to be meaningless."
- ] , [
- rdfs:label "Add lv2:CVPort."
- ] , [
- rdfs:label "Merge with unified LV2 package."
- ]
- ]
- ] , [
- doap:revision "6.0" ;
- doap:created "2011-11-21" ;
- doap:file-release <http://lv2plug.in/spec/lv2core-6.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Rename core.lv2 and lv2.ttl to lv2core.lv2 and lv2core.ttl to adhere to modern conventions."
- ] , [
- rdfs:label "Add lv2:extensionData and lv2:ExtensionData for plugins to indicate that they support some URI for extension_data()."
- ] , [
- rdfs:label "Remove lv2config in favour of the simple convention that specifications install headers to standard URI-based paths."
- ] , [
- rdfs:label "Switch to the ISC license, a simple BSD-style license (with permission of all contributors to lv2.h and its ancestor, ladspa.h)."
- ] , [
- rdfs:label "Make lv2core.ttl a valid OWL 2 DL ontology."
- ] , [
- rdfs:label "Improve documentation."
- ]
- ]
- ] , [
- doap:revision "4.0" ;
- doap:created "2011-03-18" ;
- doap:file-release <http://lv2plug.in/spec/lv2core-4.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Make doap:license suggested, but not required (for wrappers)."
- ] , [
- rdfs:label "Define lv2:binary (MUST be in manifest.ttl)."
- ] , [
- rdfs:label "Define lv2:minorVersion and lv2:microVersion (MUST be in manifest.ttl)."
- ] , [
- rdfs:label "Define lv2:documentation and use it to document lv2core."
- ] , [
- rdfs:label "Add lv2:FunctionPlugin and lv2:ConstantPlugin classes."
- ] , [
- rdfs:label "Move lv2:AmplifierPlugin under lv2:DynamicsPlugin."
- ] , [
- rdfs:label "Loosen domain of lv2:optionalFeature and lv2:requiredFeature (to allow re-use in extensions)."
- ] , [
- rdfs:label "Add generic lv2:Resource and lv2:PluginBase classes."
- ] , [
- rdfs:label "Fix definition of lv2:minimum etc. (used for values, not scale points)."
- ] , [
- rdfs:label "More precisely define properties with OWL."
- ] , [
- rdfs:label "Move project metadata to manifest."
- ] , [
- rdfs:label "Add lv2:enumeration port property."
- ] , [
- rdfs:label "Define run() pre-roll special case (sample_count == 0)."
- ]
- ]
- ] , [
- doap:revision "3.0" ;
- doap:created "2008-11-08" ;
- doap:file-release <http://lv2plug.in/spec/lv2core-3.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Require that serialisations refer to ports by symbol rather than index."
- ] , [
- rdfs:label "Minor stylistic changes to lv2.ttl."
- ] , [
- rdfs:label "No header changes."
- ]
- ]
- ] , [
- doap:revision "2.0" ;
- doap:created "2008-02-10" ;
- doap:file-release <http://lv2plug.in/spec/lv2core-2.0.tar.gz> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Initial release."
- ]
- ]
- ] ;
- lv2:documentation """
-
-LV2 is an interface for writing audio plugins in C or compatible languages,
-which can be dynamically loaded into many _host_ applications. This core
-specification is simple and minimal, but is designed so that _extensions_ can
-be defined to add more advanced features, making it possible to implement
-nearly any feature.
-
-LV2 maintains a strong distinction between code and data. Plugin code is in a
-shared library, while data is in a companion data file written in
-[Turtle](https://www.w3.org/TR/turtle/). Code, data, and any other resources
-(such as waveforms) are shipped together in a bundle directory. The code
-contains only the executable portions of the plugin. All other data is
-provided in the data file(s). This makes plugin data flexible and extensible,
-and allows the host to do everything but run the plugin without loading or
-executing any code. Among other advantages, this makes hosts more robust
-(broken plugins can't crash a host during discovery) and allows generic tools
-written in any language to work with LV2 data. The LV2 specification itself is
-distributed in a similar way.
-
-An LV2 plugin library is suitable for dynamic loading (for example with
-`dlopen()`) and provides one or more plugin descriptors via `lv2_descriptor()`
-or `lv2_lib_descriptor()`. These can be instantiated to create plugin
-instances, which can be run directly on data or connected together to perform
-advanced signal processing tasks.
-
-Plugins communicate via _ports_, which can transmit any type of data. Data is
-processed by first connecting each port to a buffer, then repeatedly calling
-the `run()` method to process blocks of data.
-
-This core specification defines two types of port, equivalent to those in
-[LADSPA](http://www.ladspa.org/), lv2:ControlPort and lv2:AudioPort, as well as
-lv2:CVPort which has the same format as an audio port but is interpreted as
-non-audible control data. Audio ports contain arrays with one `float` element
-per sample, allowing a block of audio to be processed in a single call to
-`run()`. Control ports contain single `float` values, which are fixed and
-valid for the duration of the call to `run()`. Thus the _control rate_ is
-determined by the block size, which is controlled by the host (and not
-necessarily constant).
-
-### Threading Rules
-
-To facilitate use in multi-threaded programs, LV2 functions are partitioned into
-several threading classes:
-
-| Discovery Class | Instantiation Class | Audio Class |
-|----------------------------------|-------------------------------|------------------------------- |
-| lv2_descriptor() | LV2_Descriptor::instantiate() | LV2_Descriptor::run() |
-| lv2_lib_descriptor() | LV2_Descriptor::cleanup() | LV2_Descriptor::connect_port() |
-| LV2_Descriptor::extension_data() | LV2_Descriptor::activate() | |
-| | LV2_Descriptor::deactivate() | |
-
-Hosts MUST guarantee that:
-
- * A function in any class is never called concurrently with another function
- in that class.
-
- * A _Discovery_ function is never called concurrently with any other function
- in the same shared object file.
-
- * An _Instantiation_ function for an instance is never called concurrently
- with any other function for that instance.
-
-Any simultaneous calls that are not explicitly forbidden by these rules are
-allowed. For example, a host may call `run()` for two different plugin
-instances simultaneously.
-
-Plugin functions in any class MUST NOT manipulate any state which might affect
-other plugins or the host (beyond the contract of that function), for example
-by using non-reentrant global functions.
-
-Extensions to this specification which add new functions MUST declare in which
-of these classes the functions belong, define new classes for them, or
-otherwise precisely describe their threading rules.
-
-"""^^lv2:Markdown .
-
-lv2:Specification
- lv2:documentation """
-
-An LV2 specification typically contains a vocabulary description, C headers to
-define an API, and any other resources that may be useful. Specifications,
-like plugins, are distributed and installed as bundles so that hosts may
-discover them.
-
-"""^^lv2:Markdown .
-
-lv2:Markdown
- lv2:documentation """
-
-This datatype is typically used for documentation in
-[Markdown](https://daringfireball.net/projects/markdown/syntax) syntax.
-
-Generally, documentation with this datatype should stay as close to readable
-plain text as possible, but may use core Markdown syntax for nicer
-presentation. Documentation can assume that basic extensions like codehilite
-and tables are available.
-
-"""^^lv2:Markdown .
-
-lv2:documentation
- lv2:documentation """
-
-Relates a Resource to extended documentation.
-
-LV2 specifications are documented using this property with an lv2:Markdown
-datatype.
-
-If the value has no explicit datatype, it is assumed to be a valid XHTML Basic
-1.1 fragment suitable for use as the content of the `body` element of a page.
-
-XHTML Basic is a W3C Recommendation which defines a simplified subset of XHTML
-intended to be reasonable to implement with limited resources, for exampe on
-embedded devices. See [XHTML Basic, Section
-3](http://www.w3.org/TR/xhtml-basic/#s_xhtmlmodules) for a list of valid tags.
-
-"""^^lv2:Markdown .
-
-lv2:PluginBase
- lv2:documentation """
-
-An abstract plugin-like resource that may not actually be an LV2 plugin, for
-example that may not have a lv2:binary. This is useful for describing things
-that share common structure with a plugin, but are not themselves an actual
-plugin, such as presets.
-
-"""^^lv2:Markdown .
-
-lv2:Plugin
- lv2:documentation """
-
-To be discovered by hosts, plugins MUST explicitly have an rdf:type of lv2:Plugin
-in their bundle's manifest, for example:
-
- :::turtle
- <http://example.org/my-plugin> a lv2:Plugin .
-
-Plugins should have a doap:name property that is at most a few words in length
-using title capitalization, for example <q>Tape Delay Unit</q>.
-
-"""^^lv2:Markdown .
-
-lv2:PortBase
- lv2:documentation """
-
-Similar to lv2:PluginBase, this is an abstract port-like resource that may not
-be a fully specified LV2 port. For example, this is used for preset "ports"
-which do not specify an index.
-
-"""^^lv2:Markdown .
-
-lv2:Port
- lv2:documentation """
-
-All LV2 port descriptions MUST have a rdf:type that is one of lv2:Port,
-lv2:InputPort or lv2:OutputPort. Additionally, there MUST be at least one
-other rdf:type which more precisely describes type of the port, for example
-lv2:AudioPort.
-
-Hosts that do not support a specific port class MUST NOT instantiate the
-plugin, unless that port has the lv2:connectionOptional property set.
-
-A port has two identifiers: a (numeric) index, and a (textual) symbol. The
-index can be used as an identifier at run-time, but persistent references to
-ports (for example in presets or save files) MUST use the symbol. Only the
-symbol is guaranteed to refer to the same port on all plugins with a given URI,
-that is the index for a port may differ between plugin binaries.
-
-"""^^lv2:Markdown .
-
-lv2:AudioPort
- lv2:documentation """
-
-Ports of this type are connected to a buffer of `float` audio samples, which
-the host guarantees have `sample_count` elements in any call to
-LV2_Descriptor::run().
-
-Audio samples are normalized between -1.0 and 1.0, though there is no
-requirement for samples to be strictly within this range.
-
-"""^^lv2:Markdown .
-
-lv2:CVPort
- lv2:documentation """
-
-Ports of this type have the same buffer format as an lv2:AudioPort, except the
-buffer represents audio-rate control data rather than audio. Like a
-lv2:ControlPort, a CV port SHOULD have properties describing its value, in
-particular lv2:minimum, lv2:maximum, and lv2:default.
-
-Hosts may present CV ports to users as controls in the same way as control
-ports. Conceptually, aside from the buffer format, a CV port is the same as a
-control port, so hosts can use all the same properties and expectations.
-
-In particular, this port type does not imply any range, unit, or meaning for
-its values. However, if there is no inherent unit to the values, for example
-if the port is used to modulate some other value, then plugins SHOULD use a
-normalized range, either from -1.0 to 1.0, or from 0.0 to 1.0.
-
-It is generally safe to connect an audio output to a CV input, but not
-vice-versa. Hosts must take care to prevent data from a CVPort port from being
-used as audio.
-
-"""^^lv2:Markdown .
-
-lv2:project
- lv2:documentation """
-
-This property provides a way to group plugins and/or related resources. A
-project may have useful metadata common to all plugins (such as homepage,
-author, version history) which would be wasteful to list separately for each
-plugin.
-
-Grouping via projects also allows users to find plugins in hosts by project,
-which is often how they are remembered. For this reason, a project that
-contains plugins SHOULD always have a doap:name. It is also a good idea for
-each plugin and the project itself to have an lv2:symbol property, which allows
-nice quasi-global identifiers for plugins, for example `myproj.superamp` which
-can be useful for display or fast user entry.
-
-"""^^lv2:Markdown .
-
-lv2:prototype
- lv2:documentation """
-
-This property can be used to <q>include</q> common properties in several
-descriptions, serving as a sort of template mechanism. If a plugin has a
-prototype, then the host must load all the properties for the prototype as if
-they were properties of the plugin. That is, if `:plug lv2:prototype :prot`,
-then for each triple `:prot p o`, the triple `:plug p o` should be loaded.
-
-This facility is useful for distributing data-only plugins that rely on a
-common binary, for example those where the internal state is loaded from some
-other file. Such plugins can refer to a prototype in a template LV2 bundle
-which is installed by the corresponding software.
-
-"""^^lv2:Markdown .
-
-lv2:minorVersion
- lv2:documentation """
-
-This, along with lv2:microVersion, is used to distinguish between different
-versions of the <q>same</q> resource, for example to load only the bundle with
-the most recent version of a plugin. An LV2 version has a minor and micro
-number with the usual semantics:
-
- * The minor version MUST be incremented when backwards (but not forwards)
- compatible additions are made, for example the addition of a port to a
- plugin.
-
- * The micro version is incremented for changes which do not affect
- compatibility at all, for example bug fixes or documentation updates.
-
-Note that there is deliberately no major version: all versions with the same
-URI are compatible by definition. Replacing a resource with a newer version of
-that resource MUST NOT break anything. If a change violates this rule, then
-the URI of the resource (which serves as the major version) MUST be changed.
-
-Plugins and extensions MUST adhere to at least the following rules:
-
- * All versions of a plugin with a given URI MUST have the <q>same</q> set of
- mandatory (not lv2:connectionOptional) ports with respect to lv2:symbol and
- rdf:type. In other words, every port on a particular version is guaranteed
- to exist on a future version with same lv2:symbol and at least those
- rdf:types.
-
- * New ports MAY be added without changing the plugin URI if and only if they
- are lv2:connectionOptional and the minor version is incremented.
-
- * The minor version MUST be incremented if the index of any port (identified
- by its symbol) is changed.
-
- * All versions of a specification MUST be compatible in the sense that an
- implementation of the new version can interoperate with an implementation
- of any previous version.
-
-Anything that depends on a specific version of a plugin (including referencing
-ports by index) MUST refer to the plugin by both URI and version. However,
-implementations should be tolerant where possible.
-
-When hosts discover several installed versions of a resource, they SHOULD warn
-the user and load only the most recent version.
-
-An odd minor _or_ micro version, or minor version zero, indicates that the
-resource is a development version. Hosts and tools SHOULD clearly indicate
-this wherever appropriate. Minor version zero is a special case for
-pre-release development of plugins, or experimental plugins that are not
-intended for stable use at all. Hosts SHOULD NOT expect such a plugin to
-remain compatible with any future version. Where feasible, hosts SHOULD NOT
-expose such plugins to users by default, but may provide an option to display
-them.
-
-"""^^lv2:Markdown .
-
-lv2:microVersion
- lv2:documentation """
-
-Releases of plugins and extensions MUST be explicitly versioned. Correct
-version numbers MUST always be maintained for any versioned resource that is
-published. For example, after a release, if a change is made in the development
-version in source control, the micro version MUST be incremented (to an odd
-number) to distinguish this modified version from the previous release.
-
-This property describes half of a resource version. For detailed documentation
-on LV2 resource versioning, see lv2:minorVersion.
-
-"""^^lv2:Markdown .
-
-lv2:binary
- lv2:documentation """
-
-The value of this property must be the URI of a shared library object,
-typically in the same bundle as the data file which contains this property.
-The actual type of the library is platform specific.
-
-This is a required property of a lv2:Plugin which MUST be included in the
-bundle's `manifest.ttl` file. The lv2:binary of a lv2:Plugin is the shared
-object containing the lv2_descriptor() or lv2_lib_descriptor() function. This
-probably may also be used similarly by extensions to relate other resources to
-their implementations (it is not implied that a lv2:binary on an arbitrary
-resource is an LV2 plugin library).
-
-"""^^lv2:Markdown .
-
-lv2:appliesTo
- lv2:documentation """
-
-This is primarily intended for discovery purposes: bundles that describe
-resources that work with particular plugins (like presets or user interfaces)
-SHOULD specify this in their `manifest.ttl` so the host can associate them with
-the correct plugin. For example:
-
- :::turtle
- <thing>
- a ext:Thing ;
- lv2:appliesTo <plugin> ;
- rdfs:seeAlso <thing.ttl> .
-
-Using this pattern is preferable for large amounts of data, since the host may
-choose whether/when to load the data.
-
-"""^^lv2:Markdown .
-
-lv2:Symbol
- lv2:documentation """
-
-The first character of a symbol must be one of `_`, `a-z` or `A-Z`, and
-subsequent characters may additionally be `0-9`. This is, among other things,
-a valid C identifier, and generally compatible in most contexts which have
-restrictions on string identifiers, such as file paths.
-
-"""^^lv2:Markdown .
-
-lv2:symbol
- lv2:documentation """
-
-The value of this property MUST be a valid lv2:Symbol, and MUST NOT have a
-language tag.
-
-A symbol is a unique identifier with respect to the parent, for example a
-port's symbol is a unique identifiers with respect to its plugin. The plugin
-author MUST change the plugin URI if any port symbol is changed or removed.
-
-"""^^lv2:Markdown .
-
-lv2:name
- lv2:documentation """
-
-Unlike lv2:symbol, this is unrestricted, may be translated, and is not relevant
-for compatibility. The name is not necessarily unique and MUST NOT be used as
-an identifier.
-
-"""^^lv2:Markdown .
-
-lv2:shortName
- lv2:documentation """
-
-This is the same as lv2:name, with the additional requirement that the value is
-shorter than 16 characters.
-
-"""^^lv2:Markdown .
-
-lv2:Designation
- lv2:documentation """
-
-A designation is metadata that describes the meaning or role of something. By
-assigning a designation to a port using lv2:designation, the port's content
-becomes meaningful and can be used more intelligently by the host.
-
-"""^^lv2:Markdown .
-
-lv2:Channel
- lv2:documentation """
-
-A specific channel, for example the <q>left</q> channel of a stereo stream. A
-channel may be audio, or another type such as a MIDI control stream.
-
-"""^^lv2:Markdown .
-
-lv2:Parameter
- lv2:documentation """
-
-A parameter is a designation for a control.
-
-A parameter defines the meaning of a control, not the method of conveying its
-value. For example, a parameter could be controlled via a lv2:ControlPort,
-messages, or both.
-
-A lv2:ControlPort can be associated with a parameter using lv2:designation.
-
-"""^^lv2:Markdown .
-
-lv2:designation
- lv2:documentation """
-
-This property is used to give a port's contents a well-defined meaning. For
-example, if a port has the designation `eg:gain`, then the value of that port
-represents the `eg:gain` of the plugin instance.
-
-Ports should be given designations whenever possible, particularly if a
-suitable designation is already defined. This allows the host to act more
-intelligently and provide a more effective user interface. For example, if the
-plugin has a BPM parameter, the host may automatically set that parameter to
-the current tempo.
-
-"""^^lv2:Markdown .
-
-lv2:freeWheeling
- lv2:documentation """
-
-If true, this means that all processing is happening as quickly as possible,
-not in real-time. When free-wheeling there is no relationship between the
-passage of real wall-clock time and the passage of time in the data being
-processed.
-
-"""^^lv2:Markdown .
-
-lv2:enabled
- lv2:documentation """
-
-If this value is greater than zero, the plugin processes normally. If this
-value is zero, the plugin is expected to bypass all signals unmodified. The
-plugin must provide a click-free transition between the enabled and disabled
-(bypassed) states.
-
-Values less than zero are reserved for future use (such as click-free
-insertion/removal of latent plugins), and should be treated like zero
-(bypassed) by current implementations.
-
-"""^^lv2:Markdown .
-
-lv2:control
- lv2:documentation """
-
-This should be used as the lv2:designation of ports that are used to send
-commands and receive responses. Typically this will be an event port that
-supports some protocol, for example MIDI or LV2 Atoms.
-
-"""^^lv2:Markdown .
-
-lv2:Point
- lv2:documentation """
-
- * A Point MUST have at least one rdfs:label which is a string.
-
- * A Point MUST have exactly one rdf:value with a type that is compatible with
- the type of the corresponding Port.
-
-"""^^lv2:Markdown .
-
-lv2:default
- lv2:documentation """
-
-The host SHOULD set the port to this value initially, and in any situation
-where the port value should be cleared or reset.
-
-"""^^lv2:Markdown .
-
-lv2:minimum
- lv2:documentation """
-
-This is a soft limit: the plugin is required to gracefully accept all values in
-the range of a port's data type.
-
-"""^^lv2:Markdown .
-
-lv2:maximum
- lv2:documentation """
-
-This is a soft limit: the plugin is required to gracefully accept all values in
-the range of a port's data type.
-
-"""^^lv2:Markdown .
-
-lv2:optionalFeature
- lv2:documentation """
-
-To support this feature, the host MUST pass its URI and any additional data to
-the plugin in LV2_Descriptor::instantiate().
-
-The plugin MUST NOT fail to instantiate if an optional feature is not supported
-by the host.
-
-"""^^lv2:Markdown .
-
-lv2:requiredFeature
- lv2:documentation """
-
-To support this feature, the host MUST pass its URI and any additional data to
-the plugin in LV2_Descriptor::instantiate().
-
-The host MUST check this property before attempting to instantiate a plugin,
-and not attempt to instantiate plugins which require features it does not
-support. The plugin MUST fail to instantiate if a required feature is not
-supported by the host. Note that these rules are intentionally redundant for
-resilience: neither host nor plugin should assume that the other does not
-violate them.
-
-"""^^lv2:Markdown .
-
-lv2:ExtensionData
- lv2:documentation """
-
-This is additional data that a plugin may return from
-LV2_Descriptor::extension_data(). This is generally used to add APIs to extend
-that defined by LV2_Descriptor.
-
-"""^^lv2:Markdown .
-
-lv2:extensionData
- lv2:documentation """
-
-If a plugin has a value for this property, it must be a URI that defines the
-extension data. The plugin should return the appropriate data when
-LV2_Descriptor::extension_data() is called with that URI as a parameter.
-
-"""^^lv2:Markdown .
-
-lv2:isLive
- lv2:documentation """
-
-This feature is for plugins that have time-sensitive internals, for example
-communicating in real time over a socket. It indicates to the host that its
-input and output must not be cached or subject to significant latency, and that
-calls to LV2_Descriptor::run() should be made at a rate that roughly
-corresponds to wall clock time (according to the `sample_count` parameter).
-
-Note that this feature is not related to <q>hard real-time</q> execution
-requirements (see lv2:hardRTCapable).
-
-"""^^lv2:Markdown .
-
-lv2:inPlaceBroken
- lv2:documentation """
-
-This feature indicates that the plugin may not work correctly if the host
-elects to use the same data location for both input and output. Plugins that
-will fail to work correctly if ANY input port is connected to the same location
-as ANY output port MUST require this feature. Doing so should be avoided
-whenever possible since it prevents hosts from running the plugin on data
-<q>in-place</q>.
-
-"""^^lv2:Markdown .
-
-lv2:hardRTCapable
- lv2:documentation """
-
-This feature indicates that the plugin is capable of running in a <q>hard
-real-time</q> environment. This should be the case for most audio processors,
-so most plugins are expected to have this feature.
-
-To support this feature, plugins MUST adhere to the following in all of their
-audio class functions (LV2_Descriptor::run() and
-LV2_Descriptor::connect_port()):
-
- * There is no use of `malloc()`, `free()` or any other heap memory management
- functions.
-
- * There is no use of any library functions which do not adhere to these
- rules. The plugin may assume that the standard C math library functions
- are safe.
-
- * There is no access to files, devices, pipes, sockets, system calls, or any
- other mechanism that might result in the process or thread blocking.
-
- * The maximum amount of time for a `run()` call is bounded by some expression
- of the form `A + B * sample_count`, where `A` and `B` are platform specific
- constants. Note that this bound does not depend on input signals or plugin
- state.
-
-"""^^lv2:Markdown .
-
-lv2:portProperty
- lv2:documentation """
-
-States that a port has a particular lv2:PortProperty. This may be ignored
-without catastrophic effects, though it may be useful, for example to provide a
-sensible user interface for the port.
-
-"""^^lv2:Markdown .
-
-lv2:connectionOptional
- lv2:documentation """
-
-This property means that the port does not have to be connected to valid data
-by the host. To leave a port <q>unconnected</q>, the host MUST explicitly
-connect the port to `NULL`.
-
-"""^^lv2:Markdown .
-
-lv2:reportsLatency
- lv2:documentation """
-
-This property indicates that the port is used to express the processing latency
-incurred by the plugin, expressed in samples. The latency may be affected by
-the current sample rate, plugin settings, or other factors, and may be changed
-by the plugin at any time. Where the latency is frequency dependent the plugin
-may choose any appropriate value. If a plugin introduces latency it MUST
-provide EXACTLY ONE port with this property set. In <q>fuzzy</q> cases the
-value should be the most reasonable one based on user expectation of
-input/output alignment. For example, musical delay plugins should not report
-their delay as latency, since it is an intentional effect that the host should
-not compensate for.
-
-This property is deprecated, use a lv2:designation of lv2:latency instead,
-following the same rules as above:
-
- :::turtle
- <http://example.org/plugin>
- lv2:port [
- a lv2:OutputPort , lv2:ControlPort ;
- lv2:designation lv2:latency ;
- lv2:symbol "latency" ;
- ]
-
-"""^^lv2:Markdown .
-
-lv2:toggled
- lv2:documentation """
-
-Indicates that the data item should be considered a boolean toggle. Data less
-than or equal to zero should be considered <q>off</q> or <q>false</q>, and data
-above zero should be considered <q>on</q> or <q>true</q>.
-
-"""^^lv2:Markdown .
-
-lv2:sampleRate
- lv2:documentation """
-
-Indicates that any specified bounds should be interpreted as multiples of the
-sample rate. For example, a frequency range from 0 Hz to the Nyquist frequency
-(half the sample rate) can be specified by using this property with lv2:minimum
-0.0 and lv2:maximum 0.5. Hosts that support bounds at all MUST support this
-property.
-
-"""^^lv2:Markdown .
-
-lv2:integer
- lv2:documentation """
-
-Indicates that all the reasonable values for a port are integers. For such
-ports, a user interface should provide a stepped control that only allows
-choosing integer values.
-
-Note that this is only a hint, and that the plugin MUST operate reasonably even
-if such a port has a non-integer value.
-
-"""^^lv2:Markdown .
-
-lv2:enumeration
- lv2:documentation """
-
-Indicates that all the rasonable values for a port are defined by
-lv2:scalePoint properties. For such ports, a user interface should provide a selector that allows the user to choose any of the scale point values by name. It is recommended to show the value as well if possible.
-
-Note that this is only a hint, and that the plugin MUST operate reasonably even
-if such a port has a value that does not correspond to a scale point.
-
-"""^^lv2:Markdown .
-
-lv2:isSideChain
- lv2:documentation """
-
-Indicates that a port is a <q>sidechain</q>, which affects the output somehow
-but should not be considered a part of the main signal chain. Sidechain ports
-SHOULD be lv2:connectionOptional, and may be ignored by hosts.
-
-"""^^lv2:Markdown .
-
diff --git a/lv2/core/lv2core.ttl b/lv2/core/lv2core.ttl
deleted file mode 100644
index bd9fc93..0000000
--- a/lv2/core/lv2core.ttl
+++ /dev/null
@@ -1,675 +0,0 @@
-@prefix doap: <http://usefulinc.com/ns/doap#> .
-@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 xsd: <http://www.w3.org/2001/XMLSchema#> .
-
-<http://lv2plug.in/ns/lv2core>
- a owl:Ontology ;
- rdfs:label "LV2" ;
- rdfs:comment "An extensible open standard for audio plugins." ;
- rdfs:seeAlso <lv2.h> ,
- <lv2_util.h> ,
- <lv2core.meta.ttl> ;
- owl:imports doap: .
-
-lv2:Specification
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf doap:Project ;
- rdfs:label "Specification" ;
- rdfs:comment "An LV2 specifiation." .
-
-lv2:Markdown
- a rdfs:Datatype ;
- owl:onDatatype xsd:string ;
- rdfs:label "Markdown" ;
- rdfs:comment "A string in Markdown syntax." .
-
-lv2:documentation
- a rdf:Property ,
- owl:AnnotationProperty ;
- rdfs:range rdfs:Literal ;
- rdfs:label "documentation" ;
- rdfs:comment "Extended documentation." ;
- rdfs:seeAlso <http://www.w3.org/TR/xhtml-basic/> .
-
-lv2:PluginBase
- a rdfs:Class ,
- owl:Class ;
- rdfs:label "Plugin Base" ;
- rdfs:comment "Base class for a plugin-like resource." .
-
-lv2:Plugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:PluginBase ;
- rdfs:label "Plugin" ;
- rdfs:comment "An LV2 plugin." ;
- rdfs:subClassOf [
- a owl:Restriction ;
- owl:onProperty doap:name ;
- owl:someValuesFrom rdf:PlainLiteral ;
- rdfs:comment "A plugin MUST have at least one untranslated doap:name."
- ] , [
- a owl:Restriction ;
- owl:onProperty lv2:port ;
- owl:allValuesFrom lv2:Port ;
- rdfs:comment "All ports on a plugin MUST be fully specified lv2:Port instances."
- ] .
-
-lv2:PortBase
- a rdfs:Class ,
- owl:Class ;
- rdfs:label "Port Base" ;
- rdfs:comment "Base class for a port-like resource." ;
- rdfs:subClassOf [
- a owl:Restriction ;
- owl:onProperty lv2:symbol ;
- owl:cardinality 1 ;
- rdfs:comment "A port MUST have exactly one lv2:symbol."
- ] .
-
-lv2:Port
- a rdfs:Class ,
- owl:Class ;
- rdfs:label "Port" ;
- rdfs:comment "An LV2 plugin port." ;
- rdfs:subClassOf lv2:PortBase ,
- [
- a owl:Restriction ;
- owl:onProperty lv2:name ;
- owl:minCardinality 1 ;
- rdfs:comment "A port MUST have at least one lv2:name."
- ] .
-
-lv2:InputPort
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Port ;
- rdfs:label "Input Port" ;
- rdfs:comment "A port connected to constant data which is read during `run()`." .
-
-lv2:OutputPort
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Port ;
- rdfs:label "Output Port" ;
- rdfs:comment "A port connected to data which is written during `run()`." .
-
-lv2:ControlPort
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Port ;
- rdfs:label "Control Port" ;
- rdfs:comment "A port connected to a single `float`." .
-
-lv2:AudioPort
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Port ;
- rdfs:label "Audio Port" ;
- rdfs:comment "A port connected to an array of float audio samples." .
-
-lv2:CVPort
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Port ;
- rdfs:label "CV Port" ;
- rdfs:comment "A port connected to an array of float control values." .
-
-lv2:port
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:domain lv2:PluginBase ;
- rdfs:range lv2:PortBase ;
- rdfs:label "port" ;
- rdfs:comment "A port (input or output) on this plugin." .
-
-lv2:project
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:range doap:Project ;
- rdfs:label "project" ;
- rdfs:comment "The project this is a part of." .
-
-lv2:prototype
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:label "prototype" ;
- rdfs:comment "The prototype to inherit properties from." .
-
-lv2:minorVersion
- a rdf:Property ,
- owl:DatatypeProperty ;
- rdfs:range xsd:nonNegativeInteger ;
- rdfs:label "minor version" ;
- rdfs:comment "The minor version of this resource." .
-
-lv2:microVersion
- a rdf:Property ,
- owl:DatatypeProperty ;
- rdfs:range xsd:nonNegativeInteger ;
- rdfs:label "micro version" ;
- rdfs:comment "The micro version of this resource." .
-
-lv2:binary
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:range owl:Thing ;
- rdfs:label "binary" ;
- rdfs:comment "The binary of this resource." .
-
-lv2:appliesTo
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:range lv2:Plugin ;
- rdfs:label "applies to" ;
- rdfs:comment "The plugin this resource is related to." .
-
-lv2:index
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:range xsd:unsignedInt ;
- rdfs:label "index" ;
- rdfs:comment "A non-negative zero-based 32-bit index." .
-
-lv2:Symbol
- a rdfs:Datatype ;
- owl:onDatatype xsd:string ;
- owl:withRestrictions (
- [
- xsd:pattern "[_a-zA-Z][_a-zA-Z0-9]*"
- ]
- ) ;
- rdfs:label "Symbol" ;
- rdfs:comment "A short restricted name used as a strong identifier." .
-
-lv2:symbol
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "symbol" ;
- rdfs:range lv2:Symbol ,
- rdf:PlainLiteral ;
- rdfs:comment "The symbol that identifies this resource in the context of its parent." .
-
-lv2:name
- a rdf:Property ,
- owl:DatatypeProperty ;
- rdfs:label "name" ;
- rdfs:range xsd:string ;
- rdfs:comment "A display name for labeling in a user interface." .
-
-lv2:shortName
- a rdf:Property ,
- owl:DatatypeProperty ;
- rdfs:label "short name" ;
- rdfs:range xsd:string ;
- rdfs:comment "A short display name for labeling in a user interface." .
-
-lv2:Designation
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf rdf:Property ;
- rdfs:label "Designation" ;
- rdfs:comment "A designation which defines the meaning of some data." .
-
-lv2:Channel
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Designation ;
- rdfs:label "Channel" ;
- rdfs:comment "An individual channel, such as left or right." .
-
-lv2:Parameter
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Designation ,
- rdf:Property ;
- rdfs:label "Parameter" ;
- rdfs:comment "A property that is a plugin parameter." .
-
-lv2:designation
- a rdf:Property ,
- owl:ObjectProperty ,
- owl:FunctionalProperty ;
- rdfs:range rdf:Property ;
- rdfs:label "designation" ;
- rdfs:comment "The designation that defines the meaning of this input or output." .
-
-lv2:latency
- a rdf:Property ,
- owl:DatatypeProperty ;
- rdfs:range xsd:nonNegativeInteger ;
- rdfs:label "latency" ;
- rdfs:comment "The latency introduced, in frames." .
-
-lv2:freeWheeling
- a rdf:Property ,
- owl:DatatypeProperty ;
- rdfs:label "free-wheeling" ;
- rdfs:range xsd:boolean ;
- rdfs:comment "Whether processing is currently free-wheeling." .
-
-lv2:enabled
- a rdf:Property ,
- owl:DatatypeProperty ;
- rdfs:label "enabled" ;
- rdfs:range xsd:int ;
- rdfs:comment "Whether processing is currently enabled (not bypassed)." .
-
-lv2:control
- a lv2:Channel ;
- rdfs:label "control" ;
- rdfs:comment "The primary control channel." .
-
-lv2:Point
- a rdfs:Class ,
- owl:Class ;
- rdfs:label "Point" ;
- rdfs:comment "An interesting point in a value range." .
-
-lv2:ScalePoint
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Point ;
- rdfs:label "Scale Point" ;
- rdfs:comment "A single `float` Point for control inputs." .
-
-lv2:scalePoint
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:range lv2:ScalePoint ;
- rdfs:label "scale point" ;
- rdfs:comment "A scale point of a port or parameter." .
-
-lv2:default
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "default" ;
- rdfs:comment "The default value for this control." .
-
-lv2:minimum
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "minimum" ;
- rdfs:comment "The minimum value for this control." .
-
-lv2:maximum
- a rdf:Property ,
- owl:DatatypeProperty ,
- owl:FunctionalProperty ;
- rdfs:label "maximum" ;
- rdfs:comment "The maximum value for this control." .
-
-lv2:Feature
- a rdfs:Class ,
- owl:Class ;
- rdfs:label "Feature" ;
- rdfs:comment "An additional feature which may be used or required." .
-
-lv2:optionalFeature
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:range lv2:Feature ;
- rdfs:label "optional feature" ;
- rdfs:comment "An optional feature that is supported if available." .
-
-lv2:requiredFeature
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:range lv2:Feature ;
- rdfs:label "required feature" ;
- rdfs:comment "A required feature that must be available to run." .
-
-lv2:ExtensionData
- a rdfs:Class ,
- owl:Class ;
- rdfs:label "Extension Data" ;
- rdfs:comment "Additional data defined by an extension." .
-
-lv2:extensionData
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:range lv2:ExtensionData ;
- rdfs:label "extension data" ;
- rdfs:comment "Extension data provided by a plugin or other binary." .
-
-lv2:isLive
- a lv2:Feature ;
- rdfs:label "is live" ;
- rdfs:comment "Plugin has a real-time dependency." .
-
-lv2:inPlaceBroken
- a lv2:Feature ;
- rdfs:label "in-place broken" ;
- rdfs:comment "Plugin requires separate locations for input and output." .
-
-lv2:hardRTCapable
- a lv2:Feature ;
- rdfs:label "hard real-time capable" ;
- rdfs:comment "Plugin is capable of running in a hard real-time environment." .
-
-lv2:PortProperty
- a rdfs:Class ,
- owl:Class ;
- rdfs:label "Port Property" ;
- rdfs:comment "A particular property that a port has." .
-
-lv2:portProperty
- a rdf:Property ,
- owl:ObjectProperty ;
- rdfs:domain lv2:Port ;
- rdfs:range lv2:PortProperty ;
- rdfs:label "port property" ;
- rdfs:comment "A property of this port hosts may find useful." .
-
-lv2:connectionOptional
- a lv2:PortProperty ;
- rdfs:label "connection optional" ;
- rdfs:comment "The property that this port may be connected to NULL." .
-
-lv2:reportsLatency
- a lv2:PortProperty ;
- owl:deprecated "true"^^xsd:boolean ;
- rdfs:label "reports latency" ;
- rdfs:comment "Control port value is the plugin latency in frames." .
-
-lv2:toggled
- a lv2:PortProperty ;
- rdfs:label "toggled" ;
- rdfs:comment "Control port value is considered a boolean toggle." .
-
-lv2:sampleRate
- a lv2:PortProperty ;
- rdfs:label "sample rate" ;
- rdfs:comment "Control port bounds are interpreted as multiples of the sample rate." .
-
-lv2:integer
- a lv2:PortProperty ;
- rdfs:label "integer" ;
- rdfs:comment "Control port values are treated as integers." .
-
-lv2:enumeration
- a lv2:PortProperty ;
- rdfs:label "enumeration" ;
- rdfs:comment "Control port scale points represent all useful values." .
-
-lv2:isSideChain
- a lv2:PortProperty ;
- rdfs:label "is side-chain" ;
- rdfs:comment "Signal for port should not be considered a main input or output." .
-
-lv2:GeneratorPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Plugin ;
- rdfs:label "Generator Plugin" ;
- rdfs:comment "A plugin that generates new sound internally." .
-
-lv2:InstrumentPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:GeneratorPlugin ;
- rdfs:label "Instrument Plugin" ;
- rdfs:comment "A plugin intended to be played as a musical instrument." .
-
-lv2:OscillatorPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:GeneratorPlugin ;
- rdfs:label "Oscillator Plugin" ;
- rdfs:comment "A plugin that generates output with an oscillator." .
-
-lv2:UtilityPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Plugin ;
- rdfs:label "Utility Plugin" ;
- rdfs:comment "A utility plugin that is not a typical audio effect or generator." .
-
-lv2:ConverterPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:UtilityPlugin ;
- rdfs:label "Converter Plugin" ;
- rdfs:comment "A plugin that converts its input into a different form." .
-
-lv2:AnalyserPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:UtilityPlugin ;
- rdfs:label "Analyser Plugin" ;
- rdfs:comment "A plugin that analyses its input and emits some useful information." .
-
-lv2:MixerPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:UtilityPlugin ;
- rdfs:label "Mixer Plugin" ;
- rdfs:comment "A plugin that mixes some number of inputs into some number of outputs." .
-
-lv2:SimulatorPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Plugin ;
- rdfs:label "Simulator Plugin" ;
- rdfs:comment "A plugin that aims to emulate some environmental effect or musical equipment." .
-
-lv2:DelayPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Plugin ;
- rdfs:label "Delay Plugin" ;
- rdfs:comment "An effect that intentionally delays its input as an effect." .
-
-lv2:ModulatorPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Plugin ;
- rdfs:label "Modulator Plugin" ;
- rdfs:comment "An effect that modulats its input as an effect." .
-
-lv2:ReverbPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Plugin ,
- lv2:SimulatorPlugin ,
- lv2:DelayPlugin ;
- rdfs:label "Reverb Plugin" ;
- rdfs:comment "An effect that adds reverberation to its input." .
-
-lv2:PhaserPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:ModulatorPlugin ;
- rdfs:label "Phaser Plugin" ;
- rdfs:comment "An effect that periodically sweeps a filter over its input." .
-
-lv2:FlangerPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:ModulatorPlugin ;
- rdfs:label "Flanger Plugin" ;
- rdfs:comment "An effect that mixes slightly delayed copies of its input." .
-
-lv2:ChorusPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:ModulatorPlugin ;
- rdfs:label "Chorus Plugin" ;
- rdfs:comment "An effect that mixes significantly delayed copies of its input." .
-
-lv2:FilterPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Plugin ;
- rdfs:label "Filter Plugin" ;
- rdfs:comment "An effect that manipulates the frequency spectrum of its input." .
-
-lv2:LowpassPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:FilterPlugin ;
- rdfs:label "Lowpass Filter Plugin" ;
- rdfs:comment "A filter that attenuates frequencies above some cutoff." .
-
-lv2:BandpassPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:FilterPlugin ;
- rdfs:label "Bandpass Filter Plugin" ;
- rdfs:comment "A filter that attenuates frequencies outside of some band." .
-
-lv2:HighpassPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:FilterPlugin ;
- rdfs:label "Highpass Filter Plugin" ;
- rdfs:comment "A filter that attenuates frequencies below some cutoff." .
-
-lv2:CombPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:FilterPlugin ;
- rdfs:label "Comb FilterPlugin" ;
- rdfs:comment "A filter that adds a delayed version of its input to itself." .
-
-lv2:AllpassPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:FilterPlugin ;
- rdfs:label "Allpass Plugin" ;
- rdfs:comment "A filter that changes the phase relationship between frequency components." .
-
-lv2:EQPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:FilterPlugin ;
- rdfs:label "Equaliser Plugin" ;
- rdfs:comment "A plugin that adjusts the balance between frequency components." .
-
-lv2:ParaEQPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:EQPlugin ;
- rdfs:label "Parametric EQ Plugin" ;
- rdfs:comment "A plugin that adjusts the balance between configurable frequency components." .
-
-lv2:MultiEQPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:EQPlugin ;
- rdfs:label "Multiband EQ Plugin" ;
- rdfs:comment "A plugin that adjusts the balance between a fixed set of frequency components." .
-
-lv2:SpatialPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Plugin ;
- rdfs:label "Spatial Plugin" ;
- rdfs:comment "A plugin that manipulates the position of audio in space." .
-
-lv2:SpectralPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Plugin ;
- rdfs:label "Spectral Plugin" ;
- rdfs:comment "A plugin that alters the spectral properties of audio." .
-
-lv2:PitchPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:SpectralPlugin ;
- rdfs:label "Pitch Shifter Plugin" ;
- rdfs:comment "A plugin that shifts the pitch of its input." .
-
-lv2:AmplifierPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:DynamicsPlugin ;
- rdfs:label "Amplifier Plugin" ;
- rdfs:comment "A plugin that primarily changes the volume of its input." .
-
-lv2:EnvelopePlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:DynamicsPlugin ;
- rdfs:label "Envelope Plugin" ;
- rdfs:comment "A plugin that applies an envelope to its input." .
-
-lv2:DistortionPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Plugin ;
- rdfs:label "Distortion Plugin" ;
- rdfs:comment "A plugin that adds distortion to its input." .
-
-lv2:WaveshaperPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:DistortionPlugin ;
- rdfs:label "Waveshaper Plugin" ;
- rdfs:comment "An effect that alters the shape of input waveforms." .
-
-lv2:DynamicsPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Plugin ;
- rdfs:label "Dynamics Plugin" ;
- rdfs:comment "A plugin that alters the envelope or dynamic range of its input." .
-
-lv2:CompressorPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:DynamicsPlugin ;
- rdfs:label "Compressor Plugin" ;
- rdfs:comment "A plugin that reduces the dynamic range of its input." .
-
-lv2:ExpanderPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:DynamicsPlugin ;
- rdfs:label "Expander Plugin" ;
- rdfs:comment "A plugin that expands the dynamic range of its input." .
-
-lv2:LimiterPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:DynamicsPlugin ;
- rdfs:label "Limiter Plugin" ;
- rdfs:comment "A plugin that limits its input to some maximum level." .
-
-lv2:GatePlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:DynamicsPlugin ;
- rdfs:label "Gate Plugin" ;
- rdfs:comment "A plugin that attenuates signals below some threshold." .
-
-lv2:FunctionPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:UtilityPlugin ;
- rdfs:label "Function Plugin" ;
- rdfs:comment "A plugin whose output is a mathematical function of its input." .
-
-lv2:ConstantPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:GeneratorPlugin ;
- rdfs:label "Constant Plugin" ;
- rdfs:comment "A plugin that emits constant values." .
-
-lv2:MIDIPlugin
- a rdfs:Class ,
- owl:Class ;
- rdfs:subClassOf lv2:Plugin ;
- rdfs:label "MIDI Plugin" ;
- rdfs:comment "A plugin that primarily processes MIDI messages." .
-
diff --git a/lv2/core/manifest.ttl b/lv2/core/manifest.ttl
deleted file mode 100644
index 6e61dde..0000000
--- a/lv2/core/manifest.ttl
+++ /dev/null
@@ -1,15 +0,0 @@
-@prefix doap: <http://usefulinc.com/ns/doap#> .
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-
-<http://lv2plug.in/ns/lv2core>
- a lv2:Specification ;
- lv2:minorVersion 18 ;
- lv2:microVersion 4 ;
- rdfs:seeAlso <lv2core.ttl> .
-
-<http://lv2plug.in/ns/lv2>
- a doap:Project ;
- rdfs:seeAlso <meta.ttl> ,
- <people.ttl> .
-
diff --git a/lv2/core/meson.build b/lv2/core/meson.build
deleted file mode 100644
index a629d0a..0000000
--- a/lv2/core/meson.build
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2022 David Robillard <d@drobilla.net>
-# SPDX-License-Identifier: CC0-1.0 OR ISC
-
-name = 'core'
-path = 'ns' / 'lv2core'
-
-core_data = files(
- 'lv2core.meta.ttl',
- 'lv2core.ttl',
- 'manifest.ttl',
- 'meta.ttl',
- 'people.ttl',
-)
-
-headers = files(
- 'attributes.h',
- 'lv2.h',
- 'lv2_util.h',
-)
-
-# Install specification bundle
-install_data(core_data, install_dir: lv2dir / name + '.lv2')
-install_headers(headers, subdir: 'lv2' / name)
-if get_option('old_headers')
- install_headers(headers, subdir: 'lv2' / 'lv2plug.in' / 'ns' / 'lv2core')
-endif
-
-# Build documentation
-if build_docs
- lv2_core_docs = custom_target(
- 'lv2core.html',
- command: lv2specgen_command_prefix + [
- '--docdir=../html',
- '--style-uri=../aux/style.css',
- '@INPUT@',
- '@OUTPUT@',
- ],
- depends: doc_deps,
- input: files('lv2core.ttl'),
- install: true,
- install_dir: lv2_docdir / 'ns',
- output: 'lv2core.html',
- )
-endif
diff --git a/lv2/core/meta.ttl b/lv2/core/meta.ttl
deleted file mode 100644
index 34cfa4f..0000000
--- a/lv2/core/meta.ttl
+++ /dev/null
@@ -1,224 +0,0 @@
-@prefix dcs: <http://ontologi.es/doap-changeset#> .
-@prefix doap: <http://usefulinc.com/ns/doap#> .
-@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
-@prefix meta: <http://lv2plug.in/ns/meta#> .
-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-
-<http://opensource.org/licenses/isc>
- rdf:value """
-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.
-""" .
-
-<http://lv2plug.in/ns/lv2>
- a doap:Project ;
- lv2:symbol "lv2" ;
- rdfs:label "LV2" ;
- rdfs:comment "The LV2 Plugin Interface Project." ;
- doap:name "LV2" ;
- doap:license <http://opensource.org/licenses/isc> ;
- doap:shortdesc "The LV2 Plugin Interface Project." ;
- doap:description "LV2 is a plugin standard for audio systems. It defines a minimal yet extensible C API for plugin code and a format for plugin bundles" ;
- doap:created "2006-05-10" ;
- doap:homepage <http://lv2plug.in/> ;
- doap:mailing-list <http://lists.lv2plug.in/listinfo.cgi/devel-lv2plug.in> ;
- doap:programming-language "C" ;
- doap:developer <http://drobilla.net/drobilla#me> ,
- <http://plugin.org.uk/swh.xrdf#me> ;
- doap:helper meta:larsl ,
- meta:bmwiedemann ,
- meta:gabrbedd ,
- meta:daste ,
- meta:kfoltman ,
- meta:paniq ;
- doap:release [
- doap:revision "1.18.5" ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Fix or avoid new compiler and tool warnings."
- ] , [
- rdfs:label "Add dark mode style for documentation."
- ] , [
- rdfs:label "Clean up and modernize Python support code."
- ] , [
- rdfs:label "Remove archaic properties from foaf vocabulary."
- ] , [
- rdfs:label "Replace canonical dcs ontology with a minimal version for LV2."
- ] , [
- rdfs:label "Switch to Meson build system."
- ]
- ]
- ] , [
- doap:revision "1.18.4" ;
- doap:created "2022-05-26" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.18.4.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Fix spelling errors."
- ] , [
- rdfs:label "Fix build issues with newer toolchains."
- ]
- ]
- ] , [
- doap:revision "1.18.2" ;
- doap:created "2021-01-07" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.18.2.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "eg-sampler: Save and restore gain parameter value."
- ] , [
- rdfs:label "Various code cleanups and infrastructure improvements."
- ]
- ]
- ] , [
- doap:revision "1.18.0" ;
- doap:created "2020-04-26" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.18.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Improve documentation."
- ] , [
- rdfs:label "Separate extended documentation from primary data."
- ]
- ]
- ] , [
- doap:revision "1.16.0" ;
- doap:created "2019-02-03" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.16.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Add core/attributes.h utility header."
- ] , [
- rdfs:label "eg-sampler: Add waveform display to UI."
- ] , [
- rdfs:label "eg-midigate: Respond to \"all notes off\" MIDI message."
- ] , [
- rdfs:label "Simplify use of lv2specgen."
- ] , [
- rdfs:label "Add lv2_validate utility."
- ] , [
- rdfs:label "Install headers to simpler paths."
- ] , [
- rdfs:label "Aggressively deprecate uri-map and event extensions."
- ] , [
- rdfs:label "Upgrade build system and fix building with Python 3.7."
- ]
- ]
- ] , [
- doap:revision "1.14.0" ;
- doap:created "2016-09-19" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.14.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label """eg-scope: Don't feed back UI state updates."""
- ] , [
- rdfs:label "eg-sampler: Fix handling of state file paths."
- ] , [
- rdfs:label "eg-sampler: Support thread-safe state restoration."
- ]
- ]
- ] , [
- doap:revision "1.12.0" ;
- doap:created "2015-04-07" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.12.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "eg-sampler: Support patch:Get, and request initial state from UI."
- ] , [
- rdfs:label "eg-sampler: Add gain parameter."
- ] , [
- rdfs:label "Fix merging of version histories in specification documentation."
- ] , [
- rdfs:label "Improve API documentation."
- ] , [
- rdfs:label "Simplify property restrictions by removing redundancy."
- ]
- ]
- ] , [
- doap:revision "1.10.0" ;
- doap:created "2014-08-08" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.10.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "lv2specgen: Display deprecated warning on classes marked owl:deprecated."
- ] , [
- rdfs:label "Fix -Wconversion warnings in headers."
- ] , [
- rdfs:label "Upgrade to waf 1.7.16."
- ]
- ]
- ] , [
- doap:revision "1.8.0" ;
- doap:created "2014-01-04" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.8.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Add scope example plugin from Robin Gareus."
- ] , [
- rdfs:label "lv2specgen: Fix links to externally defined terms."
- ] , [
- rdfs:label "Install lv2specgen for use by other projects."
- ]
- ]
- ] , [
- doap:revision "1.6.0" ;
- doap:created "2013-08-09" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.6.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Fix port indices of metronome example."
- ] , [
- rdfs:label "Fix lv2specgen usage from command line."
- ] , [
- rdfs:label "Upgrade to waf 1.7.11."
- ]
- ]
- ] , [
- doap:revision "1.4.0" ;
- doap:created "2013-02-17" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.4.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Add metronome example plugin to demonstrate sample accurate tempo sync."
- ] , [
- rdfs:label "Generate book-style HTML documentation from example plugins."
- ]
- ]
- ] , [
- doap:revision "1.2.0" ;
- doap:created "2012-10-14" ;
- doap:file-release <http://lv2plug.in/spec/lv2-1.2.0.tar.bz2> ;
- dcs:blame <http://drobilla.net/drobilla#me> ;
- dcs:changeset [
- dcs:item [
- rdfs:label "Move all project metadata for extensions (e.g. change log) to separate files to spare hosts from loading them during discovery."
- ] , [
- rdfs:label "Use stricter datatype definitions conformant with the XSD and OWL specifications for better validation."
- ]
- ]
- ] , [
- doap:revision "1.0.0" ;
- doap:created "2012-04-16" ;
- 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 as a unified project. Projects can now simply depend on the pkg-config package 'lv2' for all official LV2 APIs."""
- ] , [
- rdfs:label "New extensions: atom, log, parameters, patch, port-groups, port-props, resize-port, state, time, worker."
- ]
- ]
- ] .
-
diff --git a/lv2/core/people.ttl b/lv2/core/people.ttl
deleted file mode 100644
index 52d0384..0000000
--- a/lv2/core/people.ttl
+++ /dev/null
@@ -1,51 +0,0 @@
-@prefix foaf: <http://xmlns.com/foaf/0.1/> .
-@prefix meta: <http://lv2plug.in/ns/meta#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-
-<http://drobilla.net/drobilla#me>
- a foaf:Person ;
- foaf:name "David Robillard" ;
- foaf:mbox <mailto:d@drobilla.net> ;
- rdfs:seeAlso <http://drobilla.net/drobilla> .
-
-<http://plugin.org.uk/swh.xrdf#me>
- a foaf:Person ;
- foaf:name "Steve Harris" ;
- foaf:mbox <mailto:steve@plugin.org.uk> ;
- rdfs:seeAlso <http://plugin.org.uk/swh.xrdf> .
-
-meta:larsl
- a foaf:Person ;
- foaf:name "Lars Luthman" ;
- foaf:mbox <mailto:lars.luthman@gmail.com> .
-
-meta:gabrbedd
- a foaf:Person ;
- foaf:name "Gabriel M. Beddingfield" ;
- foaf:mbox <mailto:gabrbedd@gmail.com> .
-
-meta:daste
- a foaf:Person ;
- foaf:name """Stefano D'Angelo""" ;
- foaf:mbox <mailto:zanga.mail@gmail.com> .
-
-meta:kfoltman
- a foaf:Person ;
- foaf:name "Krzysztof Foltman" ;
- foaf:mbox <mailto:wdev@foltman.com> .
-
-meta:paniq
- a foaf:Person ;
- foaf:name "Leonard Ritter" ;
- foaf:mbox <mailto:paniq@paniq.org> .
-
-meta:harry
- a foaf:Person ;
- foaf:name "Harry van Haaren" ;
- foaf:mbox <harryhaaren@gmail.com> .
-
-meta:bmwiedemann
- a foaf:Person ;
- foaf:name "Bernhard M. Wiedemann" ;
- foaf:mbox <bwiedemann@suse.de> .
-