Difference between revisions of "LADSPA"

From CBLFS
Jump to navigationJump to search
m
(LADSPA added as a New Package)
 
Line 160: Line 160:
 
== Plugin Libraries ==
 
== Plugin Libraries ==
  
* [[http://plugin.org.uk/]]
+
* [[swh-plugins]]
 +
* [[alienwah]]
 +
* [[delayorama-gui]]
 +
* [[harmonic-gui]]
 +
* [[jack-demolition]]
 +
* [[pulsor]]
 
* [[Blop]]
 
* [[Blop]]
 
* [[CAPS]]
 
* [[CAPS]]
 
* [[CMT]]
 
* [[CMT]]
* [[Fons Adriaensen]]
+
* [[AMB]]
* [[Dr. Matthias Nagorni]]
+
* [[MCP]]
 +
* [[REV]]
 +
* [[VCO]]
 +
* [[FIL]]
 +
* [[VCF]]
 
* [[TAP]]
 
* [[TAP]]
* [[Settel's Vocoder program has been ported to LADSPA by Josh Green.]]
+
* [[Vocoder-ladspa]]
 
* [[VLevel]]  
 
* [[VLevel]]  
  
Line 187: Line 196:
 
* [[Rosegarden]]
 
* [[Rosegarden]]
 
* [[Snd]]
 
* [[Snd]]
* [[Spiral Synth Modular]]
+
* [[SpiralSynthModular]]
 
* [[Sweep]]
 
* [[Sweep]]
 
* [[TerminatorX]]
 
* [[TerminatorX]]

Latest revision as of 21:38, 20 July 2009

Download Source: http://www.ladspa.org/download/ladspa_sdk_1.13.tgz

Introduction to LADSPA

LADSPA is the "Linux Audio Developer's Simple Programming API," whose goal is to provide a versatile audio plug-in capability similar to VST. It is deliberately designed to be extremely simple. As described on the project web site, "The 'S' in 'LADSPA' is meant seriously." The LADSPA development "framework" consists of just one C header file, plus the development tools you will build here.

Project Homepage: http://www.ladspa.org


Common Build Instructions

The build system is not autotools based. However, the makefile is so simple that you will probably want to simply edit and run the makefile manually.

Build the package

cd src
edit makefile
    INSTALL_PLUGINS_DIR = ...
    INSTALL_INCLUDE_DIR = ...
    INSTALL_BINARY_DIR = ...
make

Install the package

make install
create multiarch wrappers for all 3 binaries

Here is a script that automates this process, while also adding DESTDIR capability, which is missing in the original makefile:

cat > build.sh << "EOF"
: ${CLFS_LIB32:="lib"}
: ${CLFS_LIBN32:="lib32"}
: ${CLFS_LIB64:="lib64"}
: ${CLFS_LIB:="lib"}

eval CLFS_LIB='$'CLFS_LIB${USE_ARCH} &&
eval BUILD='$'BUILD${USE_ARCH} &&
eval LD_BUILD='$'LD_BUILD${USE_ARCH} &&

pushd src &&

if [ -e makefile-original ]; then

    make clean
    mv -f -v makefile-original makefile

fi

CLFS_LIB=${CLFS_LIB} \
sed -i-original \
    -e 's/$(INSTALL_PLUGINS_DIR)/$(DESTDIR)$(INSTALL_PLUGINS_DIR)/g' \
    -e 's/$(INSTALL_INCLUDE_DIR)/$(DESTDIR)$(INSTALL_INCLUDE_DIR)/g' \
    -e 's/$(INSTALL_BINARY_DIR)/$(DESTDIR)$(INSTALL_BINARY_DIR)/g' \
    -e "s|/usr/local|/usr|g" \
    -e "s|/lib/|/${CLFS_LIB}/|g" \
    makefile &&

make \
    DESTDIR=${DESTDIR} \
    CC="gcc ${BUILD}" \
    CPP="g++ ${BUILD}" \
    LD="ld ${LD_BUILD}" &&

make install &&

if [ "$USE_ARCH" != "" ]; then

    mv -v ${DESTDIR}/usr/bin/analyseplugin ${DESTDIR}/usr/bin/analyseplugin-${USE_ARCH} &&
    mv -v ${DESTDIR}/usr/bin/applyplugin ${DESTDIR}/usr/bin/applyplugin-${USE_ARCH} &&
    mv -v ${DESTDIR}/usr/bin/listplugins ${DESTDIR}/usr/bin/listplugins-${USE_ARCH}

fi

if [ "${USE_ARCH}" == "64" ]; then

    ln -sfv multiarch_wrapper ${DESTDIR}/usr/bin/analyseplugin &&
    ln -sfv multiarch_wrapper ${DESTDIR}/usr/bin/applyplugin &&
    ln -sfv multiarch_wrapper ${DESTDIR}/usr/bin/listplugins

fi

popd
EOF

chmod +x build.sh


Non-Multilib

Compile and install the package:

./build.sh

Multilib

32Bit

Compile and install the package:

USE_ARCH=32 ./build.sh

N32

Compile and install the package:

To Do: (Please Contribute. It is intended that "USE_ARCH=N32 ./build.sh" should work.)

64Bit

Compile and install the package:

USE_ARCH=64 ./build.sh

Configuring

An environment variable, LADSPA_PATH, is required.

cat > /etc/profile.d/50-ladspa.sh << "EOF"
export LADSPA_PATH=/usr/lib/ladspa:/usr/lib32/ladspa:/usr/lib64/ladspa
EOF

Contents

Installed Directories: /usr/lib{,32,64}/ladspa
Installed Programs: analyseplugin, applyplugin, listplugins
Installed Libraries: amp.so, delay.so, filter.so, noise.so, sine.so

Short Descriptions

analyseplugin, applyplugin, listplugins are tools for inspecting and testing ladspa plug-ins.
amp.so, delay.so, filter.so, noise.so, sine.so are sample plug-ins
/usr/include/ladspa.h is the API, in its entirety. The comments in this (well-commented) header file comprise the API documentation.

Tools for Generating Plugins

Plugin Libraries

Hosts

Retrieved from "?title=LADSPA&oldid=18762"