summaryrefslogtreecommitdiffstats
path: root/content/pages
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-11-21 01:12:26 -0500
committerDavid Robillard <d@drobilla.net>2014-11-21 01:12:26 -0500
commitd38c4094a1aef8be93218adeefe66b20308d96e3 (patch)
tree7f1d451dd1edade63567504c67b61bbc24d7c683 /content/pages
downloadlv2site-d38c4094a1aef8be93218adeefe66b20308d96e3.tar.xz
Initial website Markdown conversion.
Diffstat (limited to 'content/pages')
-rw-r--r--content/pages/developer-information.md77
-rw-r--r--content/pages/index.md20
-rw-r--r--content/pages/projects.md106
-rw-r--r--content/pages/why-lv2.md75
4 files changed, 278 insertions, 0 deletions
diff --git a/content/pages/developer-information.md b/content/pages/developer-information.md
new file mode 100644
index 0000000..dde7b49
--- /dev/null
+++ b/content/pages/developer-information.md
@@ -0,0 +1,77 @@
+Title: Developer Information
+
+The way to learn about implementing LV2 is by example. The documentation and
+example projects listed below have been created specifically for this purpose,
+look at these first. Copying an example as a template is recommended.
+
+
+## What *not* to do
+
+If you are interested in implementing LV2, do *not* look at the specifications
+and API references first! They are just that: references, and do not provide a
+high-level view of how to get the job done. Once you have a basic working
+implementation based on the examples, if you need more specific detail, then
+the references are useful.
+
+
+## Implementing Plugins
+
+LV2 includes several example plugins which are simple demonstrations of various
+types of plugins and the features they require with thorough documentation. If
+you prefer to read source code, they are in the `plugins` directory of the LV2
+distribution.
+
+If you would prefer to read a document, there is also a "book" generated from
+the literate source code of these plugins:
+
+* [Programming LV2 Plugins](http://lv2plug.in/book)
+
+
+## Implementing Hosts
+
+LV2 hosts use a library to handle all the details of plugin discovery,
+investigation, and instantiation. [Lilv](http://drobilla.net/software/lilv) is
+the standard library for this.
+
+* [Lilv API Reference](http://drobilla.net/docs/lilv/)
+
+Plans are currently underway to incorporate simple and thoroughly documented hosts into LV2, along the lines of the plugin
+examples. Until then, several external projects serve as useful examples:
+
+* [lv2file](https://github.com/jeremysalwen/lv2file) is a very simple
+ single-file program that applies an LV2 plugin to an audio file.
+
+* [Jalv](http://drobilla.net/software/jalv) is a relatively simple yet
+ fully-featured [Jack](http://jackaudio.org) host for LV2 plugins. Start at
+ the core, [jalv.c](http://dev.drobilla.net/browser/trunk/jalv/src/jalv.c),
+ which weighs in at just under 1000 SLOC. Jalv also supports MIDI, embedded
+ GUIs, presets, state saving, and other features.
+
+
+## Reference
+
+Most LV2 specifications have two parts: code and data. The "specification"
+documentation comes from the data, and documents the various concepts in the
+specification, with links to the API reference of the associated APIs. After
+examples, this is the best place to better understand an extension.
+
+The API reference is generated from Doxygen, and serves the usual purpose. Go
+there for documentation about a specific function, struct, or define.
+
+* [Specifications](http://lv2plug.in/ns)
+
+* [API Reference](http://lv2plug.in/doc/html)
+
+
+## Help
+
+If you have any trouble or questions in general, ask on the
+[mailing list](http://lists.lv2plug.in/listinfo.cgi/devel-lv2plug.in), or visit
+us in [#lv2](http://webchat.freenode.net/?channels=lv2) on irc.freenode.net
+
+
+## Other Resources
+
+* [Logo](http://lv2plug.in/logo)
+
+* [LV2 Achievement of GMPI Requirements](http://lv2plug.in/gmpi.html)
diff --git a/content/pages/index.md b/content/pages/index.md
new file mode 100644
index 0000000..2f894ae
--- /dev/null
+++ b/content/pages/index.md
@@ -0,0 +1,20 @@
+Title: LV2
+save_as: index.html
+
+LV2 is a standard for audio plugins,
+used by hundreds of plugins and many other projects.
+At its core, LV2 is a simple and stable interface,
+but several *extensions* add functionality to support the needs of increasingly powerful audio software.
+
+* [**Download LV2 1.10.0**](http://lv2plug.in/spec/lv2-1.10.0.tar.bz2)
+ [(sig)](http://lv2plug.in/spec/lv2-1.10.0.tar.bz2.sig)
+
+* [Why LV2?](pages/why-lv2.html)
+
+* [Mailing List](http://lists.lv2plug.in/listinfo.cgi/devel-lv2plug.in)
+
+* Chat in [#lv2](http://webchat.freenode.net/?channels=lv2) on irc.freenode.net
+
+* [Projects Using LV2](pages/projects.html)
+
+* [Information for Developers](pages/developer-information.html)
diff --git a/content/pages/projects.md b/content/pages/projects.md
new file mode 100644
index 0000000..368b81c
--- /dev/null
+++ b/content/pages/projects.md
@@ -0,0 +1,106 @@
+title: Projects
+
+This page is a partial list of LV2 projects. If you know of any that are not
+listed here, please
+[let us know](http://lists.lv2plug.in/listinfo.cgi/devel-lv2plug.in) or
+[http://lv2plug.in/git](add them) and send us a patch.
+
+Another list is available at http://apps.linuxaudio.org/apps/categories/lv2
+
+## Plugins
+
+### Synths
+
+Project | Description
+-------------------------------------------------------------|--------------------------------------------------------------------
+[foo-yc20](http://code.google.com/p/foo-yc20/) | Faithful emulation of the YC-20 divide-down combo organ.
+[lv2-mdaEPiano](http://github.com/rekado/lv2-mdaEPiano) | Native LV2 port of the famous mdaEPiano VSTi.
+[minaton](http://sourceforge.net/projects/minaton/) | Fat sounding mono subtractive software synthesizer.
+[Newtonator](http://newtonator.sourceforge.net/) | Synth that produces some unpredictable sounds.
+[Russolo Suite](http://intonarumori.sourceforge.net) | The CrazySynth synthesizer and the "the do-it-all effect" Omnifono.
+[So-synth-LV2](http://github.com/jeremysalwen/So-synth-LV2) | Unofficial LV2 ports of 50m30n3's synthesizers.
+[SynthV1](http://synthv1.sourceforge.net/) | 4-oscillator subtractive polyphonic synthesizer with stereo FX.
+[Zyn](http://home.gna.org/zyn/) | LV2 port of Zynaddsubfx.
+[setBfree](https://github.com/pantherb/setBfree) | B3 organ emulator including Leslie.
+[EMap](http://www.colorfulsoftware.com/emap) | FluidSynth front-end
+
+### Samplers
+
+Project | Description
+----------------------------------------------------------------------------|-------------------------------------------------
+[Composite Sampler](http://gabe.is-a-geek.org/composite/plugins/sampler/1/) | MIDI-controllable sampler.
+[DrMr Sampler](http://github.com/nicklan/drmr/) | Sampler that can load Hydrogen drumkits.
+[SamplV1](http://samplv1.sourceforge.net/) | Polyphonic sampler/synthesizer with stereo FX.
+[Fabla](http://openavproductions.com/fabla/) | Drum sampler with envelope and compressor.
+
+### Effects
+
+Project | Description
+---------------------------------------------------------------|---------------------------------------------------------------------------------
+[abGate](http://abgate.sourceforge.net/) | Noise date.
+[Aubio-LV2](http://jeremysalwen.github.com/Aubio-LV2-Plugins/) | LV2 wrappers for some of the Aubio library
+[avw.lv2](http://sourceforge.net/projects/avwlv2/) | An LV2 port of internal modules of AlsaModularSynth
+[Calf](http://calf.sourceforge.net/) | Various plugins, including flanger, organ, reverb, filters, rotary speaker, etc.
+[EQ10Q](http://eq10q.sourceforge.net/) | Powerful and flexible parametric equalizer.
+[Fomp](http://drobilla.net/software/fomp) | Port of various high-quality plugins by Fons Adriaensen.
+[Invada Studio](https://launchpad.net/invada-studio/) | Delays, distortions, filters, phasers, reverbs, and some utility plugins.
+[IR](http://factorial.hu/plugins/lv2/ir) | No-latency/low-latency, realtime, high performance signal convolver.
+[kn0ck0ut-LV2](https://github.com/jeremysalwen/kn0ck0ut-lv2) | LV2 port of [kn0ck0ut](http://www.freewebs.com/st3pan0va/).
+[lv2fil](http://nedko.arnaudov.name/soft/lv2fil/trac/) | Four-band parametric equaliser.
+[mda-lv2](http://svn.drobilla.net/lad/trunk/mda-lv2/) | LV2 port of the popular VST MDA plugins (a few instruments as well).
+[swh-plugins](http://plugin.org.uk/lv2/) | LV2 version of the popular LADSPA collection with various plugins.
+[TalentedHack](http://code.google.com/p/talentledhack/) | Pitch correction derived from Autotalent.
+[Teliasopia](http://sourceforge.net/projects/teliasopia/) | Various plugins, including filters and dynamic processors.
+[Vocoder](https://gna.org/projects/lv2vocoder) | Vocoder.
+[VocProc](http://hyperglitch.com/dev/VocProc) | Vocal pitch shifting, vocoding, pitch correction, and harmonizing.
+[balance.lv2](https://github.com/x42/balance.lv2) | Stereo balance control w/ delaylines, input channel conditioner.
+[QMidiArp](http://qmidiarp.sourceforge.net) | Arpeggiator.
+
+### Meters
+
+Project | Description
+------------------------------------------------|--------------------------------------------------------------------
+[K-Meter](http://code.mzuther.de/kmeter/) | A K-System meter according to Bob Katz' specifications.
+[traKmeter](http://code.mzuther.de/trakmeter/) | Loudness meter for correctly setting up tracking and mixing levels.
+[meters.lv2](https://github.com/x42/meters.lv2) | Large collection of IEC, ITU, EBU,.. standard meters.
+
+### Others
+
+Project | Description
+--------------------------------------------------------------------|----------------------------------------------------------
+[ll-plugins](http://ll-plugins.nongnu.org/) | Several synth and utility plugins and a GUI-capable host.
+[NASPRO](http://naspro.sourceforge.net/plugins.html#naspro-bridges) | Bridges from LADSPA and DSSI to LV2.
+[midifilter.lv2](https://github.com/x42/midifilter.lv2) | Collection of MIDI event filter/processors.
+[Tuna.lv2](https://github.com/x42/tuna.lv2) | Musical instrument tuner.
+[Simple-Scope](https://github.com/x42/sisco.lv2) | Professional audio oscilloscope.
+
+
+## Hosts
+
+Project | Description
+---------------------------------------------------------------------|-------------------------------------------------------------------------
+[Ardour](http://ardour.org) | A professional quality DAW with support for LV2 effects and instruments.
+[Audacity](http://audacity.sourceforge.net/) | Software for recording and editing sounds.
+[Ecasound](http://www.eca.cx/ecasound/index.php) | Multitrack command line audio editor and processor.
+[FreeADSP](http://naspro.sourceforge.net/applications.html#freeadsp) | MIDI-controlled real-time stereo effect rack.
+[Ingen](http://drobilla.net/software/ingen/) | Modular audio environment.
+[Jalv](http://drobilla.net/software/jalv/) | Command-line Jack host.
+[LinuxSampler](http://www.linuxsampler.org/) | Free, streaming audio sampler with professional grade features.
+[lv2file](https://github.com/jeremysalwen/lv2file) | Applies LV2 effects from the command line.
+[LV2proc](http://naspro.sourceforge.net/applications.html#lv2proc) | Simple command line effect processor.
+[QTractor](http://qtractor.sourceforge.net/) | Audio/MIDI multi-track sequencer.
+[Traverso](http://traverso-daw.org/) | Multitrack audio recorder and editor.
+[Synthclone](https://code.google.com/p/synthclone/) | Tool for creating sample-based instruments.
+[pd-lv2plugin](https://bitbucket.org/agraef/pd-lv2plugin) | LV2 hosting PureData external.
+[pure-lang](https://bitbucket.org/purelang/pure-lang) | A modern functional programming language with LV2 support.
+
+
+## Developer Tools
+
+Project | Description
+-------------------------------------------------------------------------|--------------------------------------------------------------------
+[Lilv](http://drobilla.net/software/lilv/) | C library for LV2 hosts.
+[LV2 Toolkit](http://lvtoolkit.org/) | C++ wrappers of LV2 APIs.
+[Permafrost](http://sourceforge.net/projects/naspro/files/naspro/0.2.0/) | DSP language whose compiler generates LV2 plugins.
+[SSG](http://nedko.arnaudov.name/soft/ssg/) | "Simple Sine Generator" synth plugin.
+[Torture](http://carlh.net/plugins/torture.php) | Utility for checking LV2 plugins for denormals and data corruption.
diff --git a/content/pages/why-lv2.md b/content/pages/why-lv2.md
new file mode 100644
index 0000000..bf7c3b3
--- /dev/null
+++ b/content/pages/why-lv2.md
@@ -0,0 +1,75 @@
+Title: Why LV2?
+
+Unlike many popular audio plugin APIs, LV2 is a platform-agnostic
+[Free Software](http://www.gnu.org/philosophy/free-sw.html) specification with
+a liberal license permitting virtually any implementation (both free and
+proprietary).
+
+LV2 has been designed with extensibility in mind right from the start, so if
+LV2 currently can't do what you need, functionality can be added without
+breaking any pre-existing hosts or plugins.
+
+## Features
+
+* Audio, control, "control voltage" (audio-rate control), and event (e.g. MIDI) input and output.
+
+* Expressive metadata, including:
+
+ * "Meaningful" controls (e.g. gain or envelope attack) allowing intelligent host control or UI generation.
+
+ * Control units (e.g. Hz, octaves, dB).
+
+ * Multi-channel port groups (e.g. stereo, 5.1 surround, ambisonics).
+
+* Decentralized extensibility: any developer can implement (almost) any feature within LV2.
+
+* Graceful compatibility: features can be optional.
+
+* Embeddable GUIs in any toolkit, with network transparent control.
+
+* Plugin "bundles" may include any files, such as samples.
+
+* Presets (bundled and/or user saved).
+
+* Plugin state saving and restoring.
+
+* Host-managed logging.
+
+* Non-realtime plugin worker methods ("idiot-proof" non-realtime operations, like sample loading without dropouts).
+
+* Message-based plugin communication, for advanced plugin control from UIs or other code.
+
+* Transport awareness, both real time and tempo time (bars, beats, etc.).
+
+
+## Bundles
+
+Everything an LV2 plugin needs is bundled inside a "bundle" directory. Users
+can easily manage their installations by moving, renaming, or deleting bundles
+with any file manager.
+
+
+## Plugin Metadata
+
+LV2 separates static metadata from code, so information about installed plugins
+can be discovered without loading any modules or executing any third-party
+code.
+
+Any data can be added to a plugin description without breaking compatibility.
+
+
+## Simple Core API
+
+The "core" API of LV2, [lv2.h](http://lv2plug.in/ns/lv2core/lv2.h), is
+essentially `ladspa.h` with extensibility hooks added. It is a simple C header
+with the basic methods typical to audio plugins.
+
+
+## Extensibility
+
+While the core API of LV2 is very simple, extensions can add arbitrary
+functionality. The community works together to define standard extensions for
+commonly needed functionality, but developers are free to implement any
+extensions they need for their own applications. This is particularly useful
+for developing new functionality and testing it in a real application before
+proposing a new standard extension.