audio/qm-vamp-plugins: Added (audio feature extraction plugins)

Signed-off-by: Niels Horn <niels.horn@slackbuilds.org>
This commit is contained in:
B. Watson 2011-08-10 08:12:19 -03:00 committed by Niels Horn
parent 589edfbce7
commit 85a01f18f3
4 changed files with 197 additions and 0 deletions

View file

@ -0,0 +1,18 @@
Audio feature extraction plugins from Queen Mary, University of London
A set of plugins for feature extraction from audio data, using the Vamp
plugin format suitable for use in programs such as Sonic Visualiser and
Sonic Annotator.
This requires atlas and vamp-plugin-sdk.
This build supports SSE and SSE2 CPU optimizations. By default, the script
examines your system and enables SSE and/or SSE2 if they're supported. If
you're building a package for a different system, you can override this
behaviour via environment variables, like so:
SSE=no # Force disable both SSE and SSE2 (variable SSE2 ignored)
SSE=yes SSE2=yes # Force enable both SSE and SSE2
SSE=yes SSE2=no # Force enable SSE, force disable SSE2
Leaving SSE blank or setting it to anything else means to autodetect.

View file

@ -0,0 +1,148 @@
#!/bin/bash
# Slackware build script for qm-vamp-plugins
# Written by B. Watson (yalhcru@gmail.com)
PRGNAM=qm-vamp-plugins
VERSION=${VERSION:-1.7}
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}
# No CFLAGS support (releases are tested with their own opts)
if [ "$ARCH" = "i486" ]; then
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
LIBDIRSUFFIX="64"
else
LIBDIRSUFFIX=""
fi
set -e
# Remove SSE/SSE2 flags as needed from the CFLAGS
fix_sse_flags() {
local makefile="$1"
if [ "$USE_SSE2" != "yes" ]; then
sed -i \
-e 's/-msse2//g' \
$makefile
fi
if [ "$USE_SSE" != "yes" ]; then
sed -i \
-e 's/-msse//g' \
-e 's/-mfpmath=sse//g' \
$makefile
fi
}
# Private static lib that's distributed as a separate tarball. Main
# program links to it, but it doesn't need to be installed system-wide
# as nothing else uses it. It's assumed that qm-dsp's version number
# will always match the main one.
LIBNAM=qm-dsp
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION $LIBNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
tar xvf $CWD/$LIBNAM-$VERSION.tar.gz
cd $LIBNAM-$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 {} \;
# Why doesn't the include path include the project's own include/ dir?
# (without this, it can't find its own headers)
sed -i 's,-I\.,-I. -Iinclude,' build/general/Makefile.inc
# SSE/SSE2 support:
case "$SSE" in
"yes") USE_SSE=yes ;;
"no") USE_SSE=no ;;
*) if grep -q '\<sse\>' /proc/cpuinfo; then
USE_SSE=yes
else
USE_SSE=no
fi
;;
esac
if [ "$USE_SSE" = "yes" ]; then
case "$SSE2" in
"yes") USE_SSE2=yes ;;
"no") USE_SSE2=no ;;
*) if grep -q '\<sse2\>' /proc/cpuinfo; then
USE_SSE2=yes
else
USE_SSE2=no
fi
;;
esac
else
USE_SSE2=no
fi
echo "USE_SSE=$USE_SSE and USE_SSE2=$USE_SSE2"
# Note about the Makefiles: Makefile.linux64 works fine on 32-bit. The difference
# between the .linux and .linux64 Makefiles is that the .linux64 one uses atlas
# instead of plain unoptimized lapack and blas. There's nothing magically 64-bit
# about atlas...
fix_sse_flags build/linux/Makefile.linux64
make -f build/linux/Makefile.linux64
cd -
# main makefile looks for ../qm-dsp (no version suffix), so:
ln -s $LIBNAM-$VERSION $LIBNAM
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 {} \;
fix_sse_flags build/linux/Makefile.linux64
make -f build/linux/Makefile.linux64
# no 'make install' target, just cp it.
mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/vamp
cp $PRGNAM.so $PRGNAM.cat $PRGNAM.n3 $PKG/usr/lib$LIBDIRSUFFIX/vamp
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
README.txt COPYING \
$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,12 @@
PRGNAM="qm-vamp-plugins"
VERSION="1.7"
HOMEPAGE="http://isophonics.net/QMVampPlugins"
DOWNLOAD="http://code.soundsoftware.ac.uk/attachments/download/109/qm-vamp-plugins-1.7.tar.gz \
http://code.soundsoftware.ac.uk/attachments/download/103/qm-dsp-1.7.tar.gz"
MD5SUM="9340d0e08d72ae712a2fb9da9f6499c5 \
d167a1477ab40cc3df965ed338dcd6a5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"
APPROVED="Niels Horn"

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------------------------------------------------------|
qm-vamp-plugins: qm-vamp-plugins (audio feature extraction plugins)
qm-vamp-plugins:
qm-vamp-plugins: Audio feature extraction plugins from Queen Mary, University
qm-vamp-plugins: of London
qm-vamp-plugins:
qm-vamp-plugins: A set of plugins for feature extraction from audio data, using
qm-vamp-plugins: the Vamp plugin format suitable for use in programs such as Sonic
qm-vamp-plugins: Visualiser and Sonic Annotator.
qm-vamp-plugins:
qm-vamp-plugins:
qm-vamp-plugins: