LADSPA is the Linux Audio Developers' Simple Plugin Architecture.
This document describes how to write LADSPA plugins and how to write hosts, which are programs that use LADSPA plugins,
This documentation is currently extremely incomplete.
Please be aware that the ladspa.h
file is the official, definitive guide
to the standard.
There are several common bits of terminology:
A shared library that can be loaded
and unloaded "on-the-fly". Under linux we open plugins using
the dlopen
function.
a single sound-producing/consuming
type identified with a descriptor whose
C-type is LADSPA_Descriptor
.
A plugin library may contain several plugin descriptors,
each with an index within plugin library. The indices
must be consecutive and start with 0.
is a single running unit generator.
There is a standard way to make plugin instances from plugins.
In the host, we identify the instance by a handle
whose type is void*
.
The program which will load the plugins.
The standard describes the binary interface for a plugin library to present its plugins to the host.
dlopen
or for glib, gtk+ users, g_module_open
).ladspa_descriptor
function, which may allocate memory.instantiate
function
to allocate a new (or several new) sample-processing instances.activate
before running samples
through the plugin.run
or run_adding
. The host may reconnect ports with connect_port
as it sees fit.cleanup
function._fini
function is responsible
for deallocating memory.