summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--audio/jack_capture/README59
-rw-r--r--audio/jack_capture/doinst.sh6
-rw-r--r--audio/jack_capture/jack_capture.SlackBuild68
-rw-r--r--audio/jack_capture/jack_capture.info12
-rw-r--r--audio/jack_capture/setcap.sh1
-rw-r--r--audio/jack_capture/slack-desc10
6 files changed, 117 insertions, 39 deletions
diff --git a/audio/jack_capture/README b/audio/jack_capture/README
index c29ad28b0c..3ae29ea35c 100644
--- a/audio/jack_capture/README
+++ b/audio/jack_capture/README
@@ -1,8 +1,57 @@
-A handy audio recorder based on jack. Command line or GUI. Very low on
-resources. Able to write 256 channels to local hard drive (tested on
-iCore 7).
+jack_capture is a program for recording sound files with JACK.
-Meterbridge is a nice companion program (VU meters) unless you start
-the program from console.
+* Autogenerated filenames are unique and humanly readable.
+
+* The 4GB size barrier for wav files is handled by continuing
+ writing to new files when reaching 4GB.
+
+* Supports all soundfile formats supported by sndfile.
+ (wav, aiff, ogg, flac, wavex, au, etc.) (option: -f <format>)
+
+* Supports mp3 by using liblame. (option: -mp3)
+
+* Option for writing raw 16 bit data to stdout. (option: -ws)
+
+* Built-in console meter, plus option for automatically starting and stopping
+ the Meterbridge jack meter program. Port connections to Meterbridge
+ are done automatically, and on the fly, by jack_capture.
+
+* jack_capture can connect to any input or output jack port.
+
+ When "connecting" to a jack input port (i.e. a writable port), jack_capture
+ constantly monitors which jack ports which are connected
+ to that input port, and makes sure jack_capture is always
+ connected to the same ports.
+
+ In other words, jack_capture will reconnect its ports automatically during
+ recording to match the connections of the ports.
+ This is for instance convenient when recording the playback ports since
+ jack_capture can be started first, and then other programs can start
+ and stop at any moment while all sound still should be recorded.
+
+* No limit on the number of jack ports jack_capture can connect to.
+ (I.e. the --port argument can be specified more than once, plus that
+ it accepts wildcard arguments. For instance, jack_capture --port "*" will
+ connect to all current jack ports, both input and output ports, except
+ jack_capture's own ports.)
+
+* Buffers are automatically increased during runtime to prevent
+ underruns and to avoid wasting memory by preallocating too much.
+
+* The disk thread is automatically reniced to a higher priority when
+ using more than half of the buffer.
+
+* Significantly better recording performance than Ardour. (probably because
+ jack_capture writes all channels into only one file and that it is
+ not creating peak files). (tested on athlonXP)
+
+* No problem writing at least 256 channels of 32 bit wav at once to a
+ local hard drive. (tested on icore7)
Optional runtime dependencies are meterbridge and lame.
+
+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.
diff --git a/audio/jack_capture/doinst.sh b/audio/jack_capture/doinst.sh
index 5fb28930db..3e5691a052 100644
--- a/audio/jack_capture/doinst.sh
+++ b/audio/jack_capture/doinst.sh
@@ -1,3 +1,9 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
+
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
diff --git a/audio/jack_capture/jack_capture.SlackBuild b/audio/jack_capture/jack_capture.SlackBuild
index a572eba0f0..bd06474ddb 100644
--- a/audio/jack_capture/jack_capture.SlackBuild
+++ b/audio/jack_capture/jack_capture.SlackBuild
@@ -1,9 +1,32 @@
#!/bin/sh
-# Slackware build script for <jack_capture>
-# Written by Michales Michaloudes korgie@gmail.com
+
+# Slackware build script for "jack_capture".
+
+# Copyright -2015 Michales Michaloudes <korgie@gmail.com>
+# Copyright 2015 Marcel Saegebarth <marc@mos6581.de>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=jack_capture
-VERSION=${VERSION:-0.9.57}
+VERSION=${VERSION:-0.9.71}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -40,44 +63,43 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz || exit 1
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -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 {} \;
-
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# prefix correction
-sed -i -e 's+/usr/local+/usr+g' Makefile
-
-# compile flags correction
sed -i -e "s/OPTIMIZE=-O3.*/OPTIMIZE=${SLKCFLAGS}/g" Makefile
make
-make install DESTDIR=$PKG
+make install PREFIX=/usr 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
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cd $TMP/$PRGNAM-$VERSION/
-cp -a \
- COPYING README \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-# cp KDE desktop icon
mkdir -p $PKG/usr/share/applications
cat $CWD/${PRGNAM}_gui2.desktop > $PKG/usr/share/applications/${PRGNAM}_gui2.desktop
mkdir -p $PKG/usr/share/${PRGNAM}_gui2
-install -m0644 -oroot $CWD/$PRGNAM*.xpm $PKG/usr/share/${PRGNAM}_gui2/
+install -m 0644 $CWD/$PRGNAM*.xpm $PKG/usr/share/${PRGNAM}_gui2/
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a COPYING README TODO config $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
cat $CWD/doinst.sh > $PKG/install/doinst.sh
+# Only add capability stuff if not disabled:
+if [ "${SETCAP:-yes}" = "yes" ]; then
+ cat $CWD/setcap.sh >> $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/jack_capture/jack_capture.info b/audio/jack_capture/jack_capture.info
index d0d043fc15..e861fad479 100644
--- a/audio/jack_capture/jack_capture.info
+++ b/audio/jack_capture/jack_capture.info
@@ -1,10 +1,10 @@
PRGNAM="jack_capture"
-VERSION="0.9.57"
-HOMEPAGE="http://archive.notam02.no/arkiv/src/"
-DOWNLOAD="http://archive.notam02.no/arkiv/src/jack_capture-0.9.57.tar.gz"
-MD5SUM="c78ddb7d6b9f1bbef20f663d7c3f99a5"
+VERSION="0.9.71"
+HOMEPAGE="http://users.notam02.no/~kjetism/"
+DOWNLOAD="http://archive.notam02.no/arkiv/src/jack_capture-0.9.71.tar.gz"
+MD5SUM="9f5f39d2183c32a790612ca0257fdcc4"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="jack-audio-connection-kit"
-MAINTAINER="Michales Michaloudes"
-EMAIL="korgie@gmail.com"
+MAINTAINER="Marcel Saegebarth"
+EMAIL="marc@mos6581.de"
diff --git a/audio/jack_capture/setcap.sh b/audio/jack_capture/setcap.sh
new file mode 100644
index 0000000000..7125aaffbb
--- /dev/null
+++ b/audio/jack_capture/setcap.sh
@@ -0,0 +1 @@
+[ -x /sbin/setcap ] && /sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/jack_capture
diff --git a/audio/jack_capture/slack-desc b/audio/jack_capture/slack-desc
index 030efeee04..901c8f2f20 100644
--- a/audio/jack_capture/slack-desc
+++ b/audio/jack_capture/slack-desc
@@ -6,13 +6,13 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-jack_capture: jack_capture (jack-based audio recorder)
+jack_capture: jack_capture (JACK capture client)
+jack_capture:
+jack_capture: jack_capture is a program for recording sound files with JACK.
+jack_capture:
+jack_capture: Homepage: http://users.notam02.no/~kjetism/
jack_capture:
-jack_capture: jack_capture is a handy audio recorder based on jack. Command line or
-jack_capture: GUI, cery low on resources. Reported to write 256 channels to local
-jack_capture: hard drive (tested on iCore 7)
jack_capture:
-jack_capture: Meterbridge is a nice companion program.
jack_capture:
jack_capture:
jack_capture: