summaryrefslogtreecommitdiffstats
path: root/audio/amSynth
diff options
context:
space:
mode:
Diffstat (limited to 'audio/amSynth')
-rw-r--r--audio/amSynth/README38
-rw-r--r--audio/amSynth/amSynth.SlackBuild50
-rw-r--r--audio/amSynth/amSynth.info12
-rw-r--r--audio/amSynth/slack-desc18
4 files changed, 83 insertions, 35 deletions
diff --git a/audio/amSynth/README b/audio/amSynth/README
index 57a1fa8ad9..f13e055072 100644
--- a/audio/amSynth/README
+++ b/audio/amSynth/README
@@ -1,7 +1,35 @@
-amSynth stands for Analogue Modeling SYNTHesizer.
+amsynth is an analog modelling (a.k.a virtual analog) software synthesizer.
-It provides virtual analogue synthesis in the style of the classic
-Moog Minimoog/Roland Junos. It offers an easy-to-use interface and
-synth engine, while still creating varied sounds.
+It mimics the operation of early analog subtractive synthesizers with
+classic oscillator waveforms, envelopes, filter, modulation and effects.
-jack-audio-connection-kit is an optional dependency.
+The aim is to make it easy to create and modify sounds.
+
+
+Features
+--------
+
+ * Dual oscillators (sine / saw / square / noise) with hard sync
+ * 12/24 dB/oct resonant filter (low-pass / high-pass / band-pass / notch)
+ * Mono / poly / legato keyboard modes
+ * Dual ADSR envelope generators (filter & amplitude)
+ * LFO which can modulate the oscillators, filter, and amplitude
+ * Distortion and reverb
+ * Hundreds of presets
+
+
+There are currently several different ways to run amsynth:
+
+ * Stand-alone application using JACK, ALSA or OSS
+ * DSSI plug-in
+ * LV2 plug-in
+ * VST plug-in
+
+This package uses POSIX filesystem capabilities to execute with
+elevated privileges (required for realtime audio processing). This
+may be considered a security/stability risk. Please read
+http://www.slackbuilds.org/caps/ for more information. To disable
+capabilities, pass SETCAP=no to the script.
+
+Optional dependencies, autodetected at build time:
+jack, lash, dssi, pandoc
diff --git a/audio/amSynth/amSynth.SlackBuild b/audio/amSynth/amSynth.SlackBuild
index 7bb1520260..2f6a11ff70 100644
--- a/audio/amSynth/amSynth.SlackBuild
+++ b/audio/amSynth/amSynth.SlackBuild
@@ -1,8 +1,9 @@
#!/bin/sh
-# Slackware build script for amSynth
+# Slackware build script for amsynth
-# Copyright (C) 2006 paul wisehart wise@lupulin.net
+# Copyright 2019 - 2020 Johannes Schoepfer, Germany
+# Copyright 2006 paul wisehart wise@lupulin.net
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,17 +23,16 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# Modified by the SlackBuilds.org project
-
PRGNAM=amSynth
-SRCNAM=amsynth
-VERSION=${VERSION:-1.6.3}
+VERSION=${VERSION:-1.12.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+SRCNAM=amsynth
+
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -43,8 +43,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -62,9 +62,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $SRCNAM-release-$VERSION
-tar xvf $CWD/release-$VERSION.tar.gz || tar xvf $CWD/$SRCNAM-release-$VERSION.tar.gz
-cd $SRCNAM-release-$VERSION
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
+cd $SRCNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -72,20 +72,31 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-./autogen.sh
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS -std=c++11" \
+CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
- --enable-static=no \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --enable-shared \
+ --disable-static \
--build=$ARCH-slackware-linux
make
make install-strip DESTDIR=$PKG
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# only if pandoc is present
+if [ -d $PKG/usr/man ]; then
+ 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
+fi
+
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a AUTHORS COPYING INSTALL NEWS README $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
@@ -94,5 +105,14 @@ mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
+# Only add capability stuff if not disabled:
+if [ "${SETCAP:-yes}" = "yes" ]; then
+ # set realtime capabilities
+ echo "/sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/amsynth" >> $PKG/install/doinst.sh
+ # Only allow execution by audio group
+ chown root:audio $PKG/usr/bin/*
+ chmod 0750 $PKG/usr/bin/*
+fi
+
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/audio/amSynth/amSynth.info b/audio/amSynth/amSynth.info
index 1d8529034a..32345a6094 100644
--- a/audio/amSynth/amSynth.info
+++ b/audio/amSynth/amSynth.info
@@ -1,10 +1,10 @@
PRGNAM="amSynth"
-VERSION="1.6.3"
-HOMEPAGE="https://github.com/amsynth/amsynth/"
-DOWNLOAD="https://github.com/amsynth/amsynth/archive/release-1.6.3.tar.gz"
-MD5SUM="8d172ebd8a767fbb20d56931f259f846"
+VERSION="1.12.2"
+HOMEPAGE="https://amsynth.github.io/"
+DOWNLOAD="https://github.com/amsynth/amsynth/releases/download/release-1.12.2/amsynth-1.12.2.tar.gz"
+MD5SUM="b9cc26787e7c08b85814f0bc402225ba"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Christopher Forrest"
-EMAIL="nyrednek@gmx.com"
+MAINTAINER="Johannes Schoepfer"
+EMAIL="slackbuilds@schoepfer.info"
diff --git a/audio/amSynth/slack-desc b/audio/amSynth/slack-desc
index 532a30869a..07f53c1e24 100644
--- a/audio/amSynth/slack-desc
+++ b/audio/amSynth/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-amSynth: amSynth (Analogue Modeling SYNTHesizer)
-amSynth:
-amSynth: AMSynth provides virtual analogue synthesis in the style of the
-amSynth: classic Moog Minimoog/Roland Junos. It offers an easy-to-use
-amSynth: interface and synth engine, while still creating varied sounds.
-amSynth:
-amSynth:
-amSynth:
-amSynth:
+amSynth: amSynth (analogue modelling synthesizer)
amSynth:
+amSynth: It mimics the operation of early analog subtractive synthesizers.
+amSynth: The aim is to make it easy to create and modify sounds.
amSynth:
+amSynth: * Dual oscillators (sine/saw/square/noise) with hard sync
+amSynth: * 12/24 dB/oct resonant filter (low-pass/high-pass/band-pass/notch)
+amSynth: * Dual ADSR envelope generators (filter & amplitude)
+amSynth: * LFO which can modulate the oscillators, filter, and amplitude
+amSynth: * Distortion and reverb
+amSynth: * Hundreds of presets