Main Page
From Lv2
Contents |
[edit] Overview
LV2 plugins are small pieces of software that can process or generate signals, mainly audio, but can also be used for other purposes and data types. Since they are "plugins" they do not run as programs on their own but are loaded into other processes, called hosts, at runtime. They can be used e.g. as realtime effects in a recording program, oscillators and filters in a modular synth, or batch processing effects in a sample editor.
A plugin consists of some static RDF data (see http://www.w3.org/TR/rdf-primer/ for information about RDF) describing its input and output ports as well as some other properties, and a C struct of type LV2_Descriptor (defined in the C header file lv2.h) containing function pointers that provide the implementation of the plugin. Each plugin is uniquely identified by a URI (Uniform Resource Identifier, see http://www.ietf.org/rfc/rfc2396.txt).
Plugin (and extension) RDF data is stored in text files using the Turtle syntax, and implementations are stored in shared object files with a C interface. Both of these, as well as any other necessary files (e.g. sample data, images, or documentation) are kept in directories called bundles, whose names end with ".lv2".
[edit] Documentation
- Bundle Definition
- RDF Schema Description
- C API
- Filesystem Locations
- Extension Conventions
- Loading Plugins
- Writing Plugins
- LV2 programming for the complete idiot, a tutorial by Lars Luthman
[edit] Extensions
The "core" LV2 specification is minimal, and supports basic audio functionality roughly equivalent to LADSPA. More advanced functionality is defined in "extensions" to the LV2 specification, which can be created by anyone.
[edit] Community / Activity
This site is a Wiki, meaning anyone can edit and add content. Unfortunately, due to spammers, account registration must take place through a human. If you would like an account, email anyone with a SysOp account (see Special:Listusers), or devel@lists.lv2plug.in.

