Description

This is an index of all official LV2 specifications. These pages are high-level descriptions of each specification, and vocabulary references with API links where appropriate. A global API reference is also available.

Index

Name Description Version Status
atomA generic value container and several data types.2.0Stable
buf-sizeAccess to, and restrictions on, buffer sizes.1.2Stable
data-accessProvides access to LV2_Descriptor::extension_data().1.6Stable
dynmanifestSupport for dynamic data generation.1.6Stable
eventA port-based real-time generic event interface.1.12Deprecated
instance-accessProvides access to the LV2_Handle of a plugin.1.6Stable
logA feature for writing log messages.2.2Stable
lv2coreAn audio plugin interface specification.12.2Stable
midiA normalised definition of raw MIDI.1.8Stable
morphPorts that can dynamically change type.1.0Stable
optionsInstantiation time options.1.2Stable
parametersCommon parameters for audio processing.1.2Stable
patchMessages for accessing and manipulating properties.2.2Stable
port-groupsMulti-channel groups of LV2 ports.1.2Stable
port-propsVarious port properties.1.2Stable
presetsPresets for LV2 plugins. 2.8Stable
resize-portDynamically sized LV2 port buffers.1.0Stable
stateAn interface for LV2 plugins to save and restore state.2.0Stable
timeProperties for describing time.1.2Stable
uiLV2 plugin UIs of any type.2.18Stable
unitsUnits for LV2 values.5.8Stable
uri-mapA feature for mapping URIs to integers.1.6Deprecated
uridFeatures for mapping URIs to and from integers.1.4Stable
workerSupport for a non-realtime plugin worker method.1.0Stable

History

Version 1.10.0 (2014-08-08)
  • lv2specgen: Display deprecated warning on classes marked owl:deprecated.
  • Upgrade to waf 1.7.16.
  • Fix -Wconversion warnings in headers.
  • lv2core: Clarify lv2_descriptor() and lv2_lib_descriptor() documentation.
  • atom: Deprecate Blank and Resource in favour of just Object.
  • atom: Add lv2_atom_forge_is_object_type() and lv2_atom_forge_is_blank() to ease backwards compatibility.
  • atom: Add lv2_atom_forge_key() for terser object writing.
  • atom: Add lv2_atom_sequence_clear() and lv2_atom_sequence_append_event() helper functions.
  • event: Minor documentation improvements.
  • patch: Add patch:sequenceNumber for associating replies with requests.
  • ui: Fix identifier typos in documentation.
  • ui: Add show interface so UIs can gracefully degrade to separate windows if hosts can not use their widget directly.
Version 1.8.0 (2014-01-04)
  • Add scope example plugin from Robin Gareus.
  • lv2specgen: Fix links to externally defined terms.
  • Install lv2specgen for use by other projects.
  • lv2core: Add lv2:prototype for property inheritance.
  • atom: Make lv2_atom_*_is_end() arguments const.
  • log: Add missing include string.h to logger.h for memset.
  • ui: Fix LV2_UI_INVALID_PORT_INDEX identifier in documentation.
Version 1.6.0 (2013-08-09)
  • Upgrade to waf 1.7.11.
  • Fix port indices of metronome example.
  • Fix lv2specgen usage from command line.
  • atom: Fix crash in forge.h when pushing atoms to a full buffer.
  • ui: Add idle interface so native UIs and foreign toolkits can drive their event loops.
  • ui: Add ui:updateRate property.
Version 1.6 (2013-05-26)
  • Fix crash in forge.h when pushing atoms to a full buffer.
Version 2.14 (2013-03-18)
  • Add idle interface so native UIs and foreign toolkits can drive their event loops.
  • Add ui:updateRate property.
Version 1.4.0 (2013-02-17)
  • Generate book-style HTML documentation from example plugins.
  • Add metronome example plugin to demonstrate sample accurate tempo sync.
  • lv2core: Add lv2:EnvelopePlugin class.
  • lv2core: Make lv2:Parameter rdfs:subClassOf rdf:Property.
  • lv2core: Set range of lv2:designation to lv2:Designation.
  • lv2core: Add lv2:control for designating primary event-based control ports.
  • lv2core: Reserve minor version 0 for unstable development plugins.
  • atom: Improve atom documentation.
  • atom: Fix lv2_atom_sequence_end().
  • atom: Remove atom:stringType in favour of owl:onDatatype so generic tools can understand and validate atom literals.
  • buf-size: Fix typo in bufsz:sequenceSize label.
  • event: Fix incorrect return type in lv2_event_get().
  • log: Add logger convenience API.
  • options: Set the range of opts:requiredOption and opts:supportedOption to opts:Option.
  • patch: Make patch:Set a compact message for setting one property.
  • patch: Add patch:readable and patch:writable for describing available properties.
  • state: Add state:loadDefaultState feature so plugins can have their default state loaded without hard-coding default state as a special case.
  • ui: Fix incorrect linker flag in ui:makeSONameResident documentation.
Version 1.4 (2013-01-27)
  • Improve atom documentation.
  • Fix lv2_atom_sequence_end().
  • Remove atom:stringType in favour of owl:onDatatype so generic tools can understand and validate atom literals.
Version 2.0 (2013-01-16)
  • Add state:loadDefaultState feature so plugins can have their default state loaded without hard-coding default state as a special case.
Version 1.10 (2013-01-13)
  • Fix incorrect return type in lv2_event_get().
Version 2.0 (2013-01-10)
  • Add patch:readable and patch:writable for describing available properties.
  • Make patch:Set a compact message for setting one property.
Version 2.0 (2013-01-08)
  • Add logger convenience API.
Version 1.2 (2012-12-21)
  • Fix typo in bufsz:sequenceSize label.
Version 2.12 (2012-12-01)
  • Fix incorrect linker flag in ui:makeSONameResident documentation.
Version 1.2.0 (2012-10-14)
  • Use stricter datatype definitions conformant with the XSD and OWL specifications for better validation.
  • Move all project metadata for extensions (e.g. change log) to separate files to spare hosts from loading them during discovery.
  • lv2core: Use consistent label style.
  • atom: Add LV2_ATOM_CONTENTS_CONST and LV2_ATOM_BODY_CONST.
  • atom: Fix implicit conversions in forge.h that are invalid in C++11.
  • atom: Add lv2_atom_object_body_get().
  • atom: Use consistent label style.
  • atom: Fix lv2_atom_object_next() on 32-bit platforms.
  • atom: Fix outdated documentation in forge.h.
  • buf-size: Initial release.
  • dynmanifest: Use consistent label style.
  • event: Make event iterator gracefully handle optional ports.
  • event: Use more precise domain and range for EventPort properties.
  • event: Use consistent label style.
  • event: Remove asserts from event-helper.h.
  • midi: Add midi:binding and midi:channel predicates.
  • midi: Use consistent label style.
  • midi: Add midi:HexByte datatype for status bytes and masks.
  • midi: Add C definitions for message types and standard controllers.
  • midi: Fix definition of SystemExclusive status byte.
  • midi: Remove non-standard midi:Tick message type.
  • morph: Initial release.
  • options: Initial release.
  • parameters: Add param:sampleRate.
  • parameters: Use consistent label style.
  • parameters: Add parameters.h of URI defines for convenience.
  • port-groups: Use consistent label style.
  • port-props: Use consistent label style.
  • presets: Use consistent label style.
  • state: Use consistent label style.
  • time: Use consistent label style.
  • urid: Fix typo in urid:unmap documentation.
  • ui: Add types for WindowsUI, CocoaUI, and Gtk3UI.
  • ui: Add missing LV2_SYMBOL_EXPORT declaration for lv2ui_descriptor prototype.
  • ui: Use consistent label style.
  • units: Remove units:name in favour of rdfs:label.
  • units: Use consistent label style.
Version 8.0 (2012-04-17)
  • Relax the range of lv2:index so it can be used for things other than ports.
  • Fix LV2_SYMBOL_EXPORT and lv2_descriptor prototype for Windows.
  • Add lv2:CVPort.
  • 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.
  • Remove lv2:Resource, which turned out to be meaningless.
  • Add metadata concept of a designation, a channel or parameter description which can be assigned to ports for more intelligent use by hosts.
  • Merge with unified LV2 package.
Version 1.0.0 (2012-04-16)
  • Initial release as a unified project. Projects can now simply depend on the pkg-config package 'lv2' for all official LV2 APIs.
  • New extensions: atom, log, parameters, patch, port-groups, port-props, resize-port, state, time, worker.
  • lv2core: Add metadata concept of a designation, a channel or parameter description which can be assigned to ports for more intelligent use by hosts.
  • lv2core: 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.
  • lv2core: Remove lv2:Resource, which turned out to be meaningless.
  • lv2core: Relax the range of lv2:index so it can be used for things other than ports.
  • lv2core: Add lv2:CVPort.
  • lv2core: Merge with unified LV2 package.
  • lv2core: Fix LV2_SYMBOL_EXPORT and lv2_descriptor prototype for Windows.
  • atom: Initial release.
  • data-access: Merge with unified LV2 package.
  • dynmanifest: Merge with unified LV2 package.
  • event: Fix bug in lv2_event_reserve().
  • event: Fix incorrect ranges of some properties.
  • event: Merge with unified LV2 package.
  • instance-access: Merge with unified LV2 package.
  • log: Initial release.
  • midi: Add class definitions for various message types.
  • midi: Document how to serialise a MidiEvent to a string.
  • midi: Merge with unified LV2 package.
  • parameters: Initial release.
  • patch: Initial release.
  • port-groups: Initial release.
  • port-props: Initial release.
  • presets: Add pset:preset property for describing the preset currently applied to a plugin instance.
  • presets: Remove pset:appliesTo property, use lv2:appliesTo instead.
  • presets: Merge with unified LV2 package.
  • resize-port: Initial release.
  • state: Initial release.
  • time: Initial release.
  • uri-map: Merge with unified LV2 package.
  • urid: Merge with unified LV2 package.
  • urid: Add feature struct names.
  • worker: Initial release.
  • ui: Add ui:portMap for accessing ports by symbol, allowing for UIs to be distributed separately from plugins.
  • ui: Merge with unified LV2 package.
  • ui: Add port protocols and a dynamic notification subscription mechanism, for more flexible communication, and audio port metering without control port kludges.
  • ui: Add touch feature to notify the host that the user has grabbed a control.
  • ui: Add ui:parent and ui:resize.
  • ui: Add support for referring to ports by symbol.
  • units: Merge with unified LV2 package.
  • units: Add header of URI defines.
  • units: Add unit for audio frames.
Version 6.0 (2011-11-21)
  • Make lv2core.ttl a valid OWL 2 DL ontology.
  • Remove lv2config in favour of the simple convention that specifications install headers to standard URI-based paths.
  • Add lv2:extensionData and lv2:ExtensionData for plugins to indicate that they support some URI for extension_data().
  • Switch to the ISC license, a simple BSD-style license (with permission of all contributors to lv2.h and its ancestor, ladspa.h).
  • Rename core.lv2 and lv2.ttl to lv2core.lv2 and lv2core.ttl to adhere to modern conventions.
  • Improve documentation.
Version 1.0 (2011-11-21)
  • Initial release.
Version 1.4 (2011-11-21)
  • Update packaging.
  • Deprecate uri-map in favour of urid.
Version 5.4 (2011-11-21)
  • Make units.ttl a valid OWL 2 DL ontology.
  • Improve documentation.
  • Define used but undefined resources (units:name, units:render, units:symbol, units:Conversion, units:conversion, units:prefixConversion, units:to, and units:factor).
  • Update packaging.
Version 2.4 (2011-11-21)
  • Add Qt4 and X11 widget types.
  • Deprecate ui:makeSONameResident.
  • Make ui.ttl a valid OWL 2 DL ontology.
  • Install header to URI-based system path.
  • Add pkg-config file.
Version 2.2 (2011-11-21)
  • Update packaging.
  • Improve documentation.
Version 1.4 (2011-11-21)
  • Improve documentation.
  • Update packaging.
Version 1.4 (2011-11-21)
  • Update packaging.
  • Improve documentation.
Version 1.4 (2011-11-21)
  • Update packaging.
Version 1.4 (2011-11-21)
  • Update packaging.
  • Improve documentation.
Version 1.2 (2011-05-26)
  • Mark up documentation in HTML using lv2:documentation.
  • Add build system (for installation).
Version 2.2 (2011-05-26)
  • Use lv2:Specification to be discovered as an extension.
  • Add build system (for installation).
  • Convert documentation to HTML and use lv2:documentation.
Version 1.2 (2011-05-26)
  • Switch to ISC license.
  • Add build system for installation.
Version 1.2 (2011-05-26)
  • Switch to ISC license.
  • Add build system for installation.
Version 1.2 (2011-05-26)
  • Convert documentation to HTML and use lv2:documentation.
  • Use lv2:Specification to be discovered as an extension.
  • Add build system (for installation).
Version 1.2 (2011-05-26)
  • Switch to ISC license.
  • Add build system for installation.
Version 4.0 (2011-03-18)
  • Add lv2:FunctionPlugin and lv2:ConstantPlugin classes.
  • Move lv2:AmplifierPlugin under lv2:DynamicsPlugin.
  • More precisely define properties with OWL.
  • Add generic lv2:Resource and lv2:PluginBase classes.
  • Define lv2:documentation and use it to document lv2core.
  • Fix definition of lv2:minimum etc. (used for values, not scale points).
  • Loosen domain of lv2:optionalFeature and lv2:requiredFeature (to allow re-use in extensions).
  • Move project metadata to manifest.
  • Define lv2:binary (MUST be in manifest.ttl).
  • Define run() pre-roll special case (sample_count == 0).
  • Define lv2:minorVersion and lv2:microVersion (MUST be in manifest.ttl).
  • Make doap:license suggested, but not required (for wrappers).
  • Add lv2:enumeration port property.
Version 1.0 (2010-11-24)
  • Initial release.
Version 1.0 (2010-10-18)
  • Initial release.
Version 2.0 (2010-10-06)
  • Initial release.
Version 5.2 (2010-10-05)
  • Convert documentation to HTML and use lv2:documentation.
  • Add build system (for installation).
Version 5.0 (2010-10-05)
  • Define used but undefined resources (units:name, units:render, units:symbol, units:Conversion, units:conversion, units:prefixConversion, units:to, and units:factor).
  • Initial release.
  • Update packaging.
  • Improve documentation.
Version 2.0 (2010-10-04)
  • Initial release.
Version 1.0 (2010-10-04)
  • Initial release.
Version 1.0 (2010-10-04)
  • Initial release.
Version 1.0 (2010-10-04)
  • Initial release.
Version 3.0 (2008-11-08)
  • Require that serialisations refer to ports by symbol rather than index.
  • Minor stylistic changes to lv2.ttl.
  • No header changes.
Version 2.0 (2008-02-10)
  • Initial release.