audio/ecasound: Added (multitrack audio processing)

Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
This commit is contained in:
B. Watson 2011-07-13 04:28:23 -04:00 committed by Niels Horn
parent fa3dbeb153
commit 6eed232d6a
5 changed files with 186 additions and 0 deletions

23
audio/ecasound/README Normal file
View file

@ -0,0 +1,23 @@
Ecasound is a software package designed for multitrack audio
processing. It can be used for simple tasks like audio playback, recording
and format conversions, as well as for multitrack effect processing,
mixing, recording and signal recycling. Ecasound supports a wide range of
audio inputs, outputs and effect algorithms. Effects and audio objects
can be combined in various ways, and their parameters can be controlled
by operator objects like oscillators and MIDI-CCs. A versatile console
mode user-interface is included in the package.
Optional compile-time dependencies (auto-detected at build time):
- jack-audio-connection-kit (for realtime audio capture/playback)
- liblo (for OSC [Open Sound Control] support)
Optional runtime dependencies:
- lame - required for mp3 output.
- TiMidity++ - required for MIDI .mid file input.
- libmikmod - required for tracker file support (such as .mod files).
- set_rlimits - used to run ecasound with realtime priority (but see the
jack-audio-connection-kit README for an alternative)
Note: If you have cmt installed and you experience glibc double-free
errors when ecasound exits, upgrade your cmt package to 1.16-2_SBo or
higher. This is NOT a bug in ecasound.

View file

@ -0,0 +1,110 @@
#!/bin/bash
# Slackware build script for ecasound
# Written by B. Watson (yalhcru@gmail.com)
PRGNAM=ecasound
VERSION=${VERSION:-2.8.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# Figure out the version number part of the python lib dir:
PYVER=$( python -c 'import sys; print "%d.%d" % sys.version_info[0:2]' )
# Hack configure script to work around a patch that was meant to work around
# broken debian systems (but what it really does is make configure ignore
# the --with-python-modules option; they get installed *outside the DESTDIR*
# too). Sigh.
patch -p1 < $CWD/python_module_dir.diff
# --disable-static and --enable-shared are accepted, but ignored.
# This is deliberate: upstream doesn't want shared libs. See:
# http://www.eca.cx/ecasound-list/2002/10/0031.html
CFLAGS="-g $SLKCFLAGS" \
CXXFLAGS="-g $SLKCFLAGS" \
./configure \
--disable-arts \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--with-python-modules=/usr/lib$LIBDIRSUFFIX/python$PYVER \
--enable-python-force-site-packages \
--disable-all-static \
--build=$ARCH-slackware-linux
make
make install-strip DESTDIR=$PKG
# Kind of a twist for a SlackBuild: bunch of identical man pages are getting
# installed, and we want them to be symlinks instead of copies.
cd $PKG/usr/man/man1
toolsum="$( cat ecatools.1 | md5sum )"
for manpage in $( /bin/ls * | grep -v ecatools ); do
if [ "$toolsum" = "$( cat $manpage | md5sum )" ]; then
rm -f $manpage
ln -s ecatools.1 $manpage
fi
done
cd -
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
AUTHORS BUGS COPYING* INSTALL README RELNOTES TODO \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,10 @@
PRGNAM="ecasound"
VERSION="2.8.1"
HOMEPAGE="http://eca.cx/ecasound/"
DOWNLOAD="http://ecasound.seul.org/download/ecasound-2.8.1.tar.gz"
DOWNLOAD_x86_64=""
MD5SUM="d9ded0074a8eeb59dd507c248220d010"
MD5SUM_x86_64=""
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"
APPROVED="dsomero"

View file

@ -0,0 +1,24 @@
diff -Naur ecasound-2.8.1/configure ecasound-2.8.1.patched//configure
--- ecasound-2.8.1/configure 2011-05-22 07:25:44.000000000 -0400
+++ ecasound-2.8.1.patched//configure 2011-06-22 02:22:38.000000000 -0400
@@ -6691,19 +6691,7 @@
fi
-
-ECA_S_PYTHON_MODULES=NO
-for i in $pymoddirs;
-do
- for j in lib-dynload;
- do
- if test -r "$i/$j"; then
- ECA_S_PYTHON_MODULES=$i
- break 2
- fi
- done
-done
-
+ECA_S_PYTHON_MODULES="$pymoddirs"
if test -d $ECA_S_PYTHON_MODULES/site-packages -o "X$python_force_site_packages" = "Xyes"
then
ECA_S_PYTHON_MODULES=$ECA_S_PYTHON_MODULES/site-packages

19
audio/ecasound/slack-desc Normal file
View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
ecasound: Ecasound (multitrack audio processing)
ecasound:
ecasound: Ecasound is a software package designed for multitrack audio
ecasound: processing. It can be used for simple tasks like audio playback,
ecasound: recording and format conversions, as well as for multitrack effect
ecasound: processing, mixing, recording and signal recycling. Ecasound supports
ecasound: a wide range of audio inputs, outputs and effect algorithms. Effects
ecasound: and audio objects can be combined in various ways, and their parameters
ecasound: can be controlled by operator objects like oscillators and MIDI-CCs. A
ecasound: versatile console mode user-interface is included in the package.
ecasound: