LADSPA: Difference between revisions
m Initial creation. Currently contains the starting template only. |
m Intermediate save. Sorry for this. I'm new. I'll get better, eventually. |
||
| Line 2: | Line 2: | ||
|- | |- | ||
!Download Source: | !Download Source: | ||
| URL | | URL - 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 | 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 | |||
== 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 141: | ||
{| 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. | ||
|} | |} | ||
[[Category:< | [[Category:<Programming>]] | ||
Revision as of 20:49, 20 July 2009
| Download Source: | URL - http://www.ladspa.org/download/ladspa_sdk_1.13.tgz
} Introduction to LADSPALADSPA 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 InstructionsThe 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-MultilibCompile and install the package: ./build.sh Multilib32BitCompile and install the package: USE_ARCH=32 ./build.sh N32Compile and install the package: To Do: (Please Contribute. It is intended that "USE_ARCH=N32 ./build.sh" should work.) 64BitCompile and install the package: USE_ARCH=64 ./build.sh ConfiguringAn 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 Contents
Short Descriptions
[[Category:<Programming>]] |
|---|