Difference between revisions of "LADSPA"
m (Initial creation. Currently contains the starting template only.) |
(LADSPA added as a New Package) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
|- | |- | ||
!Download Source: | !Download Source: | ||
− | | | + | | http://www.ladspa.org/download/ladspa_sdk_1.13.tgz |
− | |||
− | |||
− | |||
|} | |} | ||
---- | ---- | ||
− | {{Package-Introduction| | + | {{Package-Introduction|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. |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 == | == Non-Multilib == | ||
− | Compile the package: | + | Compile and install the package: |
− | ./ | + | ./build.sh |
− | |||
− | |||
− | |||
− | |||
− | |||
== Multilib == | == Multilib == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
=== 32Bit === | === 32Bit === | ||
− | Compile the package: | + | Compile and install the package: |
− | |||
− | |||
− | |||
− | + | USE_ARCH=32 ./build.sh | |
− | |||
− | |||
=== N32 === | === N32 === | ||
− | Compile the package: | + | Compile and install the package: |
− | + | To Do: (Please Contribute. It is intended that "USE_ARCH=N32 ./build.sh" should work.) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== 64Bit === | === 64Bit === | ||
− | Compile the package: | + | 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 == | == Contents == | ||
− | |||
− | |||
{| style="text-align: left;" | {| style="text-align: left;" | ||
|-valign="top" | |-valign="top" | ||
!Installed Directories: | !Installed Directories: | ||
− | |/ | + | |/usr/lib{,32,64}/ladspa |
|-valign="top" | |-valign="top" | ||
!Installed Programs: | !Installed Programs: | ||
− | | | + | |analyseplugin, applyplugin, listplugins |
|-valign="top" | |-valign="top" | ||
!Installed Libraries: | !Installed Libraries: | ||
− | | | + | |amp.so, delay.so, filter.so, noise.so, sine.so |
|} | |} | ||
Line 143: | Line 142: | ||
{| style="text-align: left;" | {| style="text-align: left;" | ||
|-valign="top" | |-valign="top" | ||
− | ! | + | !analyseplugin, applyplugin, listplugins |
− | | | + | |are tools for inspecting and testing ladspa plug-ins. |
|-valign="top" | |-valign="top" | ||
− | ! | + | !amp.so, delay.so, filter.so, noise.so, sine.so |
− | | | + | |are sample plug-ins |
|-valign="top" | |-valign="top" | ||
− | ! | + | ! /usr/include/ladspa.h |
− | |is | + | | is the API, in its entirety. The comments in this (well-commented) header file comprise the API documentation. |
|} | |} | ||
− | [[ | + | == Tools for Generating Plugins == |
+ | |||
+ | * [[csLADSPA]] | ||
+ | * [[Faust]] | ||
+ | * [[GDAM]] | ||
+ | |||
+ | == Plugin Libraries == | ||
+ | |||
+ | * [[swh-plugins]] | ||
+ | * [[alienwah]] | ||
+ | * [[delayorama-gui]] | ||
+ | * [[harmonic-gui]] | ||
+ | * [[jack-demolition]] | ||
+ | * [[pulsor]] | ||
+ | * [[Blop]] | ||
+ | * [[CAPS]] | ||
+ | * [[CMT]] | ||
+ | * [[AMB]] | ||
+ | * [[MCP]] | ||
+ | * [[REV]] | ||
+ | * [[VCO]] | ||
+ | * [[FIL]] | ||
+ | * [[VCF]] | ||
+ | * [[TAP]] | ||
+ | * [[Vocoder-ladspa]] | ||
+ | * [[VLevel]] | ||
+ | |||
+ | == Hosts == | ||
+ | |||
+ | * [[AlsaModularSynth]] | ||
+ | * [[Ardour]] | ||
+ | * [[Audacity]] | ||
+ | * [[Csound]] | ||
+ | * [[Ecasound]] | ||
+ | * [[GDAM]] | ||
+ | * [[GLAME]] | ||
+ | * [[GNU-Sound]] | ||
+ | * [[GStreamer]] | ||
+ | * [[MusE]] | ||
+ | * [[Mustajuuri]] | ||
+ | * [[Pd]] | ||
+ | * [[ReZound]] | ||
+ | * [[Rosegarden]] | ||
+ | * [[Snd]] | ||
+ | * [[SpiralSynthModular]] | ||
+ | * [[Sweep]] | ||
+ | * [[TerminatorX]] | ||
+ | * [[Wired]] | ||
+ | |||
+ | [[Category:Programming]] |
Latest revision as of 21:38, 20 July 2009
Download Source: | http://www.ladspa.org/download/ladspa_sdk_1.13.tgz |
---|
Contents
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
- swh-plugins
- alienwah
- delayorama-gui
- harmonic-gui
- jack-demolition
- pulsor
- Blop
- CAPS
- CMT
- AMB
- MCP
- REV
- VCO
- FIL
- VCF
- TAP
- Vocoder-ladspa
- VLevel