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".
Links
wiki:Projects Using LV2
Documentation
Generated Specification Documentation:
- Core Documentation
- Header Documentation (core and all extensions at lv2plug.in)
File Standards:
- wiki:Bundle? Definition
- wiki:Filesystem? Hierarchy Standard
Extension Standards:
- wiki:Using? Extensions in Code
- wiki:Creating? Extensions
Tutorials:
- wiki:Loading? Plugins
- wiki:Writing? Plugins
- LV2 programming for the complete idiot, a tutorial by Lars Luthman
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.
Development
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 wiki:Special:Listusers?), or devel@….
- Mailing List Info Page
- wiki:LV2? TODO
- wiki:SVN? repository
